@charset "UTF-8";
html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit; }

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
a {
  background-color: transparent; }

a:active,
a:hover,
a:focus {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1, .block--office-how-to-find .pane-title {
  font-size: 2em;
  margin: 0.67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

h1, .block--office-how-to-find .pane-title, h2, h3, h4, h5, h6, p, li, a, blockquote, .richtext .quotes-lp, body.front .view-header .quotes-lp, ul, ol, dl, dd, dt {
  margin: 0;
  padding: 0; }

#skip-link {
  margin: 0;
  font-size: 0; }

.panels-flexible-region-new-center,
.panels-flexible-region-20-center {
  width: 100%; }

.geolocation-map {
  margin: 0; }

div.ctools-modal-content .form-item label {
  width: auto;
  float: inherit; }

div.ctools-modal-content {
  text-align: inherit; }

img.lazyloader-icon {
  top: 50%;
  left: 50%;
  height: auto !important;
  width: auto !important; }

.lang-rtl ul.menu li {
  margin: 0; }
  .lang-rtl ul.menu li.expanded, .lang-rtl ul.menu li.collapsed, .lang-rtl ul.menu li.leaf {
    padding: 0; }

.outer-grid-wrapper {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 479px) {
    .outer-grid-wrapper {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .outer-grid-wrapper {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .outer-grid-wrapper {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .outer-grid-wrapper {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .outer-grid-wrapper {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .outer-grid-wrapper {
      max-width: 100%;
      width: 1536px; } }

/*@mixin outer-grid-wrapper {
	max-width: 1152px;
	width: 100%;
	position: relative;
	margin: 0 auto;
	clear: both;
	overflow: hidden;
}

@mixin outer-grid-wrapper-gl {
	max-width: 1536px;
	width: 100%;
	position: relative;
	margin: 0 auto;
	clear: both;
	overflow: hidden;
}*/
@font-face {
  font-family: 'zbl_custom_iconfont';
  src: url("../fonts/zbl_custom_iconfont/zbl_custom_iconfont.eot?cx1ix4");
  src: url("../fonts/zbl_custom_iconfont/zbl_custom_iconfont.eot?#iefixcx1ix4") format("embedded-opentype"), url("../fonts/zbl_custom_iconfont/zbl_custom_iconfont.svg?cx1ix4#zbl_custom_iconfont") format("svg"), url("../fonts/zbl_custom_iconfont/zbl_custom_iconfont.woff?cx1ix4") format("woff"), url("../fonts/zbl_custom_iconfont/zbl_custom_iconfont.woff2?cx1ix4") format("woff2"), url("../fonts/zbl_custom_iconfont/zbl_custom_iconfont.ttf?cx1ix4") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

.zbl_custom_iconfont, #cboxPrevious::before, #cboxNext::before, .richtext blockquote::before, body.front .view-header blockquote::before, .richtext .quotes-lp::before, body.front .view-header .quotes-lp::before, .richtext blockquote::after, body.front .view-header blockquote::after, .richtext .quotes-lp::after, body.front .view-header .quotes-lp::after, .header .main-navigation .expanded .expanded > .menu__link::after,
.header > .menu .expanded .expanded > .menu__link::after, #burger::before, body:not(.landing-page) #header.mobile > .menu .expanded.closed > .menu__link::after, body:not(.landing-page) #header.mobile > .menu .expanded.opened > .menu__link::after, .currency-switcher:not(.footer)::before, .social .icon.facebook::before, .social .icon.twitter::before, .social .icon.google-plus::before, .social .icon.youtube::before, .social .icon.pinterest::before, .social .icon.linkedin::before, .rrssb-facebook a::before, .definition-title::after, .open .definition-title::after, .pane-ftp-list li.directory.open h3::after, .pane-ftp-list li.directory.closed h3::after, .sitemap-pg .expanded > .menu__link::after, .slick-prev::before, .slick-next::before {
  font-family: 'zbl_custom_iconfont';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.zbl_custom__icomoon_awesome_facebook:before, .social .icon.facebook::before, .rrssb-facebook a::before {
  content: "\f09a"; }

.zbl_custom__burger:before, #burger::before {
  content: "\f0c9"; }

.zbl_custom__euro:before {
  content: "\f153"; }

.zbl_custom__gbp:before {
  content: "\f154"; }

.zbl_custom__usd:before {
  content: "\f155"; }

.zbl_custom__yen:before {
  content: "\f157"; }

.zbl_custom__fotolia_23185483_telefon:before {
  content: "\e600"; }

.zbl_custom__fotolia_23185483_weltkugel:before {
  content: "\e601"; }

.zbl_custom__icomoon_awesome_angle-double-down:before {
  content: "\e602"; }

.zbl_custom__icomoon_awesome_angle-double-down2:before {
  content: "\e603"; }

.zbl_custom__icomoon_awesome_angle-double-left:before {
  content: "\e604"; }

.zbl_custom__icomoon_awesome_angle-double-left2:before {
  content: "\e605"; }

.zbl_custom__icomoon_awesome_angle-double-right:before {
  content: "\e606"; }

.zbl_custom__icomoon_awesome_angle-double-right2:before {
  content: "\e607"; }

.zbl_custom__icomoon_awesome_angle-double-up:before {
  content: "\e608"; }

.zbl_custom__icomoon_awesome_angle-double-up2:before {
  content: "\e609"; }

.zbl_custom__icomoon_awesome_angle-down:before, body:not(.landing-page) #header.mobile > .menu .expanded.opened > .menu__link::after, .currency-switcher:not(.footer)::before, .open .definition-title::after, .pane-ftp-list li.directory.open h3::after, .sitemap-pg .expanded > .menu__link::after {
  content: "\e60a"; }

.zbl_custom__icomoon_awesome_angle-left:before, #cboxPrevious::before, .slick-prev::before {
  content: "\e60b"; }

.zbl_custom__icomoon_awesome_angle-right:before, #cboxNext::before, .header .main-navigation .expanded .expanded > .menu__link::after,
.header > .menu .expanded .expanded > .menu__link::after, body:not(.landing-page) #header.mobile > .menu .expanded.closed > .menu__link::after, .definition-title::after, .pane-ftp-list li.directory.closed h3::after, .slick-next::before {
  content: "\e60c"; }

.zbl_custom__icomoon_awesome_google-plus:before, .social .icon.google-plus::before {
  content: "\e60d"; }

.zbl_custom__icomoon_awesome_linkedin:before, .social .icon.linkedin::before {
  content: "\e60e"; }

.zbl_custom__icomoon_awesome_pinterest:before, .social .icon.pinterest::before {
  content: "\e60f"; }

.zbl_custom__icomoon_awesome_twitter:before, .social .icon.twitter::before {
  content: "\e610"; }

.zbl_custom__icomoon_awesome_youtube:before, .social .icon.youtube::before {
  content: "\e611"; }

.zbl_custom__icomoon_brankic1979_cancel3:before {
  content: "\e612"; }

.zbl_custom__icomoon_brankic1979_checkmark3:before {
  content: "\e613"; }

.zbl_custom__icomoon_entypo_arrow-left6:before {
  content: "\e614"; }

.zbl_custom__icomoon_entypo_arrow-left7:before {
  content: "\e615"; }

.zbl_custom__icomoon_entypo_arrow-right6:before {
  content: "\e616"; }

.zbl_custom__icomoon_entypo_arrow-up7:before {
  content: "\e617"; }

.zbl_custom__icomoon_entypo_googleplus:before {
  content: "\e618"; }

.zbl_custom__icomoon_entypo_quote:before, .richtext blockquote::before, body.front .view-header blockquote::before, .richtext .quotes-lp::before, body.front .view-header .quotes-lp::before, .richtext blockquote::after, body.front .view-header blockquote::after, .richtext .quotes-lp::after, body.front .view-header .quotes-lp::after {
  content: "\e619"; }

.zbl_custom__icomoon_essentials_download:before {
  content: "\e61a"; }

@font-face {
  font-family: 'zbl_linear_iconfont';
  src: url("../fonts/zbl_linear_iconfont/zbl_linear_iconfont.eot?lscm9g");
  src: url("../fonts/zbl_linear_iconfont/zbl_linear_iconfont.eot?#iefixlscm9g") format("embedded-opentype"), url("../fonts/zbl_linear_iconfont/zbl_linear_iconfont.woff2?lscm9g") format("woff2"), url("../fonts/zbl_linear_iconfont/zbl_linear_iconfont.woff?lscm9g") format("woff"), url("../fonts/zbl_linear_iconfont/zbl_linear_iconfont.ttf?lscm9g") format("truetype"), url("../fonts/zbl_linear_iconfont/zbl_linear_iconfont.svg?lscm9g#zbl_linear_iconfont") format("svg");
  font-weight: normal;
  font-style: normal; }

.zbl_linear_iconfont, .property-teaser--large .open-close::before, .property-teaser--large .open-close.closed::before, .ctools-auto-submit-full-form .views-widget-filter-combine .form-type-textfield::after, .employee .phone::before, .employee .contact-information a::before, #property-filter-trigger a::before, .property-filter-overlay .close::before {
  font-family: 'zbl_linear_iconfont';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.zbl_linear__fotolia_67911170_09:before {
  content: "\e635"; }

.zbl_linear__fotolia_67911170_15:before, .employee .phone::before {
  content: "\e63b"; }

.zbl_linear__fotolia_62895431_15:before {
  content: "\e73a"; }

.zbl_linear__fotolia_61555446_02:before {
  content: "\e769"; }

.zbl_linear__fotolia_61555446_03:before {
  content: "\e76a"; }

.zbl_linear__fotolia_61555446_08:before {
  content: "\e76f"; }

.zbl_linear__fotolia_61555446_09:before {
  content: "\e770"; }

.zbl_linear__fotolia_61555183_01:before {
  content: "\e7a4"; }

.zbl_linear__fotolia_61555183_13:before {
  content: "\e7b0"; }

.zbl_linear__fotolia_61555183_15:before {
  content: "\e7b2"; }

.zbl_linear__fotolia_61554996_01:before {
  content: "\e7b3"; }

.zbl_linear__sharpnose_linear_custom_02:before, .property-teaser--large .open-close.closed::before {
  content: "\e7c3"; }

.zbl_linear__sharpnose_linear_custom_03:before {
  content: "\e7c4"; }

.zbl_linear__sharpnose_linear_custom_04:before {
  content: "\e7c5"; }

.zbl_linear__sharpnose_linear_custom_05:before, .property-teaser--large .open-close::before, .property-filter-overlay .close::before {
  content: "\e7c6"; }

.zbl_linear__sharpnose_linear_custom_08:before {
  content: "\e7c9"; }

.zbl_linear__sharpnose_linear_custom_09:before, .ctools-auto-submit-full-form .views-widget-filter-combine .form-type-textfield::after, #property-filter-trigger a::before {
  content: "\e7ca"; }

.zbl_linear__fotolia_61554992_05:before {
  content: "\e622"; }

.zbl_linear__fotolia_61554992_07:before {
  content: "\e624"; }

.zbl_linear__fotolia_61554992_13:before {
  content: "\e62a"; }

.zbl_linear__fotolia_61554992_14:before {
  content: "\e62b"; }

.zbl_linear__fotolia_62872451_10:before {
  content: "\e68e"; }

.zbl_linear__fotolia_62376089_03:before {
  content: "\e696"; }

.zbl_linear__fotolia_61555180_08:before {
  content: "\e6d7"; }

.zbl_linear__fotolia_61555176_10:before {
  content: "\e6f7"; }

.zbl_linear__fotolia_61555172_07:before {
  content: "\e722"; }

.zbl_linear__fotolia_61555172_09:before {
  content: "\e724"; }

.zbl_linear__fotolia_61555172_12:before {
  content: "\e727"; }

.zbl_linear__fotolia_61555006_04:before {
  content: "\e711"; }

.zbl_linear__fotolia_61555006_13:before {
  content: "\e71a"; }

.zbl_linear__fotolia_61555006_15:before, .employee .contact-information a::before {
  content: "\e70d"; }

.zbl_linear__fotolia_61554981_05:before {
  content: "\e6e3"; }

.zbl_linear__fotolia_61554981_07:before {
  content: "\e6e5"; }

.zbl_linear__fotolia_61554981_08:before {
  content: "\e6e6"; }

.zbl_linear__fotolia_61554981_09:before {
  content: "\e6e7"; }

.zbl_linear__fotolia_61554981_13:before {
  content: "\e6eb"; }

@font-face {
  font-family: "ITCFranklinGothic-DE";
  font-weight: 300;
  font-style: normal;
  src: url("../fonts/de/812924/ea409d88-af4e-4996-a959-8ad79279d5d6.eot?#iefix");
  src: url("../fonts/de/812924/ea409d88-af4e-4996-a959-8ad79279d5d6.eot?#iefix") format("eot"), url("../fonts/de/812924/927cdedd-ad1a-4880-bb18-0a87ce6d34e8.woff2") format("woff2"), url("../fonts/de/812924/be9d644e-881d-442f-930f-59c088a86753.woff") format("woff"), url("../fonts/de/812924/6b33705f-de45-4c7d-a41e-cdc7d4d818e0.ttf") format("truetype"), url("../fonts/de/812924/bc52e040-0508-4d95-bbfd-261dd943ba62.svg#bc52e040-0508-4d95-bbfd-261dd943ba62") format("svg");
  font-display: swap; }

@font-face {
  font-family: "ITCFranklinGothic-DE";
  font-weight: 300;
  font-style: italic;
  src: url("../fonts/de/812942/ad97cc88-5c90-426b-8a89-ba68f333dc07.eot?#iefix");
  src: url("../fonts/de/812942/ad97cc88-5c90-426b-8a89-ba68f333dc07.eot?#iefix") format("eot"), url("../fonts/de/812942/8e82b736-30d9-40bb-97e1-de273f690261.woff2") format("woff2"), url("../fonts/de/812942/3fb3b948-8018-42b9-b164-16e4b0e4914f.woff") format("woff"), url("../fonts/de/812942/c43aab58-3a95-4336-a050-e850cd98b460.ttf") format("truetype"), url("../fonts/de/812942/1bf8a075-8005-4d7b-8863-2546a241cedc.svg#1bf8a075-8005-4d7b-8863-2546a241cedc") format("svg");
  font-display: swap; }

@font-face {
  font-family: "ITCFranklinGothic-DE";
  font-weight: 500;
  font-style: normal;
  src: url("../fonts/de/812972/7745efd8-d203-4df8-b9be-eee8c80851e6.eot?#iefix");
  src: url("../fonts/de/812972/7745efd8-d203-4df8-b9be-eee8c80851e6.eot?#iefix") format("eot"), url("../fonts/de/812972/225d6837-49e0-40f2-802a-114552f2b6b1.woff2") format("woff2"), url("../fonts/de/812972/af312497-11c0-4e85-8ee4-5a83120194be.woff") format("woff"), url("../fonts/de/812972/48f6f00c-1835-49d7-aa63-c4d84d522a24.ttf") format("truetype"), url("../fonts/de/812972/cf4776a5-63c5-4245-8417-043e5f148a52.svg#cf4776a5-63c5-4245-8417-043e5f148a52") format("svg");
  font-display: swap; }

@font-face {
  font-family: "ITCFranklinGothic-DE";
  font-weight: 500;
  font-style: italic;
  src: url("../fonts/de/812981/bdd5afff-1541-4365-9a39-eaf9b675f80b.eot?#iefix");
  src: url("../fonts/de/812981/bdd5afff-1541-4365-9a39-eaf9b675f80b.eot?#iefix") format("eot"), url("../fonts/de/812981/f4f3f668-a925-4df0-a55e-b940b408b6ff.woff2") format("woff2"), url("../fonts/de/812981/1db7b3de-383c-4354-b59a-7a90ad99df9f.woff") format("woff"), url("../fonts/de/812981/33ab5ca1-3ac7-4586-a1d6-f971780420c1.ttf") format("truetype"), url("../fonts/de/812981/a2afcc0a-786a-4c33-9b7b-3b309ed2925d.svg#a2afcc0a-786a-4c33-9b7b-3b309ed2925d") format("svg");
  font-display: swap; }

@font-face {
  font-family: "ITCFranklinGothic-RU";
  font-weight: 300;
  font-style: normal;
  src: url("../fonts/ru/862339/f8079c8a-4001-4d1b-bbb8-e36ef6bedfee.eot?#iefix");
  src: url("../fonts/ru/862339/f8079c8a-4001-4d1b-bbb8-e36ef6bedfee.eot?#iefix") format("eot"), url("../fonts/ru/862339/2360f23d-c38f-4c5c-8466-062a1b132709.woff2") format("woff2"), url("../fonts/ru/862339/35d24b68-5d7d-47f1-93c6-2d9f361b3624.woff") format("woff"), url("../fonts/ru/862339/b31fd00b-9590-4536-9718-ca1fa9b4af5b.ttf") format("truetype"), url("../fonts/ru/862339/567e23ff-c3f0-47e0-9f10-c8b3daebac81.svg#567e23ff-c3f0-47e0-9f10-c8b3daebac81") format("svg");
  font-display: swap; }

@font-face {
  font-family: "ITCFranklinGothic-RU";
  font-weight: 300;
  font-style: italic;
  src: url("../fonts/ru/862357/ef183f58-cf49-4064-94d6-1ab87265f5d4.eot?#iefix");
  src: url("../fonts/ru/862357/ef183f58-cf49-4064-94d6-1ab87265f5d4.eot?#iefix") format("eot"), url("../fonts/ru/862357/f976d68c-af73-4991-bdbe-bb7720d25f53.woff2") format("woff2"), url("../fonts/ru/862357/33ae1e5f-fb5e-4be2-969b-2a8482a69113.woff") format("woff"), url("../fonts/ru/862357/f1243715-89f9-4fda-896f-3b5ed60a7285.ttf") format("truetype"), url("../fonts/ru/862357/d10f89ed-d8f9-44dc-addc-df3770ca9336.svg#d10f89ed-d8f9-44dc-addc-df3770ca9336") format("svg");
  font-display: swap; }

@font-face {
  font-family: "ITCFranklinGothic-RU";
  font-weight: 500;
  font-style: normal;
  src: url("../fonts/ru/862399/9e2ef49a-6f82-482c-b7ad-dd3455688c40.eot?#iefix");
  src: url("../fonts/ru/862399/9e2ef49a-6f82-482c-b7ad-dd3455688c40.eot?#iefix") format("eot"), url("../fonts/ru/862399/fbf1457b-5eab-461a-b243-8c1e790c15a7.woff2") format("woff2"), url("../fonts/ru/862399/de8c4c4f-417d-478c-8f88-6422f09187f8.woff") format("woff"), url("../fonts/ru/862399/b37a257e-372e-470f-9350-f7f4b995de91.ttf") format("truetype"), url("../fonts/ru/862399/b304315e-4ef2-4a5c-a70d-a423d95db8cc.svg#b304315e-4ef2-4a5c-a70d-a423d95db8cc") format("svg");
  font-display: swap; }

@font-face {
  font-family: "ITCFranklinGothic-RU";
  font-weight: 500;
  font-style: italic;
  src: url("../fonts/ru/862402/40cf14ae-ccdc-4d29-ae78-df2536744664.eot?#iefix");
  src: url("../fonts/ru/862402/40cf14ae-ccdc-4d29-ae78-df2536744664.eot?#iefix") format("eot"), url("../fonts/ru/862402/bf8c9eed-e8bb-42d8-9831-9d0632b5207d.woff2") format("woff2"), url("../fonts/ru/862402/a923b13a-71c6-4d4b-b0d0-180c104d0073.woff") format("woff"), url("../fonts/ru/862402/ee275326-6b49-413d-be90-78bc271458f1.ttf") format("truetype"), url("../fonts/ru/862402/488dc9fb-91c5-4044-a791-89868285411e.svg#488dc9fb-91c5-4044-a791-89868285411e") format("svg");
  font-display: swap; }

@font-face {
  font-family: "Source Sans Pro";
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/source_sans_pro/SourceSansPro-Semibold.otf") format("opentype");
  font-display: swap; }

@font-face {
  font-family: "Source Sans Pro";
  font-weight: 300;
  font-style: normal;
  src: url("../fonts/source_sans_pro/SourceSansPro-Light.otf") format("opentype");
  font-display: swap; }

@font-face {
  font-family: "Source Sans Pro";
  font-weight: 300;
  font-style: italic;
  src: url("../fonts/source_sans_pro/SourceSansPro-LightItalic.ttf") format("truetype");
  font-display: swap; }

@font-face {
  font-family: "Source Sans Pro";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/source_sans_pro/SourceSansPro-Regular.ttf") format("truetype");
  font-display: swap; }

@font-face {
  font-family: 'jll_handregular';
  src: url("../fonts/jll_hand/jll_hand-webfont.woff2") format("woff2"), url("../fonts/jll_hand/jll_hand-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

.full-size-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10; }

.centered-links {
  text-align: center;
  list-style: none;
  clear: both; }

.debug .debug--placeholder::after {
  background: linear-gradient(90deg, transparent -0.35%, red -0.35%, red 0.35%, transparent 0.35%, transparent 24.65%, #ddd 24.65%, #ddd 25.35%, transparent 25.35%, transparent 49.65%, #fbb 49.65%, #fbb 50.35%, transparent 50.35%, transparent 74.65%, #ddd 74.65%, #ddd 75.35%, transparent 75.35%, transparent 99.65%, red 99.65%, red 100.35%, transparent 100.35%), linear-gradient(90deg, #fff 0%, #fff 12.5%, #ddd 12.5%, #ddd 37.5%, #eee 37.5%, #eee 62.5%, #ddd 62.5%, #ddd 87.5%, #fff 87.5%);
  background-size: 100% 100%, 25% 100%;
  background-position: left top, left top;
  background-repeat: repeat, repeat; }
  @media (min-width: 480px) {
    .debug .debug--placeholder::after {
      background: linear-gradient(90deg, transparent -0.35%, red -0.35%, red 0.35%, transparent 0.35%, transparent 24.65%, #ddd 24.65%, #ddd 25.35%, transparent 25.35%, transparent 49.65%, #fbb 49.65%, #fbb 50.35%, transparent 50.35%, transparent 74.65%, #ddd 74.65%, #ddd 75.35%, transparent 75.35%, transparent 99.65%, red 99.65%, red 100.35%, transparent 100.35%), linear-gradient(90deg, #fff 0%, #fff 12.5%, #ddd 12.5%, #ddd 37.5%, #eee 37.5%, #eee 62.5%, #ddd 62.5%, #ddd 87.5%, #fff 87.5%);
      background-size: 50% 100%, 12.5% 100%;
      background-position: left top, left top;
      background-repeat: repeat, repeat; } }
  @media (min-width: 768px) {
    .debug .debug--placeholder::after {
      background: linear-gradient(90deg, transparent -0.35%, red -0.35%, red 0.35%, transparent 0.35%, transparent 24.65%, #ddd 24.65%, #ddd 25.35%, transparent 25.35%, transparent 49.65%, #fbb 49.65%, #fbb 50.35%, transparent 50.35%, transparent 74.65%, #ddd 74.65%, #ddd 75.35%, transparent 75.35%, transparent 99.65%, red 99.65%, red 100.35%, transparent 100.35%), linear-gradient(90deg, #fff 0%, #fff 12.5%, #ddd 12.5%, #ddd 37.5%, #eee 37.5%, #eee 62.5%, #ddd 62.5%, #ddd 87.5%, #fff 87.5%);
      background-size: 33.33333% 100%, 8.33333% 100%;
      background-position: left top, left top;
      background-repeat: repeat, repeat; } }
  @media (min-width: 1359px) {
    .debug .debug--placeholder::after {
      background: linear-gradient(90deg, transparent -0.35%, red -0.35%, red 0.35%, transparent 0.35%, transparent 24.65%, #ddd 24.65%, #ddd 25.35%, transparent 25.35%, transparent 49.65%, #fbb 49.65%, #fbb 50.35%, transparent 50.35%, transparent 74.65%, #ddd 74.65%, #ddd 75.35%, transparent 75.35%, transparent 99.65%, red 99.65%, red 100.35%, transparent 100.35%), linear-gradient(90deg, #fff 0%, #fff 12.5%, #ddd 12.5%, #ddd 37.5%, #eee 37.5%, #eee 62.5%, #ddd 62.5%, #ddd 87.5%, #fff 87.5%);
      background-size: 25% 100%, 6.25% 100%;
      background-position: left top, left top;
      background-repeat: repeat, repeat; } }

.debug-toggle-grid {
  position: fixed;
  display: block;
  width: 30px;
  height: 30px;
  border: 3px solid #fff;
  border-radius: 100%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  background: linear-gradient(90deg, #ccc 50%, #888 50%);
  z-index: 9999;
  opacity: .5;
  top: 5px;
  right: 5px;
  cursor: pointer; }
  .debug-toggle-grid:hover {
    opacity: 1; }
  .debug .debug-toggle-grid {
    background: linear-gradient(90deg, #ccc 50%, red 50%);
    opacity: 1; }

.debug body {
  min-height: 100%;
  height: auto; }

.debug .debug--placeholder {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  z-index: 9998;
  pointer-events: none;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0; }
  @media (min-width: 0px) and (max-width: 479px) {
    .debug .debug--placeholder {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .debug .debug--placeholder {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .debug .debug--placeholder {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .debug .debug--placeholder {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .debug .debug--placeholder {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .debug .debug--placeholder {
      max-width: 100%;
      width: 1536px; } }
  .debug .debug--placeholder::after {
    content: "";
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0; }

i.size-info {
  padding-right: 1em; }

.messages {
  max-width: 1536px;
  margin: 15px auto; }
  @media (min-width: 0px) and (max-width: 1551px) {
    .messages {
      margin-left: 15px;
      margin-right: 15px; } }

.messages.error {
  padding: 15px;
  background: #faeaea;
  color: #d13030;
  border: 1px solid #a60000;
  margin-bottom: 15px; }
  .messages.error ul {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 40px; }

[id*="webform-ajax-wrapper"] .messages.error {
  display: none; }

.footer [id*="webform-ajax-wrapper"] .webform-confirmation,
.footer [id*="webform-ajax-wrapper"] .links a {
  color: white; }

.file {
  margin: 1.5em 0;
  display: block; }
  .file a {
    color: inherit;
    text-decoration: none;
    display: inline;
    padding-bottom: 1px;
    border-bottom: 1px solid; }
    .file a:hover {
      color: #c4000b; }

.file-video {
  margin-top: 0;
  max-width: none;
  padding-left: calc(10% + 3.6rem);
  padding-right: calc(10% + 3.6rem); }
  .file-video .field-name-field-folder {
    display: none; }

.file-document .issuuembed {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 0px) and (max-width: 766px) {
    .file-document .issuuembed {
      height: auto !important; }
      .file-document .issuuembed > div > div:first-child {
        position: relative;
        padding-top: 56.25%;
        max-height: 710px; }
      .file-document .issuuembed object {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0; } }

.node.hide-scrolldown a.scroll-down {
  display: none; }

.node.view-mode-full .field-type-file {
  padding: 0 10% 40px; }
  @media (min-width: 0px) and (max-width: 1024px) {
    .node.view-mode-full .field-type-file {
      padding-left: 0;
      padding-right: 0; } }
  .node.view-mode-full .field-type-file:last-child {
    padding-bottom: 90px; }
  .node.view-mode-full .field-type-file .file {
    padding: 0 3.6rem; }

.webform-client-form a {
  color: inherit;
  text-decoration: none;
  padding-bottom: 1px;
  border-bottom: 1px solid; }
  .webform-client-form a:hover {
    color: #c4000b; }

div.slick {
  overflow: hidden; }
  div.slick div.media picture img {
    width: auto;
    height: 100%;
    min-width: 100%;
    display: block;
    object-fit: cover; }
    @media (min-width: 0px) and (max-width: 720px) {
      div.slick div.media picture img {
        width: 100%;
        min-height: 0; }
        .imageheader div.slick div.media picture img {
          width: auto;
          min-height: 100%; } }

@media (min-width: 0px) and (max-width: 766px) {
  .slick-dots {
    display: none !important; } }

#colorbox {
  background-color: white; }

.landing-page.lang-rtl #colorbox .zbl_page {
  direction: ltr !important; }

#cboxContent, .cboxPhoto {
  border-radius: 0; }

#cboxClose.cbox-close-plain {
  opacity: 1 !important;
  top: 15px;
  right: 25px;
  font-size: 0;
  line-height: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%; }
  .lang-rtl #cboxClose.cbox-close-plain {
    right: initial; }
  .lang-rtl #cboxClose.cbox-close-plain {
    left: 25px; }
  #cboxClose.cbox-close-plain:after, #cboxClose.cbox-close-plain:before {
    position: absolute;
    top: 7px;
    right: 7px;
    bottom: 0;
    left: 50%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    height: 21px;
    width: 2px;
    background: #ddd;
    content: '';
    display: block;
    margin: -3px 0 0 -1px; }
    .lang-rtl #cboxClose.cbox-close-plain:after, .lang-rtl #cboxClose.cbox-close-plain:before {
      top: 7px; }
    .lang-rtl #cboxClose.cbox-close-plain:after, .lang-rtl #cboxClose.cbox-close-plain:before {
      right: 13px; }
  #cboxClose.cbox-close-plain:before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  #cboxClose.cbox-close-plain:hover:after, #cboxClose.cbox-close-plain:hover:before {
    background: #c4c4c4; }

.selectric {
  border: 1px solid #6c7678; }

.selectric-button {
  font-size: 0;
  line-height: 0; }

.selectric-button:before {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -6px 0 0 -3px;
  content: "\e60a";
  line-height: 1 !important;
  font-size: 13px !important;
  vertical-align: middle !important;
  font-family: 'zbl_custom_iconfont';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: none !important;
  color: inherit; }

.selectric-button:after {
  content: none !important; }

.selectric-required .label:after {
  content: '*';
  margin-left: 5px; }

.richtext a.content-logo-link, body.front .view-header a.content-logo-link {
  border: none;
  max-width: 260px;
  display: inline-block;
  margin: 0 auto 30px; }
  .richtext a.content-logo-link .content-logo, body.front .view-header a.content-logo-link .content-logo {
    margin-bottom: 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .richtext a.content-logo-link, body.front .view-header a.content-logo-link {
      display: block; } }

.content-logo {
  display: block;
  max-width: 260px;
  margin: 0 auto 30px; }

.phone-number {
  display: inline-block; }

div.contextual-links-wrapper {
  font-size: 2rem; }

.debug-toggle-grid {
  display: none; }

#cboxNext,
#cboxPrevious {
  position: absolute;
  z-index: 7;
  display: block;
  height: 50px;
  width: 50px;
  line-height: 0px;
  font-size: 0px;
  text-align: center;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  padding: 0;
  border: none;
  outline: none;
  opacity: .8; }
  .zbl-section-fh #cboxNext, .zbl-section-fh
  #cboxPrevious {
    background: rgba(0, 0, 0, 0.7); }
  .zbl-section-ci #cboxNext, .zbl-section-ci
  #cboxPrevious {
    background: rgba(255, 255, 255, 0.8); }
  .zbl-section-pg #cboxNext, .zbl-section-pg
  #cboxPrevious {
    background: rgba(1, 27, 52, 0.8); }
  #cboxNext:hover, #cboxNext:focus,
  #cboxPrevious:hover,
  #cboxPrevious:focus {
    outline: none;
    color: transparent; }
    #cboxNext:hover:before, #cboxNext:focus:before,
    #cboxPrevious:hover:before,
    #cboxPrevious:focus:before {
      opacity: 1; }

#cboxPrevious:before, #cboxNext:before {
  font-size: 50px;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .zbl-section-fh #cboxPrevious:before, .zbl-section-fh #cboxNext:before {
    color: white; }
  .zbl-section-ci #cboxPrevious:before, .zbl-section-ci #cboxNext:before {
    color: #333333; }
  .zbl-section-pg #cboxPrevious:before, .zbl-section-pg #cboxNext:before {
    color: white; }

#cboxPrevious {
  padding-right: 5px;
  left: 0; }

#cboxNext {
  padding-left: 5px;
  right: 0; }

#cboxLoadedContent .content-block.richtext h3, #cboxLoadedContent body.front .content-block.view-header h3, body.front #cboxLoadedContent .content-block.view-header h3 {
  margin-top: 1px; }

.l-header-wrapper {
  clear: both; }

.l-content-row {
  clear: both;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: none;
  -ms-hyphens: auto; }
  body.logged-in:not(.front) .l-content-row {
    padding-top: 70px; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.logged-in .l-content-row {
      padding-top: 138px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .l-content-row {
      padding-top: 70px; }
      body.logged-in .l-content-row {
        padding-top: 145px; }
      body.logged-in.front .l-content-row {
        padding-top: 295px; } }
  @media screen and (max-width: 600px) {
    body.logged-in.front .l-content-row {
      padding-top: 228px; } }
  @media screen and (max-width: 380px) {
    body.logged-in.front .l-content-row {
      padding-top: 225px; } }

.stuck {
  position: fixed;
  z-index: 15;
  top: 0;
  width: 100%; }

.section-item {
  background-color: white; }
  .section-item.bg-location {
    background-color: transparent; }

.paragraphs-items .entity.first h1:first-child, .paragraphs-items .entity.first .block--office-how-to-find .pane-title:first-child, .block--office-how-to-find .paragraphs-items .entity.first .pane-title:first-child, .paragraphs-items .entity.first h2:first-child, .paragraphs-items .entity.first h3:first-child, .paragraphs-items .entity.first h4:first-child, .paragraphs-items .entity.first h5:first-child, .paragraphs-items .entity.first h6:first-child {
  margin-top: 0; }

.paragraphs-items .entity.last {
  padding-bottom: 80px; }

.paragraphs-items .entity.paragraphs-item-zbl-background-text-right, .paragraphs-items .entity.paragraphs-item-zbl-background-text-left {
  padding-bottom: 0; }

.pane-zbl-properties-pane-unpromoted .section-item,
.overview-page .section-item {
  background-color: transparent; }

.section-add-padding-left-right {
  padding-left: 10%;
  padding-right: 10%; }
  @media (min-width: 0px) and (max-width: 1024px) {
    .section-add-padding-left-right {
      padding-left: 0;
      padding-right: 0; } }

.read-more {
  width: 100%;
  margin-top: 30px;
  padding: 0; }
  .read-more a {
    display: block; }

.l-full .section-item {
  width: 100%; }

.html .l-content .pane-node-field-zbl-s-header + .pane-node-field-zbl-s-section {
  margin-top: 40px; }

.html .l-content .section-item {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 479px) {
    .html .l-content .section-item {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .html .l-content .section-item {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .html .l-content .section-item {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .html .l-content .section-item {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .html .l-content .section-item {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .html .l-content .section-item {
      max-width: 100%;
      width: 1536px; } }
  .html .l-content .section-item.property-detail {
    margin-top: 40px; }
    @media (min-width: 0) and (max-width: 1023px) {
      .html .l-content .section-item.property-detail {
        margin-bottom: 0;
        margin-top: 0; } }

.html .l-content .view-mode-full .section-content-item .heading,
.html .l-content .view-mode-full .section-content-item .content,
.html .l-content .view-mode-full .section-content-item .section-content-item,
.html .l-content .view-mode-full .section-content-item .case-study-info {
  padding-left: 10%;
  padding-right: 10%; }
  @media (min-width: 0px) and (max-width: 1358px) {
    .html .l-content .view-mode-full .section-content-item .heading,
    .html .l-content .view-mode-full .section-content-item .content,
    .html .l-content .view-mode-full .section-content-item .section-content-item,
    .html .l-content .view-mode-full .section-content-item .case-study-info {
      padding-left: 0;
      padding-right: 0; } }

.html .l-content .view-mode-full .section-content-item + .ds-ds-content .entity.first:not(.background-image) .section-content-item {
  padding-top: 0; }

.html .l-content .view-mode-full .ds-ds-content .paragraphs-items .section-content-item {
  height: 100%;
  padding-left: 10%;
  padding-right: 10%; }
  @media (min-width: 0px) and (max-width: 1024px) {
    .html .l-content .view-mode-full .ds-ds-content .paragraphs-items .section-content-item {
      padding-left: 0;
      padding-right: 0; } }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .section-content-item,
.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .section-content-item {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center; }
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .section-content-item::after,
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .section-content-item::after {
    content: "";
    display: table;
    clear: both; }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .l-indent,
.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .l-indent {
  width: 50%; }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .l-half-text-left,
.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .l-half-text-right,
.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .l-half-text-left,
.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .l-half-text-right {
  width: 100%; }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .second-image,
.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .second-image {
  width: 50%;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  text-align: center; }
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .second-image img,
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .second-image img {
    max-width: 100%;
    width: auto;
    height: auto;
    display: block !important;
    margin-left: auto;
    margin-right: auto; }

@media (min-width: 0px) and (max-width: 766px) {
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .l-indent,
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .l-indent {
    float: none;
    width: 100%;
    margin-bottom: 20px; }
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .second-image,
  .html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .second-image {
    display: none !important; } }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .l-indent {
  float: left; }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-left .second-image {
  float: right; }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .l-indent {
  float: right; }

.html .l-content .view-mode-full .paragraphs-item-zbl-background-text-right .second-image {
  float: left; }

.html .l-content .overview-page .section-item {
  width: 100%; }

.html .l-content .fullscreen .section-item,
.html .l-content .fullscreen .view-content {
  max-width: 100%;
  width: 100%;
  position: relative;
  margin: inherit;
  clear: both;
  overflow: inherit;
  margin-top: 0;
  margin-bottom: 0; }

.node.view-mode-full > .section-item {
  margin-top: 40px;
  margin-bottom: 40px; }
  .contact .node.view-mode-full > .section-item {
    margin-top: 0;
    margin-bottom: 0; }
  @media (max-width: 1024px) {
    .node.view-mode-full > .section-item {
      margin-top: 0;
      margin-bottom: 0; } }
  .node.view-mode-full > .section-item.entity {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -o-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: start;
    margin: 0;
    min-height: 685px; }
    .node.view-mode-full > .section-item.entity .section-content-item {
      -webkit-box-flex: 1;
      -moz-box-flex: 1;
      box-flex: 1;
      -webkit-flex: 1;
      -moz-flex: 1;
      -ms-flex: 1;
      flex: 1;
      -webkit-align-self: center;
      -moz-align-self: center;
      align-self: center;
      -ms-flex-item-align: center; }
    @media (max-width: 768px) {
      .node.view-mode-full > .section-item.entity {
        min-height: 0; } }
    .node.view-mode-full > .section-item.entity .button {
      width: 100%; }

.node.view-mode-full .paragraphs-items:last-child.richtext:last-of-type, .node.view-mode-full body.front .paragraphs-items.view-header:last-child:last-of-type, body.front .node.view-mode-full .paragraphs-items.view-header:last-child:last-of-type {
  padding-bottom: 90px; }

.node-type-zbl-page.sitemap .section-item,
.contact-page .section-item {
  margin-top: 0;
  margin-bottom: 0; }

.overview-page .section-content-item {
  background-color: white; }

.section-content-item,
.office-header .ds-ds-content {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 479px) {
    .section-content-item,
    .office-header .ds-ds-content {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .section-content-item,
    .office-header .ds-ds-content {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .section-content-item,
    .office-header .ds-ds-content {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .section-content-item,
    .office-header .ds-ds-content {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .section-content-item,
    .office-header .ds-ds-content {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .section-content-item,
    .office-header .ds-ds-content {
      max-width: 100%;
      width: 1536px; } }

.paragraphs-item-zbl-content-media .ds-ds-media,
.paragraphs-item-zbl-lp-titles-media-full .ds-ds-media {
  text-align: center; }
  .paragraphs-item-zbl-content-media .ds-ds-media img,
  .paragraphs-item-zbl-lp-titles-media-full .ds-ds-media img {
    display: block !important;
    width: 100%;
    margin: 28px 0; }

@media (min-width: 1359px) {
  .l-indent::after {
    content: "";
    display: table;
    clear: both; } }

.section-item.section-theme-light .richtext, .section-item.section-theme-light body.front .view-header, body.front .section-item.section-theme-light .view-header,
.section-item.section-theme-light .richtext p,
.section-item.section-theme-light body.front .view-header p, body.front
.section-item.section-theme-light .view-header p,
.section-item.section-theme-light .richtext h1,
.section-item.section-theme-light body.front .view-header h1, body.front
.section-item.section-theme-light .view-header h1,
.section-item.section-theme-light .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find
.section-item.section-theme-light .richtext .pane-title,
.section-item.section-theme-light body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find
.section-item.section-theme-light body.front .view-header .pane-title, body.front
.section-item.section-theme-light .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front
.section-item.section-theme-light .view-header .pane-title, .section-item.section-theme-light .richtext h2, .section-item.section-theme-light body.front .view-header h2, body.front .section-item.section-theme-light .view-header h2, .section-item.section-theme-light .richtext h3, .section-item.section-theme-light body.front .view-header h3, body.front .section-item.section-theme-light .view-header h3, .section-item.section-theme-light .richtext h4, .section-item.section-theme-light body.front .view-header h4, body.front .section-item.section-theme-light .view-header h4, .section-item.section-theme-light .richtext h5, .section-item.section-theme-light body.front .view-header h5, body.front .section-item.section-theme-light .view-header h5, .section-item.section-theme-light .richtext h6, .section-item.section-theme-light body.front .view-header h6, body.front .section-item.section-theme-light .view-header h6 {
  color: white; }

.section-item.section-theme-dark .richtext, .section-item.section-theme-dark body.front .view-header, body.front .section-item.section-theme-dark .view-header,
.section-item.section-theme-dark .richtext p,
.section-item.section-theme-dark body.front .view-header p, body.front
.section-item.section-theme-dark .view-header p,
.section-item.section-theme-dark .richtext h1,
.section-item.section-theme-dark body.front .view-header h1, body.front
.section-item.section-theme-dark .view-header h1,
.section-item.section-theme-dark .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find
.section-item.section-theme-dark .richtext .pane-title,
.section-item.section-theme-dark body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find
.section-item.section-theme-dark body.front .view-header .pane-title, body.front
.section-item.section-theme-dark .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front
.section-item.section-theme-dark .view-header .pane-title, .section-item.section-theme-dark .richtext h2, .section-item.section-theme-dark body.front .view-header h2, body.front .section-item.section-theme-dark .view-header h2, .section-item.section-theme-dark .richtext h3, .section-item.section-theme-dark body.front .view-header h3, body.front .section-item.section-theme-dark .view-header h3, .section-item.section-theme-dark .richtext h4, .section-item.section-theme-dark body.front .view-header h4, body.front .section-item.section-theme-dark .view-header h4, .section-item.section-theme-dark .richtext h5, .section-item.section-theme-dark body.front .view-header h5, body.front .section-item.section-theme-dark .view-header h5, .section-item.section-theme-dark .richtext h6, .section-item.section-theme-dark body.front .view-header h6, body.front .section-item.section-theme-dark .view-header h6 {
  color: #333333; }

.entity-paragraphs-item.section-theme-light {
  color: white !important; }
  .entity-paragraphs-item.section-theme-light .richtext, .entity-paragraphs-item.section-theme-light body.front .view-header, body.front .entity-paragraphs-item.section-theme-light .view-header,
  .entity-paragraphs-item.section-theme-light p,
  .entity-paragraphs-item.section-theme-light h1,
  .entity-paragraphs-item.section-theme-light .block--office-how-to-find .pane-title, .block--office-how-to-find
  .entity-paragraphs-item.section-theme-light .pane-title, .entity-paragraphs-item.section-theme-light h2, .entity-paragraphs-item.section-theme-light h3, .entity-paragraphs-item.section-theme-light h4, .entity-paragraphs-item.section-theme-light h5, .entity-paragraphs-item.section-theme-light h6 {
    color: white !important; }
  .entity-paragraphs-item.section-theme-light .heading {
    color: white !important; }
    .entity-paragraphs-item.section-theme-light .heading h2 {
      color: white !important; }
      .entity-paragraphs-item.section-theme-light .heading h2 span {
        color: white !important; }
      .entity-paragraphs-item.section-theme-light .heading h2:after {
        color: white !important;
        background: white !important; }

.entity-paragraphs-item.section-theme-dark {
  color: #333333 !important; }
  .entity-paragraphs-item.section-theme-dark .richtext, .entity-paragraphs-item.section-theme-dark body.front .view-header, body.front .entity-paragraphs-item.section-theme-dark .view-header,
  .entity-paragraphs-item.section-theme-dark p,
  .entity-paragraphs-item.section-theme-dark h1,
  .entity-paragraphs-item.section-theme-dark .block--office-how-to-find .pane-title, .block--office-how-to-find
  .entity-paragraphs-item.section-theme-dark .pane-title, .entity-paragraphs-item.section-theme-dark h2, .entity-paragraphs-item.section-theme-dark h3, .entity-paragraphs-item.section-theme-dark h4, .entity-paragraphs-item.section-theme-dark h5, .entity-paragraphs-item.section-theme-dark h6 {
    color: #333333 !important; }
  .entity-paragraphs-item.section-theme-dark .heading {
    color: #13375b !important; }
    .entity-paragraphs-item.section-theme-dark .heading h2 {
      color: #13375b !important; }
      .entity-paragraphs-item.section-theme-dark .heading h2 span {
        color: #13375b !important; }
      .entity-paragraphs-item.section-theme-dark .heading h2:after {
        color: #13375b !important;
        background: #13375b !important; }

@media (min-width: 0px) and (max-width: 479px) {
  .section-content-margin-top-none {
    padding-top: 0px; }
  .section-content-margin-top-small {
    padding-top: 8px; }
  .section-content-margin-top-medium {
    padding-top: 25.6px; }
  .section-content-margin-top-large {
    padding-top: 32px; }
  .section-content-margin-bottom-none {
    padding-bottom: 0px; }
  .section-content-margin-bottom-small {
    padding-bottom: 8px; }
  .section-content-margin-bottom-medium {
    padding-bottom: 25.6px; }
  .section-content-margin-bottom-large {
    padding-bottom: 32px; } }

@media (min-width: 480px) and (max-width: 766px) {
  .section-content-margin-top-none {
    padding-top: 0px; }
  .section-content-margin-top-small {
    padding-top: 12px; }
  .section-content-margin-top-medium {
    padding-top: 38.4px; }
  .section-content-margin-top-large {
    padding-top: 48px; }
  .section-content-margin-bottom-none {
    padding-bottom: 0px; }
  .section-content-margin-bottom-small {
    padding-bottom: 12px; }
  .section-content-margin-bottom-medium {
    padding-bottom: 38.4px; }
  .section-content-margin-bottom-large {
    padding-bottom: 48px; } }

@media (min-width: 768px) and (max-width: 1358px) {
  .section-content-margin-top-none {
    padding-top: 0px; }
  .section-content-margin-top-small {
    padding-top: 16px; }
  .section-content-margin-top-medium {
    padding-top: 51.2px; }
  .section-content-margin-top-large {
    padding-top: 64px; }
  .section-content-margin-bottom-none {
    padding-bottom: 0px; }
  .section-content-margin-bottom-small {
    padding-bottom: 16px; }
  .section-content-margin-bottom-medium {
    padding-bottom: 51.2px; }
  .section-content-margin-bottom-large {
    padding-bottom: 64px; } }

@media (min-width: 1359px) {
  .section-content-margin-top-none {
    padding-top: 0px; }
  .section-content-margin-top-small {
    padding-top: 20px; }
  .section-content-margin-top-medium {
    padding-top: 64px; }
  .section-content-margin-top-large {
    padding-top: 80px; }
  .section-content-margin-bottom-none {
    padding-bottom: 0px; }
  .section-content-margin-bottom-small {
    padding-bottom: 20px; }
  .section-content-margin-bottom-medium {
    padding-bottom: 64px; }
  .section-content-margin-bottom-large {
    padding-bottom: 80px; } }

.small-setcard-list-wrapper {
  width: 100%;
  display: inline-block;
  vertical-align: top;
  text-align: center;
  font-size: 0; }
  .small-setcard-list-wrapper .modal {
    font-size: 16px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .small-setcard-list-wrapper .small-setcard {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 1.2rem;
      padding-right: 1.2rem; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .small-setcard-list-wrapper .small-setcard {
      width: 50%;
      clear: right;
      float: left;
      padding-left: 1.2rem;
      padding-right: 1.2rem; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .small-setcard-list-wrapper .small-setcard {
      width: 33.33333%;
      clear: right;
      float: left;
      padding-left: 1.2rem;
      padding-right: 1.2rem; } }
  @media (min-width: 1359px) {
    .small-setcard-list-wrapper .small-setcard {
      width: 25%;
      clear: right;
      float: left;
      padding-left: 1.2rem;
      padding-right: 1.2rem; } }
  @media (min-width: 0px) {
    .small-setcard-list-wrapper .small-setcard {
      display: inline-block;
      vertical-align: top;
      float: none;
      clear: none; } }

.l-media {
  position: relative; }
  @media (min-width: 0px) and (max-width: 479px) {
    .l-media {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .l-media {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .l-media {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 1359px) {
    .l-media {
      width: 75%;
      float: left;
      margin-right: -100%;
      margin-left: 12.5%;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }

.l-media img {
  max-width: 100%;
  height: auto;
  display: block; }

.l-media iframe {
  max-width: 100%;
  display: block; }

.l-media .scald-gallery {
  max-width: 100%; }

.l-text {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 3.6rem;
  padding-right: 3.6rem; }

/*doc
---
title: Media Full Width
name: Medium volle Breite
category: Paragraphs-Layouts
---

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class='l-media'>
      <img src="demo-images/bacon.jpg" alt="bacon" title="Bacon!"></img>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Text Full Width
name: Text volle Breite
category: Paragraphs-Layouts
---

Beschreibung: Text, der über die volle Breite läuft.

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class='l-text richtext'>
      <h3>Dies ist eine Headline mit Auszeichnung H3</h3>
      <p>Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
      Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec
      vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
      Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales,
      augue velit cursus nunc</p>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Text Heading
name: Text Überschriften Block
category: Paragraphs-Layouts
---

Beschreibung: H1 und Subline -> Diese "Komponente" stellt ledigliche eine Kombination aus richtext und
dem l-full-text layout-wrapper dar.

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class='l-text richtext'>
      <h1>
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor
        <span>
          Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis,
          ultricies nec, pellentesque eu, pretium quis, sem.
        </span>
      </h1>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Text Quote
name: Text Zitet
category: Paragraphs-Layouts
---

Beschreibung: Ein Zitat, dass aus dem CKEditor kommt.

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class='l-text richtext'>
      <blockquote>Noch zu erledigen...</blockquote>
    </div>
  </div>
</div>
```
*/
.gl-l-half-media-left,
.gl-l-half-media-right {
  max-width: 50%;
  margin-top: 0.45em; }
  @media (min-width: 0px) and (max-width: 766px) {
    .gl-l-half-media-left,
    .gl-l-half-media-right {
      max-width: none;
      width: 100%;
      text-align: center; } }

.gl-l-half-media-left {
  float: left;
  padding: 0 30px 14px 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .gl-l-half-media-left {
      padding: 0 0 14px 0;
      float: none; } }

.gl-l-half-media-right {
  float: right;
  padding: 0 0 14px 30px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .gl-l-half-media-right {
      padding: 0 0 14px 0;
      float: none; } }

.gl-l-half-content {
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 1358px) {
    .gl-l-half-content {
      overflow: visible; } }
  @media (min-width: 0) and (max-width: 766px) {
    .gl-l-half-content {
      clear: both; } }
  .gl-l-half-content h1, .gl-l-half-content .block--office-how-to-find .pane-title, .block--office-how-to-find .gl-l-half-content .pane-title {
    overflow: hidden; }
    @media (min-width: 0) and (max-width: 766px) {
      .gl-l-half-content h1, .gl-l-half-content .block--office-how-to-find .pane-title, .block--office-how-to-find .gl-l-half-content .pane-title {
        overflow: visible; } }

.l-text img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  margin: 0 0 10px; }

@media (min-width: 0px) and (max-width: 766px) {
  .l-half-text-left {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 768px) and (max-width: 1358px) {
  .l-half-text-left {
    width: 50%;
    float: left;
    margin-right: -100%;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 1359px) {
  .l-half-text-left {
    width: 50%;
    float: left;
    margin-right: -100%;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 0px) and (max-width: 766px) {
  .l-half-text-right {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 768px) and (max-width: 1358px) {
  .l-half-text-right {
    width: 50%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 1359px) {
  .l-half-text-right {
    width: 50%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 0px) and (max-width: 766px) {
  .l-half-media-left + .l-half-text-right,
  .l-half-text-left + .l-half-text-right {
    margin-top: 40px; } }

.l-bottom {
  clear: both; }

@media (min-width: 0px) and (max-width: 766px) {
  .l-bottom-half-text-right {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 768px) and (max-width: 1358px) {
  .l-bottom-half-text-right {
    width: 50%;
    float: left;
    margin-right: -100%;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 1359px) {
  .l-bottom-half-text-right {
    width: 50%;
    float: left;
    margin-right: -100%;
    clear: none;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

/*doc
---
title: Media + Media
name: Media halbe Breite + Media halbe Breite
category: Paragraphs-Layouts
---

Beschreibung: 2x Medium

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent richtext">
      <div class='l-half-media-left'>
        <img src="demo-images/bacon.jpg" alt="bacon" title="Bacon!"></img>
      </div>
      <div class='l-half-media-right'>
        <img src="demo-images/bacon.jpg" alt="bacon" title="Bacon!"></img>
      </div>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Media + Nothing
name: Media halbe Breite + Nichts
category: Paragraphs-Layouts
---

Beschreibung: 1x Medium links positioniert

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent">
      <div class='l-half-media-left'>
        <img src="demo-images/bacon.jpg" alt="bacon" title="Bacon!"></img>
      </div>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Media + Text
name: Media halbe Breite + Text halbe Breite
category: Paragraphs-Layouts
---

Beschreibung: 1x Medium, 1x Text

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent richtext">
      <div class='l-half-media-left'>
        <img src="demo-images/bacon.jpg" alt="bacon" title="Bacon!"></img>
      </div>
      <div class='l-half-text-right'>
        <h3>Hier steht eine H3</h3>
        <p>Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
        Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec
        vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
        Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales,
        augue velit cursus nunc</p>
      </div>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Nothing + Media
name: Nichts + Media halbe Breite
category: Paragraphs-Layouts
---

Beschreibung: 1x Medium rechts positioniert

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent">
      <div class='l-half-media-right'>
        <img src="demo-images/bacon.jpg" alt="bacon" title="Bacon!"></img>
      </div>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Nothing + Text
name: Nichts + Text halbe Breite
category: Paragraphs-Layouts
---

Beschreibung: 1x Text rechts positioniert

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent richtext">
      <div class='l-half-text-right'>
        <h3>Hier steht eine H3</h3>
        <p>Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
        Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec
        vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
        Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales,
        augue velit cursus nunc</p>
      </div>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Text + Media
name: Text halbe Breite + Medium halbe Breite
category: Paragraphs-Layouts
---

Beschreibung: 1x Text, 1x Medium

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent richtext">
      <div class='l-half-text-left'>
        <h3>Hier steht eine H3</h3>
        <p>Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
        Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec
        vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
        Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales,
        augue velit cursus nunc</p>
      </div>
      <div class='l-half-media-right'>
        <img src="demo-images/bacon.jpg" alt="bacon" title="Bacon!"></img>
      </div>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Text + Nothing
name: Text halbe Breite + Nichts
category: Paragraphs-Layouts
---

Beschreibung: 1x Text links positioniert

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent richtext">
      <div class='l-half-text-left'>
        <h2>Hier steht eine H2</h2>
        <p>Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
        Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec
        vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
        Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales,
        augue velit cursus nunc</p>
      </div>
    </div>
  </div>
</div>
```
*/
/*doc
---
title: Text + Text
name: Text halbe Breite + Text halbe Breite
category: Paragraphs-Layouts
---

Beschreibung: 2x Text

```html_example
<div class="l-content">
  <div class="section-content-item">
    <div class="l-indent richtext">
      <div class='l-half-text-left'>
        <h2>Hier steht eine H2</h2>
        <p>Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
        Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec
        vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
        Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales,
        augue velit cursus nunc</p>
      </div>
      <div class='l-half-text-right'>
        <h3>Hier steht eine H3</h3>
        <p>Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
        Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec
        vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
        Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales,
        augue velit cursus nunc</p>
      </div>
    </div>
  </div>
</div>
```
*/
@media (min-width: 240px) {
  html {
    font-size: 6.25px; } }

@media (min-width: 320px) {
  html {
    font-size: 8.33333px; } }

@media (min-width: 400px) {
  html {
    font-size: 10.41667px; } }

@media (min-width: 479px) {
  html {
    font-size: 12.47396px; } }

@media (min-width: 480px) {
  html {
    font-size: 6.25px; } }

@media (min-width: 576px) {
  html {
    font-size: 7.5px; } }

@media (min-width: 672px) {
  html {
    font-size: 8.75px; } }

@media (min-width: 767px) {
  html {
    font-size: 9.98698px; } }

@media (min-width: 768px) {
  html {
    font-size: 6.66667px; } }

@media (min-width: 895px) {
  html {
    font-size: 7.7691px; } }

@media (min-width: 1023px) {
  html {
    font-size: 8.88021px; } }

@media (min-width: 1167px) {
  html {
    font-size: 10.13021px; } }

@media (min-width: 1359px) {
  html {
    font-size: 8.84766px; } }

@media (min-width: 1551px) {
  html {
    font-size: 10.09766px; } }

body {
  width: 100%;
  height: 100%;
  position: relative;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: none;
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
  background-color: #d4d2d2; }

body.mobile-nav-open {
  /* position: fixed !important;
  top: 0 !important;
  overflow: hidden !important; */ }

body.ctools-modal-open {
  overflow: hidden; }

body.lang-rtl {
  direction: rtl; }

.richtext, body.front .view-header {
  line-height: 1.75; }
  .richtext h1, body.front .view-header h1, .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find .richtext .pane-title, body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .view-header .pane-title {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 50px;
    line-height: 1.2;
    color: #13375b;
    padding-left: 3.6rem;
    padding-right: 3.6rem;
    text-align: center;
    position: relative;
    padding-bottom: 34px;
    margin-bottom: 60px;
    overflow: hidden; }
    @media (min-width: 0px) and (max-width: 766px) {
      .richtext h1, body.front .view-header h1, .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find .richtext .pane-title, body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .view-header .pane-title {
        font-size: 30px; } }
    @media (min-width: 0) and (max-width: 766px) {
      .richtext h1, body.front .view-header h1, .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find .richtext .pane-title, body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .view-header .pane-title {
        overflow: visible; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .richtext h1, body.front .view-header h1, .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find .richtext .pane-title, body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .view-header .pane-title {
        margin-bottom: 40px; } }
    .richtext h1:after, body.front .view-header h1:after, .richtext .block--office-how-to-find .pane-title:after, .block--office-how-to-find .richtext .pane-title:after, body.front .view-header .block--office-how-to-find .pane-title:after, .block--office-how-to-find body.front .view-header .pane-title:after {
      content: "";
      width: 170px;
      height: 1px;
      background: #cccccc;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin-left: auto;
      margin-right: auto; }
    .richtext h1 > span, body.front .view-header h1 > span, .richtext .block--office-how-to-find .pane-title > span, .block--office-how-to-find .richtext .pane-title > span, body.front .view-header .block--office-how-to-find .pane-title > span, .block--office-how-to-find body.front .view-header .pane-title > span {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 22px;
      line-height: 1.31818;
      color: #6c7678;
      display: block;
      text-align: center;
      padding-top: 20px; }
      @media (min-width: 0px) and (max-width: 766px) {
        .richtext h1 > span, body.front .view-header h1 > span, .richtext .block--office-how-to-find .pane-title > span, .block--office-how-to-find .richtext .pane-title > span, body.front .view-header .block--office-how-to-find .pane-title > span, .block--office-how-to-find body.front .view-header .pane-title > span {
          font-size: 18px; } }
  .richtext h2, body.front .view-header h2 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 24px;
    line-height: 1.25;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .richtext h2, body.front .view-header h2 {
        font-size: 20px; } }
  .richtext h3, body.front .view-header h3 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .richtext h3, body.front .view-header h3 {
        font-size: 19px;
        line-height: 1.61111; } }
  .richtext h4, body.front .view-header h4 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 1.27778;
    color: #333333; }
  .richtext h5, body.front .view-header h5 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 14px;
    line-height: 1.71429;
    color: #333333; }
  .richtext h1 a, body.front .view-header h1 a, .richtext .block--office-how-to-find .pane-title a, .block--office-how-to-find .richtext .pane-title a, body.front .view-header .block--office-how-to-find .pane-title a, .block--office-how-to-find body.front .view-header .pane-title a, .richtext h2 a, body.front .view-header h2 a, .richtext h3 a, body.front .view-header h3 a, .richtext h4 a, body.front .view-header h4 a, .richtext h5 a, body.front .view-header h5 a {
    text-decoration: none;
    border: 0; }
  .richtext .heading--section, body.front .view-header .heading--section {
    margin-top: 0; }
  .richtext p, body.front .view-header p {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333;
    line-height: 1.75;
    margin-bottom: 11px; }
  .richtext a, body.front .view-header a {
    color: inherit;
    text-decoration: none;
    display: inline;
    padding-bottom: 1px;
    border-bottom: 1px solid; }
    .richtext a:hover, body.front .view-header a:hover {
      color: #c4000b; }
  .richtext .icons a, body.front .view-header .icons a {
    border: 0;
    padding-bottom: 0; }
  .richtext strong, body.front .view-header strong {
    font-weight: 500; }
  .richtext em, body.front .view-header em {
    font-style: italic; }
  .richtext u, body.front .view-header u {
    text-decoration: underline; }
  .richtext ul, body.front .view-header ul {
    list-style-position: inside !important;
    list-style: url("../images/list-style.png"); }
    .richtext ul li, body.front .view-header ul li {
      position: relative;
      left: 1em;
      margin-left: -1em;
      padding-left: 1em;
      text-indent: -1em; }
    html[dir=rtl] .richtext ul, html[dir=rtl] body.front .view-header ul, body.front html[dir=rtl] .view-header ul {
      padding-left: 0;
      padding-right: 16px; }
  .richtext ul li, body.front .view-header ul li {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    line-height: 1.75; }
  .richtext ol, body.front .view-header ol {
    list-style-type: decimal;
    padding-left: 60px; }
  .richtext ol li, body.front .view-header ol li {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333;
    line-height: 1.75; }
  .richtext .social li, body.front .view-header .social li {
    line-height: inherit; }
  .richtext h2, body.front .view-header h2, .richtext h3, body.front .view-header h3, .richtext h4, body.front .view-header h4, .richtext h5, body.front .view-header h5 {
    margin: 28px 0; }
  .richtext blockquote, body.front .view-header blockquote, .richtext .quotes-lp, body.front .view-header .quotes-lp {
    line-height: 1.75;
    padding: 0 35px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: italic;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    position: relative; }
    .richtext blockquote::before, body.front .view-header blockquote::before, .richtext .quotes-lp::before, body.front .view-header .quotes-lp::before {
      font-size: 2em;
      padding-right: 0.5em;
      vertical-align: middle;
      float: left;
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      position: absolute;
      left: -19px;
      top: 0; }
      .lang-rtl .richtext blockquote::before, .lang-rtl body.front .view-header blockquote::before, body.front .lang-rtl .view-header blockquote::before, .lang-rtl .richtext .quotes-lp::before, .lang-rtl body.front .view-header .quotes-lp::before, body.front .lang-rtl .view-header .quotes-lp::before {
        left: auto; }
      .lang-rtl .richtext blockquote::before, .lang-rtl body.front .view-header blockquote::before, body.front .lang-rtl .view-header blockquote::before, .lang-rtl .richtext .quotes-lp::before, .lang-rtl body.front .view-header .quotes-lp::before, body.front .lang-rtl .view-header .quotes-lp::before {
        right: -16px; }
    .richtext blockquote::after, body.front .view-header blockquote::after, .richtext .quotes-lp::after, body.front .view-header .quotes-lp::after {
      font-size: 2em;
      padding-right: 0.5em;
      vertical-align: middle;
      float: right;
      -webkit-transform: scaleY(-1);
      -moz-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
      -o-transform: scaleY(-1);
      transform: scaleY(-1);
      -webkit-transform-origin: 50% 50%;
      -moz-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
      -o-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
      position: absolute;
      right: -16px;
      bottom: 0; }
      .lang-rtl .richtext blockquote::after, .lang-rtl body.front .view-header blockquote::after, body.front .lang-rtl .view-header blockquote::after, .lang-rtl .richtext .quotes-lp::after, .lang-rtl body.front .view-header .quotes-lp::after, body.front .lang-rtl .view-header .quotes-lp::after {
        left: -19px; }
      .lang-rtl .richtext blockquote::after, .lang-rtl body.front .view-header blockquote::after, body.front .lang-rtl .view-header blockquote::after, .lang-rtl .richtext .quotes-lp::after, .lang-rtl body.front .view-header .quotes-lp::after, body.front .lang-rtl .view-header .quotes-lp::after {
        right: auto; }
    .richtext blockquote em, body.front .view-header blockquote em, .richtext .quotes-lp em, body.front .view-header .quotes-lp em {
      font-style: normal; }
    .richtext blockquote p::before, body.front .view-header blockquote p::before, .richtext .quotes-lp p::before, body.front .view-header .quotes-lp p::before, .richtext blockquote p::after, body.front .view-header blockquote p::after, .richtext .quotes-lp p::after, body.front .view-header .quotes-lp p::after {
      display: inline-block;
      font-size: 28px;
      vertical-align: -5px;
      padding-right: 2px; }
    .richtext blockquote p:first-child, body.front .view-header blockquote p:first-child, .richtext .quotes-lp p:first-child, body.front .view-header .quotes-lp p:first-child {
      display: inline-block; }
  .richtext .quotes-author, body.front .view-header .quotes-author {
    padding: 0 35px;
    display: block; }
  .richtext .quotes-lp, body.front .view-header .quotes-lp {
    display: block;
    font-size: 22px;
    font-style: italic;
    line-height: 38.5px; }
    @media (min-width: 768px) {
      .richtext .quotes-lp, body.front .view-header .quotes-lp {
        width: 66.66%;
        margin: 0 auto; } }
    .richtext .quotes-lp:before, body.front .view-header .quotes-lp:before, .richtext .quotes-lp:after, body.front .view-header .quotes-lp:after {
      font-size: 32px;
      font-weight: normal; }
  .richtext.l-text blockquote, body.front .l-text.view-header blockquote, .richtext.l-text .quotes-lp, body.front .l-text.view-header .quotes-lp,
  .richtext.l-text .quotes-author, body.front .l-text.view-header .quotes-author {
    text-align: center; }
  @media (min-width: 768px) {
    .richtext.l-text .quotes-author, body.front .l-text.view-header .quotes-author {
      width: 66.66%;
      margin: 0 auto; } }
  @media (min-width: 768px) {
    .richtext.l-text blockquote, body.front .l-text.view-header blockquote, .richtext.l-text .quotes-lp, body.front .l-text.view-header .quotes-lp {
      width: 66.66%;
      margin: 0 auto; } }
  .richtext.l-text blockquote em, body.front .l-text.view-header blockquote em, .richtext.l-text .quotes-lp em, body.front .l-text.view-header .quotes-lp em {
    font-style: italic; }

body.lang-rtl .richtext ul li, body.lang-rtl body.front .view-header ul li, body.front body.lang-rtl .view-header ul li {
  position: relative;
  right: 1em;
  margin-right: -1em;
  padding-right: 1em;
  text-indent: -1em; }

.heading--page {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 50px;
  line-height: 1.2;
  color: #13375b;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  text-align: center;
  position: relative;
  padding-bottom: 34px;
  margin-bottom: 60px;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 766px) {
    .heading--page {
      font-size: 30px; } }
  @media (min-width: 0) and (max-width: 766px) {
    .heading--page {
      overflow: visible; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .heading--page {
      margin-bottom: 40px; } }
  .heading--page:after {
    content: "";
    width: 170px;
    height: 1px;
    background: #cccccc;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto; }
  .heading--page > span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1.31818;
    color: #6c7678;
    display: block;
    text-align: center;
    padding-top: 20px; }
    @media (min-width: 0px) and (max-width: 766px) {
      .heading--page > span {
        font-size: 18px; } }

.heading--section {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.25;
  color: #333333; }
  @media (min-width: 0px) and (max-width: 766px) {
    .heading--section {
      font-size: 20px; } }

.heading--content {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333; }
  @media (min-width: 0px) and (max-width: 766px) {
    .heading--content {
      font-size: 19px;
      line-height: 1.61111; } }

.heading--subordinated {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1.27778;
  color: #333333; }

.button {
  text-decoration: none;
  display: inline-block;
  border-bottom: none;
  border-radius: 0;
  padding: 0 2.4rem;
  cursor: pointer;
  vertical-align: middle; }
  .button:not([disabled]):hover {
    color: white;
    background-color: #c4000b;
    border-color: #c4000b; }
    .button:not([disabled]):hover a {
      color: white; }
  @media (min-width: 0px) and (max-width: 479px) {
    .button {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; } }
  .button.button--small {
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    height: 40px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    text-align: center;
    font-size: 16px;
    line-height: 40px;
    font-weight: 400; }
    .button.button--small:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      .button.button--small:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      .button.button--small {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }
  .button.button--large {
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    height: 50px;
    width: 100%;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    text-align: center;
    font-size: 20px;
    line-height: 50px; }
    .button.button--large:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      .button.button--large:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      .button.button--large {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }
  .button.button--slim {
    padding: 0.5rem 2.4rem 0.5rem 4.8rem;
    height: auto;
    line-height: 1.4;
    font-weight: 300; }
  .button.button--scroll-down {
    position: relative; }
    .button.button--scroll-down:before {
      content: '';
      position: absolute;
      left: 1rem;
      top: 50%;
      transform: translateY(-50%);
      height: 2rem;
      width: 2rem;
      background: url(../images/fa-angle-double-down-white.png) no-repeat 50% 50%;
      background-size: contain; }
  .button.button--simple {
    line-height: 1;
    text-transform: uppercase;
    background: transparent;
    color: inherit;
    font-weight: 400;
    font-size: 16px;
    border: 1px solid #cccccc;
    padding: 1rem 1.5rem; }
    @media (min-width: 0px) and (max-width: 766px) {
      .button.button--simple {
        font-size: 14px; } }
  .button.button--close {
    height: 30px;
    width: 30px;
    padding: 0;
    background: url(../images/icon-close.png) no-repeat 50% 50%; }
    .button.button--close:hover {
      color: inherit;
      background: url(../images/icon-close.png) no-repeat 50% 50%; }
  .button.button-scheme--red {
    color: white;
    background-color: #c4000b; }
  .button.button-scheme--onlight {
    color: #333333;
    border: 1px solid #333333; }
  .button.button-scheme--ondark {
    color: white;
    border: 1px solid white;
    background: transparent; }
  .button a {
    border: 0;
    color: white;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
    width: 100%; }

.zbl-button-link,
.richtext .zbl-button-link, body.front .view-header .zbl-button-link {
  text-decoration: none;
  display: inline-block;
  border-bottom: none;
  border-radius: 0;
  padding: 0 2.4rem;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  border-bottom: none;
  border-radius: 0;
  padding: 0 2.4rem;
  cursor: pointer;
  height: 40px;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  text-align: center;
  font-size: 16px;
  line-height: 40px;
  color: white;
  background-color: #c4000b; }
  .zbl-button-link:not([disabled]):hover,
  .richtext .zbl-button-link:not([disabled]):hover, body.front .view-header .zbl-button-link:not([disabled]):hover {
    color: white;
    background-color: #c4000b;
    border-color: #c4000b; }
    .zbl-button-link:not([disabled]):hover a,
    .richtext .zbl-button-link:not([disabled]):hover a, body.front .view-header .zbl-button-link:not([disabled]):hover a {
      color: white; }
  @media (min-width: 0px) and (max-width: 479px) {
    .zbl-button-link,
    .richtext .zbl-button-link, body.front .view-header .zbl-button-link {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; } }
  .zbl-button-link:not([disabled]):hover,
  .richtext .zbl-button-link:not([disabled]):hover, body.front .view-header .zbl-button-link:not([disabled]):hover {
    color: white;
    background-color: #c4000b;
    border-color: #c4000b; }
    .zbl-button-link:not([disabled]):hover a,
    .richtext .zbl-button-link:not([disabled]):hover a, body.front .view-header .zbl-button-link:not([disabled]):hover a {
      color: white; }
  @media (min-width: 0px) and (max-width: 479px) {
    .zbl-button-link,
    .richtext .zbl-button-link, body.front .view-header .zbl-button-link {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; } }

.pane-gl-zbl-global-zabel-logout {
  position: relative;
  z-index: 999;
  float: right;
  margin: 10px 1.2rem; }
  .pane-gl-zbl-global-zabel-logout .pane-content a {
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    height: 40px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    text-align: center;
    font-size: 16px;
    line-height: 40px;
    color: #333333;
    border: 1px solid #333333;
    line-height: 31px;
    height: 32px;
    border-color: #cccccc;
    color: #333333; }
    .pane-gl-zbl-global-zabel-logout .pane-content a:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      .pane-gl-zbl-global-zabel-logout .pane-content a:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      .pane-gl-zbl-global-zabel-logout .pane-content a {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }
    .pane-gl-zbl-global-zabel-logout .pane-content a:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      .pane-gl-zbl-global-zabel-logout .pane-content a:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      .pane-gl-zbl-global-zabel-logout .pane-content a {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }
    .front .pane-gl-zbl-global-zabel-logout .pane-content a {
      color: white; }
    .zbl-section-fh .pane-gl-zbl-global-zabel-logout .pane-content a {
      color: white; }
    .zbl-section-ci .pane-gl-zbl-global-zabel-logout .pane-content a {
      color: #333333; }
    .zbl-section-pg .pane-gl-zbl-global-zabel-logout .pane-content a {
      color: white; }
    .zbl-section-fh .pane-gl-zbl-global-zabel-logout .pane-content a {
      border-color: #4b4d50; }
    .zbl-section-ci .pane-gl-zbl-global-zabel-logout .pane-content a {
      border-color: #cccccc; }
    .zbl-section-pg .pane-gl-zbl-global-zabel-logout .pane-content a {
      border-color: white; }
    @media (min-width: 0px) and (max-width: 766px) {
      .pane-gl-zbl-global-zabel-logout .pane-content a {
        height: 28px;
        line-height: 27px; } }

.view-zbl-gmap,
.ip-geoloc-map,
.gm-style {
  max-height: 70vh; }
  @media (min-width: 0) and (max-width: 1023px) {
    .view-zbl-gmap,
    .ip-geoloc-map,
    .gm-style {
      max-height: none; } }

input,
textarea {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: none;
  font-size: 18px;
  line-height: 1.5;
  color: #333333;
  max-width: 100%; }
  input:focus,
  textarea:focus {
    outline: none; }

label {
  display: block;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: none;
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
  font-weight: 500; }
  input[type="checkbox"] + label {
    font-weight: 500; }
  input + label {
    font-weight: 300; }
  label.form-required {
    font-weight: 500; }
  label.validate-error {
    color: #c4000b; }
  label.validate-success {
    color: #548b28; }

.form-item.form-type-checkbox {
  position: relative;
  margin-top: 36px; }
  .form-item.form-type-checkbox input {
    display: none;
    visibility: hidden; }
  .form-item.form-type-checkbox label {
    position: relative;
    padding-left: 1.2rem; }
  .form-item.form-type-checkbox label::before {
    width: 20px;
    height: 20px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    position: relative;
    left: -1.2rem;
    border: 1px solid #6c7678;
    background-color: white; }
  .form-item.form-type-checkbox label::after {
    content: '';
    position: absolute;
    width: 13px;
    height: 7px;
    background: transparent;
    top: 7px;
    left: 4px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .form-item.form-type-checkbox label:hover::before {
    border: 1px solid #6c7678;
    background-color: white; }
  .form-item.form-type-checkbox label:active::before {
    border: 1px solid #646464;
    background-color: #646464; }
  .form-item.form-type-checkbox label:active::after {
    border: 3px solid white;
    border-top: none;
    border-right: none; }
  .form-item.form-type-checkbox input:checked + label::before {
    border-color: white !important;
    background-color: white !important; }
  .form-item.form-type-checkbox input:checked + label::after {
    border: 3px solid #646464;
    border-top: none;
    border-right: none; }
  .form-item.form-type-checkbox input:disabled + label::before {
    background-color: #efefef; }
  .form-item.form-type-checkbox input.error + label::before {
    border-color: #ff6a6a !important;
    background-color: #faeaea; }

.form-type-radios {
  margin-top: 34px; }
  .form-type-radios > label {
    margin-bottom: 12px; }

.form-item.form-type-radio {
  position: relative; }
  .form-item.form-type-radio input {
    display: none;
    visibility: hidden; }
  .form-item.form-type-radio label {
    padding-left: 1.2rem; }
  .form-item.form-type-radio label::before {
    width: 20px;
    height: 20px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    position: relative;
    left: -1.2rem;
    border-radius: 50%;
    border: 1px solid #6c7678;
    background-color: white; }
  .form-item.form-type-radio label:hover::before {
    box-shadow: none;
    border: 1px solid #6c7678;
    background-color: white; }
  .form-item.form-type-radio label:active::before {
    box-shadow: none;
    border: 6px solid #646464;
    background-color: white; }
  .form-item.form-type-radio input:checked + label::before {
    border: 1px solid #6c7678;
    background-color: white; }
  .form-item.form-type-radio input:checked + label::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 50%;
    margin-top: -4px;
    display: block;
    width: 8px;
    height: 8px;
    background: #6c7678;
    border-radius: 50%; }
    .lang-rtl .form-item.form-type-radio input:checked + label::after {
      left: initial; }
    .lang-rtl .form-item.form-type-radio input:checked + label::after {
      right: 6px; }
  .form-item.form-type-radio input:disabled + label::before {
    background-color: #efefef; }
  .form-item.form-type-radio .error + label::before {
    background-color: #faeaea;
    border-color: #ff6a6a !important; }

.lang-rtl .form-item.form-type-radio label,
html[dir=rtl] .form-item.form-type-radio label {
  padding-left: 0;
  padding-right: 1.2rem; }

.lang-rtl .form-item.form-type-radio label::before,
html[dir=rtl] .form-item.form-type-radio label::before {
  left: auto;
  right: -1.2rem; }

.form-type-select {
  max-width: 100%;
  margin-top: 40px; }
  .form-type-select label {
    display: none; }

.selectric-wrapper,
.selectric {
  box-sizing: border-box; }

.selectric-error .selectric {
  border: 1px solid #ff6a6a !important;
  background-color: #faeaea; }
  .selectric-error .selectric p.label {
    color: #ff6a6a !important; }

.selectric-open .selectric {
  border: 1px solid #646464; }

.selectric-open.selectric-error .selectric {
  border: px solid #c4000b !important; }

.form-type-textfield {
  margin-top: 40px; }

.form-text {
  height: 46px;
  color: #333333;
  padding: 10px;
  border: 1px solid #6c7678;
  box-sizing: border-box;
  width: 100%;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  border-radius: 0; }
  .footer .form-text {
    background: transparent;
    color: white; }
    .footer .form-text::-webkit-input-placeholder {
      color: "$gallery"; }
    .footer .form-text:-moz-placeholder {
      color: "$gallery";
      opacity: 1; }
    .footer .form-text::-moz-placeholder {
      color: "$gallery";
      opacity: 1; }
    .footer .form-text:-ms-input-placeholder {
      color: "$gallery"; }
    .footer .form-text:focus {
      border: 2px solid white; }
  .form-text::-webkit-input-placeholder {
    color: #6c7678; }
  .form-text:-moz-placeholder {
    color: #6c7678;
    opacity: 1; }
  .form-text::-moz-placeholder {
    color: #6c7678;
    opacity: 1; }
  .form-text:-ms-input-placeholder {
    color: #6c7678; }
  .form-text:focus {
    border: 2px solid #646464; }
  .form-text[disabled="disabled"] {
    border: 1px solid #cccccc; }
    .form-text[disabled="disabled"]::-webkit-input-placeholder {
      color: #cccccc; }
    .form-text[disabled="disabled"]:-moz-placeholder {
      color: #cccccc;
      opacity: 1; }
    .form-text[disabled="disabled"]::-moz-placeholder {
      color: #cccccc;
      opacity: 1; }
    .form-text[disabled="disabled"]:-ms-input-placeholder {
      color: #cccccc; }
  .form-text.error {
    color: #ff6a6a;
    border: 1px solid #ff6a6a;
    background: #faeaea; }
    .form-text.error::-webkit-input-placeholder {
      color: #ff6a6a !important; }
    .form-text.error:-moz-placeholder {
      color: #ff6a6a !important;
      opacity: 1; }
    .form-text.error::-moz-placeholder {
      color: #ff6a6a !important;
      opacity: 1; }
    .form-text.error:-ms-input-placeholder {
      color: #ff6a6a !important; }
    .form-text.error:focus {
      border: 2px solid #c4000b !important; }
  .input-valid .form-text {
    color: #548b28;
    border: 1px solid #548b28;
    background: #eef3e9; }
    .input-valid .form-text::-webkit-input-placeholder {
      color: #548b28; }
    .input-valid .form-text:-moz-placeholder {
      color: #548b28;
      opacity: 1; }
    .input-valid .form-text::-moz-placeholder {
      color: #548b28;
      opacity: 1; }
    .input-valid .form-text:-ms-input-placeholder {
      color: #548b28; }
    .input-valid .form-text:focus {
      border: 2px solid #548b28; }

label.error {
  color: #ff6a6a !important; }

.views-widget input.form-text {
  border: 2px solid #cccccc; }

textarea {
  color: #333333;
  padding: 10px;
  margin-left: 1px;
  outline: 1px solid #cccccc;
  border: none;
  -webkit-appearance: none; }
  textarea::-webkit-input-placeholder {
    color: #6c7678; }
  textarea:-moz-placeholder {
    color: #6c7678;
    opacity: 1; }
  textarea::-moz-placeholder {
    color: #6c7678;
    opacity: 1; }
  textarea:-ms-input-placeholder {
    color: #6c7678; }
  textarea:focus {
    outline: 2px solid #646464; }
  textarea.error {
    color: #c4000b;
    outline: 1px solid #c4000b;
    background: #faeaea; }
    textarea.error::-webkit-input-placeholder {
      color: #ff2b37; }
    textarea.error:-moz-placeholder {
      color: #ff2b37;
      opacity: 1; }
    textarea.error::-moz-placeholder {
      color: #ff2b37;
      opacity: 1; }
    textarea.error:-ms-input-placeholder {
      color: #ff2b37; }
    textarea.error:focus {
      outline: 2px solid #c4000b; }

.footer .messages--status {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333;
  color: white; }
  @media (min-width: 0px) and (max-width: 766px) {
    .footer .messages--status {
      font-size: 19px;
      line-height: 1.61111; } }

.footer h2 {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1.27778;
  color: #333333;
  color: white;
  margin-top: 35px;
  margin-bottom: 18px; }
  @media (min-width: 480px) and (max-width: 766px) {
    .footer h2 {
      margin-top: 0; } }

.footer .messages:not(.error) {
  color: white;
  margin-bottom: 10px;
  padding-left: 20px;
  font-size: 13px; }
  .footer .messages:not(.error) a, .footer .messages:not(.error) li {
    color: white;
    font-size: 13px;
    font-weight: normal; }

.footer .webform-client-form input[type=text],
.footer .webform-client-form input[type=email] {
  height: 39px;
  font-size: 13px;
  padding: 10px;
  outline: 1px solid #4b4d50; }
  .footer .webform-client-form input[type=text]:focus,
  .footer .webform-client-form input[type=email]:focus {
    outline: 2px solid white; }

.footer .webform-client-form label {
  color: white; }

.footer .webform-client-form .form-type-textfield,
.footer .webform-client-form .form-type-checkbox,
.footer .webform-client-form .webform-component {
  margin-top: 0;
  margin-bottom: 20px; }

.footer .webform-client-form .form-actions {
  padding-top: 12px; }

.footer .webform-client-form .form-actions > input {
  text-decoration: none;
  display: inline-block;
  border-bottom: none;
  border-radius: 0;
  padding: 0 2.4rem;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  border-bottom: none;
  border-radius: 0;
  padding: 0 2.4rem;
  cursor: pointer;
  height: 50px;
  width: 100%;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  text-align: center;
  font-size: 20px;
  line-height: 50px;
  color: white;
  border: 1px solid white;
  background: transparent;
  width: 100%;
  height: 40px;
  line-height: 40px; }
  .footer .webform-client-form .form-actions > input:not([disabled]):hover {
    color: white;
    background-color: #c4000b;
    border-color: #c4000b; }
    .footer .webform-client-form .form-actions > input:not([disabled]):hover a {
      color: white; }
  @media (min-width: 0px) and (max-width: 479px) {
    .footer .webform-client-form .form-actions > input {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; } }
  .footer .webform-client-form .form-actions > input:not([disabled]):hover {
    color: white;
    background-color: #c4000b;
    border-color: #c4000b; }
    .footer .webform-client-form .form-actions > input:not([disabled]):hover a {
      color: white; }
  @media (min-width: 0px) and (max-width: 479px) {
    .footer .webform-client-form .form-actions > input {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; } }

.footer .ajax-progress {
  color: white; }

.enquire-form, .node-type-property .section-content-item [id*="webform-ajax-wrapper"], .imageheader.imageheader--2col .header--overlay .header-form {
  padding: 40px;
  text-align: left; }
  @media (min-width: 0px) and (max-width: 766px) {
    .enquire-form, .node-type-property .section-content-item [id*="webform-ajax-wrapper"], .imageheader.imageheader--2col .header--overlay .header-form {
      padding: 20px; } }
  .lang-rtl .enquire-form, .lang-rtl .node-type-property .section-content-item [id*="webform-ajax-wrapper"], .node-type-property .section-content-item .lang-rtl [id*="webform-ajax-wrapper"], .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form, .imageheader.imageheader--2col .header--overlay .lang-rtl .header-form {
    text-align: right; }
  .enquire-form, .node-type-property .section-content-item [id*="webform-ajax-wrapper"], .imageheader.imageheader--2col .header--overlay .header-form,
  .enquire-form input, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input, .imageheader.imageheader--2col .header--overlay .header-form input,
  .enquire-form .selectric, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric, .imageheader.imageheader--2col .header--overlay .header-form .selectric,
  .enquire-form .selectric-scroll, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric-scroll, .imageheader.imageheader--2col .header--overlay .header-form .selectric-scroll,
  .enquire-form .selectric-items li, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric-items li, .imageheader.imageheader--2col .header--overlay .header-form .selectric-items li,
  .enquire-form .form-type-radio label::before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-type-radio label::before, .imageheader.imageheader--2col .header--overlay .header-form .form-type-radio label::before,
  .enquire-form .form-type-checkbox label::before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-type-checkbox label::before, .imageheader.imageheader--2col .header--overlay .header-form .form-type-checkbox label::before {
    background-color: #6b7678; }
  .enquire-form input, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input, .imageheader.imageheader--2col .header--overlay .header-form input,
  .enquire-form label, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] label, .imageheader.imageheader--2col .header--overlay .header-form label,
  .enquire-form .selectric .label, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric .label, .imageheader.imageheader--2col .header--overlay .header-form .selectric .label,
  .enquire-form .selectric .selectric-button, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric .selectric-button, .imageheader.imageheader--2col .header--overlay .header-form .selectric .selectric-button,
  .enquire-form .selectric-items li, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric-items li, .imageheader.imageheader--2col .header--overlay .header-form .selectric-items li {
    color: white; }
    .enquire-form input:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input:before, .imageheader.imageheader--2col .header--overlay .header-form input:before,
    .enquire-form label:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] label:before, .imageheader.imageheader--2col .header--overlay .header-form label:before,
    .enquire-form .selectric .label:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric .label:before, .imageheader.imageheader--2col .header--overlay .header-form .selectric .label:before,
    .enquire-form .selectric .selectric-button:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric .selectric-button:before, .imageheader.imageheader--2col .header--overlay .header-form .selectric .selectric-button:before,
    .enquire-form .selectric-items li:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric-items li:before, .imageheader.imageheader--2col .header--overlay .header-form .selectric-items li:before {
      color: inherit; }
  .enquire-form .selectric-items li.selected, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric-items li.selected, .imageheader.imageheader--2col .header--overlay .header-form .selectric-items li.selected,
  .enquire-form .selectric-items li:hover, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric-items li:hover, .imageheader.imageheader--2col .header--overlay .header-form .selectric-items li:hover {
    color: #6b7678;
    background-color: white; }
  .enquire-form .selectric .selectric-button:after, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric .selectric-button:after, .imageheader.imageheader--2col .header--overlay .header-form .selectric .selectric-button:after {
    border-top-color: white; }
  .enquire-form .selectric, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric, .imageheader.imageheader--2col .header--overlay .header-form .selectric {
    border-color: white;
    height: 46px; }
  .enquire-form .selectric-error p.label, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .selectric-error p.label, .imageheader.imageheader--2col .header--overlay .header-form .selectric-error p.label {
    color: #ffd0d0 !important; }
  .enquire-form input, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input, .imageheader.imageheader--2col .header--overlay .header-form input {
    border-color: white; }
    .enquire-form input::-webkit-input-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input::-webkit-input-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input::-webkit-input-placeholder {
      color: white; }
    .enquire-form input::-moz-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input::-moz-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input::-moz-placeholder {
      color: white; }
    .enquire-form input:-moz-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input:-moz-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input:-moz-placeholder {
      color: white; }
    .enquire-form input:-ms-input-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input:-ms-input-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input:-ms-input-placeholder {
      color: white; }
    .enquire-form input.error, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input.error, .imageheader.imageheader--2col .header--overlay .header-form input.error {
      border-color: #ff6a6a; }
      .enquire-form input.error::-webkit-input-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input.error::-webkit-input-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input.error::-webkit-input-placeholder {
        color: #ffd0d0 !important; }
      .enquire-form input.error:-moz-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input.error:-moz-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input.error:-moz-placeholder {
        color: #ffd0d0 !important;
        opacity: 1; }
      .enquire-form input.error::-moz-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input.error::-moz-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input.error::-moz-placeholder {
        color: #ffd0d0 !important;
        opacity: 1; }
      .enquire-form input.error:-ms-input-placeholder, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] input.error:-ms-input-placeholder, .imageheader.imageheader--2col .header--overlay .header-form input.error:-ms-input-placeholder {
        color: #ffd0d0 !important; }
  .enquire-form .form-actions > input, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-actions > input, .imageheader.imageheader--2col .header--overlay .header-form .form-actions > input {
    background-color: #c4000b; }
  .enquire-form .form-item.form-type-radio label, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-item.form-type-radio label, .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio label {
    position: relative; }
    .enquire-form .form-item.form-type-radio label:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-item.form-type-radio label:before, .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio label:before {
      border: 1px solid white;
      box-shadow: none;
      background-color: #6b7678; }
    .enquire-form .form-item.form-type-radio label:active:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-item.form-type-radio label:active:before, .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio label:active:before {
      box-shadow: none;
      border: 6px solid white;
      background-color: #6b7678; }
  .enquire-form .form-item.form-type-radio label:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-item.form-type-radio label:before, .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio label:before {
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    left: -1.2rem;
    border-radius: 50%;
    background: none; }
    .lang-rtl .enquire-form .form-item.form-type-radio label:before, .lang-rtl .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-item.form-type-radio label:before, .node-type-property .section-content-item .lang-rtl [id*="webform-ajax-wrapper"] .form-item.form-type-radio label:before, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio label:before, .imageheader.imageheader--2col .header--overlay .lang-rtl .header-form .form-item.form-type-radio label:before {
      left: 1.2rem; }
  .enquire-form .form-item.form-type-radio input:checked + label:after, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-item.form-type-radio input:checked + label:after, .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio input:checked + label:after {
    content: '';
    position: absolute;
    left: 4px;
    top: 50%;
    margin-top: -3px;
    display: block;
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%; }
  .enquire-form .form-type-checkbox label:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-type-checkbox label:before, .imageheader.imageheader--2col .header--overlay .header-form .form-type-checkbox label:before {
    border-color: white; }
  .enquire-form .form-type-checkbox input:checked + label:before, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-type-checkbox input:checked + label:before, .imageheader.imageheader--2col .header--overlay .header-form .form-type-checkbox input:checked + label:before {
    background: transparent !important; }
  .enquire-form .form-type-checkbox input:checked + label:after, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .form-type-checkbox input:checked + label:after, .imageheader.imageheader--2col .header--overlay .header-form .form-type-checkbox input:checked + label:after {
    border-color: white; }
  .enquire-form .messages.error, .node-type-property .section-content-item [id*="webform-ajax-wrapper"] .messages.error, .imageheader.imageheader--2col .header--overlay .header-form .messages.error {
    display: none; }
  .enquire-form__form, .node-webform .webform-client-form, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form {
    color: white;
    font-size: 18px;
    margin-left: -0.5em;
    margin-right: -0.5em; }
    .enquire-form__form::after, .node-webform .webform-client-form::after, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form::after {
      content: "";
      display: table;
      clear: both; }
    .enquire-form__form .form-actions > input, .node-webform .webform-client-form .form-actions > input, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input {
      text-decoration: none;
      display: inline-block;
      border-bottom: none;
      border-radius: 0;
      padding: 0 2.4rem;
      cursor: pointer;
      text-decoration: none;
      display: inline-block;
      border-bottom: none;
      border-radius: 0;
      padding: 0 2.4rem;
      cursor: pointer;
      height: 50px;
      width: 100%;
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      text-align: center;
      font-size: 20px;
      line-height: 50px;
      color: white;
      background-color: #c4000b;
      border: none;
      margin-bottom: 40px; }
      .enquire-form__form .form-actions > input::after, .node-webform .webform-client-form .form-actions > input::after, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input::after {
        content: "";
        display: table;
        clear: both; }
      .enquire-form__form .form-actions > input:not([disabled]):hover, .node-webform .webform-client-form .form-actions > input:not([disabled]):hover, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input:not([disabled]):hover {
        color: white;
        background-color: #c4000b;
        border-color: #c4000b; }
        .enquire-form__form .form-actions > input:not([disabled]):hover a, .node-webform .webform-client-form .form-actions > input:not([disabled]):hover a, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input:not([disabled]):hover a {
          color: white; }
      @media (min-width: 0px) and (max-width: 479px) {
        .enquire-form__form .form-actions > input, .node-webform .webform-client-form .form-actions > input, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input {
          max-width: 100%;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap; } }
      .enquire-form__form .form-actions > input:not([disabled]):hover, .node-webform .webform-client-form .form-actions > input:not([disabled]):hover, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input:not([disabled]):hover {
        color: white;
        background-color: #c4000b;
        border-color: #c4000b; }
        .enquire-form__form .form-actions > input:not([disabled]):hover a, .node-webform .webform-client-form .form-actions > input:not([disabled]):hover a, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input:not([disabled]):hover a {
          color: white; }
      @media (min-width: 0px) and (max-width: 479px) {
        .enquire-form__form .form-actions > input, .node-webform .webform-client-form .form-actions > input, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions > input {
          max-width: 100%;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap; } }
    .enquire-form__form > div::after, .node-webform .webform-client-form > div::after, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form > div::after {
      content: "";
      display: table;
      clear: both; }
    .enquire-form__form .form-item.form-type-checkbox, .node-webform .webform-client-form .form-item.form-type-checkbox, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-item.form-type-checkbox {
      margin-top: 0; }
    .enquire-form__form .webform-component-textfield, .node-webform .webform-client-form .webform-component-textfield, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-textfield,
    .enquire-form__form .webform-component-select, .node-webform .webform-client-form .webform-component-select, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-select,
    .enquire-form__form .webform-component-number, .node-webform .webform-client-form .webform-component-number, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-number,
    .enquire-form__form .webform-component-email, .node-webform .webform-client-form .webform-component-email, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-email,
    .enquire-form__form .webform-component-radios, .node-webform .webform-client-form .webform-component-radios, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-radios,
    .enquire-form__form .webform-component-textarea, .node-webform .webform-client-form .webform-component-textarea, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-textarea,
    .enquire-form__form .webform-component-checkboxes, .node-webform .webform-client-form .webform-component-checkboxes, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-checkboxes {
      margin-bottom: 20px; }
    .enquire-form__form .webform-component--purpose .form-type-radio, .node-webform .webform-client-form .webform-component--purpose .form-type-radio, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--purpose .form-type-radio,
    .enquire-form__form .webform-component--reachable .form-type-radio, .node-webform .webform-client-form .webform-component--reachable .form-type-radio, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--reachable .form-type-radio {
      margin-top: 10px;
      margin-bottom: 10px; }
    .lang-rtl .enquire-form__form .webform-component--purpose, .lang-rtl .node-webform .webform-client-form .webform-component--purpose, .node-webform .lang-rtl .webform-client-form .webform-component--purpose, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--purpose, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--purpose, .lang-rtl
    .enquire-form__form .webform-component--reachable, .lang-rtl .node-webform .webform-client-form .webform-component--reachable, .node-webform .lang-rtl .webform-client-form .webform-component--reachable, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--reachable, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--reachable {
      text-align: right; }
    .enquire-form__form .webform-component-markup, .node-webform .webform-client-form .webform-component-markup, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-markup {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em;
      clear: both;
      font-size: 18px;
      margin-bottom: 30px; }
    .enquire-form__form .webform-component--title, .node-webform .webform-client-form .webform-component--title, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--title {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em; }
      .enquire-form__form .webform-component--title .form-type-radio, .node-webform .webform-client-form .webform-component--title .form-type-radio, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--title .form-type-radio {
        float: left;
        margin-right: 40px; }
        .lang-rtl .enquire-form__form .webform-component--title .form-type-radio, .lang-rtl .node-webform .webform-client-form .webform-component--title .form-type-radio, .node-webform .lang-rtl .webform-client-form .webform-component--title .form-type-radio, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--title .form-type-radio, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--title .form-type-radio {
          float: right; }
        .lang-rtl .enquire-form__form .webform-component--title .form-type-radio, .lang-rtl .node-webform .webform-client-form .webform-component--title .form-type-radio, .node-webform .lang-rtl .webform-client-form .webform-component--title .form-type-radio, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--title .form-type-radio, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--title .form-type-radio {
          margin-right: 0; }
        .lang-rtl .enquire-form__form .webform-component--title .form-type-radio, .lang-rtl .node-webform .webform-client-form .webform-component--title .form-type-radio, .node-webform .lang-rtl .webform-client-form .webform-component--title .form-type-radio, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--title .form-type-radio, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--title .form-type-radio {
          margin-left: 40px; }
    .enquire-form__form .webform-component--first-name, .node-webform .webform-client-form .webform-component--first-name, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--first-name {
      width: 50%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em;
      clear: right; }
      .lang-rtl .enquire-form__form .webform-component--first-name, .lang-rtl .node-webform .webform-client-form .webform-component--first-name, .node-webform .lang-rtl .webform-client-form .webform-component--first-name, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--first-name, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--first-name {
        margin-right: 0; }
      .lang-rtl .enquire-form__form .webform-component--first-name, .lang-rtl .node-webform .webform-client-form .webform-component--first-name, .node-webform .lang-rtl .webform-client-form .webform-component--first-name, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--first-name, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--first-name {
        float: right; }
    .enquire-form__form .webform-component--last-name, .node-webform .webform-client-form .webform-component--last-name, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--last-name {
      width: 50%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em; }
      .lang-rtl .enquire-form__form .webform-component--last-name, .lang-rtl .node-webform .webform-client-form .webform-component--last-name, .node-webform .lang-rtl .webform-client-form .webform-component--last-name, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--last-name, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--last-name {
        float: left; }
    .enquire-form__form .webform-component--country, .node-webform .webform-client-form .webform-component--country, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--country {
      width: 33.33333%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em;
      clear: both; }
      .lang-rtl .enquire-form__form .webform-component--country, .lang-rtl .node-webform .webform-client-form .webform-component--country, .node-webform .lang-rtl .webform-client-form .webform-component--country, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--country, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--country {
        float: right; }
      .lang-rtl .enquire-form__form .webform-component--country, .lang-rtl .node-webform .webform-client-form .webform-component--country, .node-webform .lang-rtl .webform-client-form .webform-component--country, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--country, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--country {
        margin-right: 0; }
    .enquire-form__form .webform-component--area-code, .node-webform .webform-client-form .webform-component--area-code, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--area-code {
      width: 33.33333%;
      float: left;
      margin-right: -100%;
      margin-left: 33.33333%;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em; }
    .enquire-form__form .webform-component--number, .node-webform .webform-client-form .webform-component--number, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--number {
      width: 33.33333%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em; }
      .lang-rtl .enquire-form__form .webform-component--number, .lang-rtl .node-webform .webform-client-form .webform-component--number, .node-webform .lang-rtl .webform-client-form .webform-component--number, .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--number, .imageheader.imageheader--2col .header--overlay .header-form .lang-rtl .webform-client-form .webform-component--number {
        float: left; }
    .enquire-form__form .webform-component-email, .node-webform .webform-client-form .webform-component-email, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-email {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em;
      clear: both; }
    .enquire-form__form .webform-component--purpose, .node-webform .webform-client-form .webform-component--purpose, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--purpose {
      width: 50%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em;
      clear: right; }
    .enquire-form__form .webform-component--reachable, .node-webform .webform-client-form .webform-component--reachable, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--reachable {
      width: 50%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em; }
    .enquire-form__form .webform-component--your-request, .node-webform .webform-client-form .webform-component--your-request, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--your-request {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em; }
    .enquire-form__form .webform-component-checkboxes, .node-webform .webform-client-form .webform-component-checkboxes, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-checkboxes {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em;
      clear: both; }
    .enquire-form__form .form-actions, .node-webform .webform-client-form .form-actions, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0.5em;
      padding-right: 0.5em;
      clear: right; }
    .enquire-form__form .webform-component-select label, .node-webform .webform-client-form .webform-component-select label, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-select label {
      display: none; }
    @media (min-width: 0px) and (max-width: 766px) {
      .enquire-form__form .webform-component, .node-webform .webform-client-form .webform-component, .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component {
        width: 100%;
        float: right;
        margin-left: 0;
        margin-right: 0;
        clear: none;
        padding-left: 0.5em;
        padding-right: 0.5em; } }

.grippie {
  display: none !important; }

.node-type-property .webform-outer-wrapper {
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 64px; }
  @media (min-width: 0px) and (max-width: 1358px) {
    .node-type-property .webform-outer-wrapper {
      padding: 40px; } }
  @media (min-width: 0) and (max-width: 1167px) {
    .node-type-property .webform-outer-wrapper {
      padding: 40px 0 0; } }
  .node-type-property .webform-outer-wrapper .pane-content {
    padding-left: 3.6rem;
    padding-right: 3.6rem; }
    .node-type-property .webform-outer-wrapper .pane-content input {
      margin-bottom: 0; }
    @media (min-width: 0px) and (max-width: 1358px) {
      .node-type-property .webform-outer-wrapper .pane-content {
        padding: 0; } }

.node-type-property .webform-outer-wrapper {
  background: white;
  color: black; }

.node-type-property .section-content-item .node-webform .webform-confirmation,
.node-type-property .section-content-item .node-webform .links a {
  color: #ffffff; }

@media (min-width: 0px) and (max-width: 766px) {
  .node-type-property .section-content-item .webform-outer-wrapper {
    background: #6b7678; } }

.node-type-property .section-content-item .webform-outer-wrapper .richtext, .node-type-property .section-content-item .webform-outer-wrapper body.front .view-header, body.front .node-type-property .section-content-item .webform-outer-wrapper .view-header {
  color: #333; }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-property .section-content-item .webform-outer-wrapper .richtext.content-block, .node-type-property .section-content-item .webform-outer-wrapper body.front .content-block.view-header, body.front .node-type-property .section-content-item .webform-outer-wrapper .content-block.view-header {
      display: none; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-property .section-content-item .webform-outer-wrapper .richtext h1, .node-type-property .section-content-item .webform-outer-wrapper body.front .view-header h1, body.front .node-type-property .section-content-item .webform-outer-wrapper .view-header h1, .node-type-property .section-content-item .webform-outer-wrapper .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-property .section-content-item .webform-outer-wrapper .richtext .pane-title, .node-type-property .section-content-item .webform-outer-wrapper body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-property .section-content-item .webform-outer-wrapper body.front .view-header .pane-title, body.front .node-type-property .section-content-item .webform-outer-wrapper .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .node-type-property .section-content-item .webform-outer-wrapper .view-header .pane-title {
      color: white; } }
  .node-type-property .section-content-item .webform-outer-wrapper .richtext h3, .node-type-property .section-content-item .webform-outer-wrapper body.front .view-header h3, body.front .node-type-property .section-content-item .webform-outer-wrapper .view-header h3, .node-type-property .section-content-item .webform-outer-wrapper .richtext p, .node-type-property .section-content-item .webform-outer-wrapper body.front .view-header p, body.front .node-type-property .section-content-item .webform-outer-wrapper .view-header p {
    color: #333; }

.webform-outer-wrapper,
.webform-outer-wrapper-contact {
  padding-bottom: 80px; }

.modal .webform-outer-wrapper,
#colorbox .inside {
  padding: 40px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .modal .webform-outer-wrapper,
    #colorbox .inside {
      padding: 20px; } }
  .modal .webform-outer-wrapper .pane-title,
  #colorbox .inside .pane-title {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 50px;
    line-height: 1.2;
    color: #13375b;
    padding-left: 3.6rem;
    padding-right: 3.6rem;
    text-align: center;
    position: relative;
    padding-bottom: 34px;
    margin-bottom: 60px;
    overflow: hidden;
    margin-bottom: 60px; }
    @media (min-width: 0px) and (max-width: 766px) {
      .modal .webform-outer-wrapper .pane-title,
      #colorbox .inside .pane-title {
        font-size: 30px; } }
    @media (min-width: 0) and (max-width: 766px) {
      .modal .webform-outer-wrapper .pane-title,
      #colorbox .inside .pane-title {
        overflow: visible; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .modal .webform-outer-wrapper .pane-title,
      #colorbox .inside .pane-title {
        margin-bottom: 40px; } }
    .modal .webform-outer-wrapper .pane-title:after,
    #colorbox .inside .pane-title:after {
      content: "";
      width: 170px;
      height: 1px;
      background: #cccccc;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin-left: auto;
      margin-right: auto; }
    .modal .webform-outer-wrapper .pane-title > span,
    #colorbox .inside .pane-title > span {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 22px;
      line-height: 1.31818;
      color: #6c7678;
      display: block;
      text-align: center;
      padding-top: 20px; }
      @media (min-width: 0px) and (max-width: 766px) {
        .modal .webform-outer-wrapper .pane-title > span,
        #colorbox .inside .pane-title > span {
          font-size: 18px; } }
  .modal .webform-outer-wrapper,
  .modal .webform-outer-wrapper *,
  .modal .webform-outer-wrapper *:before,
  .modal .webform-outer-wrapper *:after,
  #colorbox .inside,
  #colorbox .inside *,
  #colorbox .inside *:before,
  #colorbox .inside *:after {
    box-sizing: border-box; }
  .modal .webform-outer-wrapper .selectric,
  #colorbox .inside .selectric {
    border-color: #6c7678; }

[id*="webform-ajax-wrapper"]::after {
  content: "";
  display: table;
  clear: both; }

[id*="webform-ajax-wrapper"] .links a {
  display: inline;
  padding-bottom: 1px;
  border-bottom: 1px solid;
  color: inherit;
  text-decoration: none; }
  [id*="webform-ajax-wrapper"] .links a:hover {
    color: #a60000; }

body.brochure-page .modal-inner [id*="webform-ajax-wrapper"],
body.brochure-page #colorbox [id*="webform-ajax-wrapper"] {
  float: none;
  width: 100%; }

@media (min-width: 768px) {
  body.brochure-page #colorbox {
    max-height: 640px; }
  body.brochure-page #cboxLoadedContent {
    overflow: hidden !important; } }

@media (min-width: 1024px) {
  .modal-inner [id*="webform-ajax-wrapper"],
  #colorbox [id*="webform-ajax-wrapper"] {
    float: left;
    width: 68%; } }

.modal-inner .content-block,
#colorbox .content-block {
  padding: 0; }
  @media (min-width: 1024px) {
    .modal-inner .content-block,
    #colorbox .content-block {
      float: right;
      width: 28%; } }

.modal-inner .clients-quotes,
#colorbox .clients-quotes {
  display: none; }

@media (min-width: 1167px) {
  .node-type-property .webform-outer-wrapper [id*="webform-ajax-wrapper"],
  .node-type-property .webform-outer-wrapper .messages--status,
  .node-type-property .webform-outer-wrapper [id*="webform-ajax-wrapper"],
  .node-type-property .webform-outer-wrapper .messages--status {
    float: right;
    width: 48%; } }

.node-type-property .webform-outer-wrapper .content-block,
.node-type-property .webform-outer-wrapper .content-block {
  padding: 40px; }
  @media (min-width: 0px) and (max-width: 1358px) {
    .node-type-property .webform-outer-wrapper .content-block,
    .node-type-property .webform-outer-wrapper .content-block {
      padding: 0 3.6rem 3.6rem; } }
  @media (min-width: 1167px) {
    .node-type-property .webform-outer-wrapper .content-block,
    .node-type-property .webform-outer-wrapper .content-block {
      padding: 0;
      float: left;
      width: 48%; } }

#colorbox {
  color: #333333; }
  #colorbox .pane-node-content .pane-title {
    padding-top: 0; }
    #colorbox .pane-node-content .pane-title::before {
      content: none; }
  #colorbox .node-webform .webform-client-form {
    color: #333333; }

.webform-client-form .webform-component-checkboxes label {
  font-weight: 300;
  padding-left: 32px; }
  .webform-client-form .webform-component-checkboxes label:before {
    margin-left: -20px; }

body.lang-rtl .webform-client-form .webform-component-checkboxes label.option {
  padding: 0 26px 0 0; }
  body.lang-rtl .webform-client-form .webform-component-checkboxes label.option:before {
    right: -26px; }
  body.lang-rtl .webform-client-form .webform-component-checkboxes label.option:after {
    right: 4px; }

#colorbox #cboxWrapper #cboxContent .webform-component-checkboxes input:checked + label::before {
  border-color: #6c7678 !important; }

.landing-page .webform-client-form .webform-component-checkboxes label:after {
  top: 9px; }

/*@mixin contact-form-outer-layout() {
  form,
  .messages--status {
    @include breakpoint($bp-one-col)       { @include isolation-span(4, 1); }
    @include breakpoint($bp-two-col)       { @include isolation-span(8, 1); }
    @include breakpoint($bp-three-col)     { @include isolation-span(8, 3); }
    @include breakpoint($bp-from-four-col) { @include isolation-span(8, 5); }
  }
}

.section-item.contact-form {
  @include contact-form-outer-layout();
  @include enquiry-form-field-alignment();
  @include enquiry-form-inner-layout();
  @include handle-labels-radios-and-submit();

  .field-name-field-zbl-form-message {
    width: 100%;
    float: left;
    clear: both;
    margin-top: 40px;
  }

  .messages--status {
    @include fs-headline-3();
    @include gutter-pad(3, 3);
  }

}*/
@media (min-width: 0px) and (max-width: 479px) {
  .section-item.contact-form .node-webform {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none;
    padding-left: 0;
    padding-right: 0;
    float: none; } }

@media (min-width: 480px) and (max-width: 766px) {
  .section-item.contact-form .node-webform {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: none;
    padding-left: 0;
    padding-right: 0;
    float: none; } }

@media (min-width: 768px) and (max-width: 1358px) {
  .section-item.contact-form .node-webform {
    width: 66.66667%;
    float: left;
    margin-right: -100%;
    margin-left: 16.66667%;
    clear: none;
    padding-left: 0;
    padding-right: 0;
    float: none; } }

@media (min-width: 1359px) {
  .section-item.contact-form .node-webform {
    width: 50%;
    float: left;
    margin-right: -100%;
    margin-left: 25%;
    clear: none;
    padding-left: 0;
    padding-right: 0;
    float: none; } }

.section-item.contact-form .node-webform form {
  width: 100%; }

form .language-list-select {
  display: none; }

#user-login,
#user-login-form,
#user-pass {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  text-align: center; }
  @media (min-width: 0px) and (max-width: 479px) {
    #user-login,
    #user-login-form,
    #user-pass {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    #user-login,
    #user-login-form,
    #user-pass {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    #user-login,
    #user-login-form,
    #user-pass {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    #user-login,
    #user-login-form,
    #user-pass {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    #user-login,
    #user-login-form,
    #user-pass {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    #user-login,
    #user-login-form,
    #user-pass {
      max-width: 100%;
      width: 1536px; } }
  #user-login > div,
  #user-login-form > div,
  #user-pass > div {
    margin: 0 auto;
    padding: 40px 20px; }
    @media (min-width: 480px) {
      #user-login > div,
      #user-login-form > div,
      #user-pass > div {
        width: 50%; } }
  #user-login label,
  #user-login-form label,
  #user-pass label {
    display: block; }
  #user-login input,
  #user-login-form input,
  #user-pass input {
    max-width: 100%; }
  #user-login .description,
  #user-login-form .description,
  #user-pass .description {
    font-style: italic;
    font-size: 0.8em; }
  #user-login .form-item-pass,
  #user-login-form .form-item-pass,
  #user-pass .form-item-pass {
    margin-top: 40px; }
  #user-login .form-actions > input,
  #user-login-form .form-actions > input,
  #user-pass .form-actions > input {
    margin-top: 40px;
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    height: 40px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    text-align: center;
    font-size: 16px;
    line-height: 40px;
    color: white;
    background-color: #c4000b;
    border: none; }
    #user-login .form-actions > input:not([disabled]):hover,
    #user-login-form .form-actions > input:not([disabled]):hover,
    #user-pass .form-actions > input:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      #user-login .form-actions > input:not([disabled]):hover a,
      #user-login-form .form-actions > input:not([disabled]):hover a,
      #user-pass .form-actions > input:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      #user-login .form-actions > input,
      #user-login-form .form-actions > input,
      #user-pass .form-actions > input {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }
    #user-login .form-actions > input:not([disabled]):hover,
    #user-login-form .form-actions > input:not([disabled]):hover,
    #user-pass .form-actions > input:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      #user-login .form-actions > input:not([disabled]):hover a,
      #user-login-form .form-actions > input:not([disabled]):hover a,
      #user-pass .form-actions > input:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      #user-login .form-actions > input,
      #user-login-form .form-actions > input,
      #user-pass .form-actions > input {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }
    @media (min-width: 0px) and (max-width: 479px) {
      #user-login .form-actions > input,
      #user-login-form .form-actions > input,
      #user-pass .form-actions > input {
        width: 100%; } }
  #user-login .item-list,
  #user-login-form .item-list,
  #user-pass .item-list {
    margin-top: 18px; }
    #user-login .item-list > ul,
    #user-login-form .item-list > ul,
    #user-pass .item-list > ul {
      list-style: none; }
    #user-login .item-list a,
    #user-login-form .item-list a,
    #user-pass .item-list a {
      color: inherit;
      text-decoration: none;
      display: inline;
      padding-bottom: 1px;
      border-bottom: 1px solid; }
      #user-login .item-list a:hover,
      #user-login-form .item-list a:hover,
      #user-pass .item-list a:hover {
        color: #c4000b; }

.page-property-group-sales .l-content-region > .messages,
.page-user .l-content-region > .messages {
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333;
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  text-align: center;
  margin-top: 80px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .page-property-group-sales .l-content-region > .messages,
    .page-user .l-content-region > .messages {
      font-size: 19px;
      line-height: 1.61111; } }
  @media (min-width: 0px) and (max-width: 479px) {
    .page-property-group-sales .l-content-region > .messages,
    .page-user .l-content-region > .messages {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .page-property-group-sales .l-content-region > .messages,
    .page-user .l-content-region > .messages {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .page-property-group-sales .l-content-region > .messages,
    .page-user .l-content-region > .messages {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .page-property-group-sales .l-content-region > .messages,
    .page-user .l-content-region > .messages {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .page-property-group-sales .l-content-region > .messages,
    .page-user .l-content-region > .messages {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .page-property-group-sales .l-content-region > .messages,
    .page-user .l-content-region > .messages {
      max-width: 100%;
      width: 1536px; } }
  .page-property-group-sales .l-content-region > .messages .messages__list,
  .page-user .l-content-region > .messages .messages__list {
    list-style: none; }
  .page-property-group-sales .l-content-region > .messages a,
  .page-user .l-content-region > .messages a {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333;
    color: inherit;
    text-decoration: none;
    display: inline;
    padding-bottom: 1px;
    border-bottom: 1px solid; }
    .page-property-group-sales .l-content-region > .messages a:hover,
    .page-user .l-content-region > .messages a:hover {
      color: #c4000b; }
    .page-property-group-sales .l-content-region > .messages a::before,
    .page-user .l-content-region > .messages a::before {
      content: "";
      display: table;
      clear: both; }

@media screen and (max-width: 768px) {
  body.filters-is-opened {
    overflow: hidden; } }

.view-gl-case-studies,
.view-gl-zbl-properties-search {
  margin-bottom: 45px; }
  @media (min-width: 0) and (max-width: 720px) {
    .view-gl-case-studies,
    .view-gl-zbl-properties-search {
      margin-bottom: 0; } }

@media (min-width: 0) and (max-width: 1023px) {
  .view-gl-zbl-properties-search .view-filters-wrapper {
    display: flex;
    width: 100%; } }

.view-gl-zbl-properties-search .sticky-wrapper {
  margin-top: 360px; }
  @media (min-width: 2600px) {
    .view-gl-zbl-properties-search .sticky-wrapper {
      margin-top: 500px; } }
  @media (min-width: 600px) and (max-width: 1023px) {
    .view-gl-zbl-properties-search .sticky-wrapper {
      margin-top: auto; } }
  @media only screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: landscape) {
    .view-gl-zbl-properties-search .sticky-wrapper {
      margin-top: 240px; } }
  @media (min-width: 0) and (max-width: 1023px) {
    .view-gl-zbl-properties-search .sticky-wrapper {
      width: 100%;
      position: relative;
      z-index: 999; } }
  @media screen and (min-width: 0) and (max-width: 1023px) and (max-height: 420px) {
    .view-gl-zbl-properties-search .sticky-wrapper {
      margin-top: 0; } }
  @media (min-width: 0) and (max-width: 599px) {
    .view-gl-zbl-properties-search .sticky-wrapper {
      margin-top: 0; } }

.view-gl-zbl-properties-search .view-filters {
  color: white;
  font-size: 17px;
  font-weight: 300;
  min-height: 1px;
  transition: top 0.2s ease-in-out; }
  .zbl-section-fh .view-gl-zbl-properties-search .view-filters {
    color: #292e32; }
  .zbl-section-ci .view-gl-zbl-properties-search .view-filters {
    color: #292e32; }
  .zbl-section-pg .view-gl-zbl-properties-search .view-filters {
    color: #292e32; }
  @media (min-width: 0) and (max-width: 1023px) {
    .view-gl-zbl-properties-search .view-filters {
      padding: 0; } }
  @media (min-width: 0) and (max-width: 599px) {
    .view-gl-zbl-properties-search .view-filters {
      padding: 0; } }
  @media (min-width: 0) and (max-width: 379px) {
    .view-gl-zbl-properties-search .view-filters {
      padding: 0; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .view-gl-zbl-properties-search .view-filters {
      position: fixed;
      left: 0;
      top: 80px;
      width: 100%;
      transform: none;
      max-width: initial; }
      body.logged-in .view-gl-zbl-properties-search .view-filters {
        top: 155px; }
      body.logged-in.front .view-gl-zbl-properties-search .view-filters {
        background-color: #fff; } }
  @media (min-width: 0) and (max-width: 766px) {
    .view-gl-zbl-properties-search .view-filters .filters {
      padding: 0 25px; } }
  @media (min-width: 0) and (max-width: 599px) {
    .view-gl-zbl-properties-search .view-filters .filters {
      padding: 0 20px; } }
  @media (min-width: 0) and (max-width: 379px) {
    .view-gl-zbl-properties-search .view-filters .filters {
      padding: 0 10px; } }
  .view-gl-zbl-properties-search .view-filters form {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: initial; }
    @media (min-width: 1024px) {
      .view-gl-zbl-properties-search .view-filters form {
        max-width: 984px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .view-gl-zbl-properties-search .view-filters form {
        max-width: 100%;
        width: 1151px; } }
    @media (min-width: 1359px) {
      .view-gl-zbl-properties-search .view-filters form {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .view-gl-zbl-properties-search .view-filters form {
        max-width: 100%;
        width: 1536px; } }
    @media (min-width: 768px) {
      .view-gl-zbl-properties-search .view-filters form {
        display: block !important; } }
    .view-gl-zbl-properties-search .view-filters form .filters {
      margin-bottom: 2px;
      text-align: center;
      position: relative; }
      .zbl-section-fh .view-gl-zbl-properties-search .view-filters form .filters {
        background-color: rgba(255, 255, 255, 0.95); }
      .zbl-section-ci .view-gl-zbl-properties-search .view-filters form .filters {
        background-color: rgba(255, 255, 255, 0.95); }
      .zbl-section-pg .view-gl-zbl-properties-search .view-filters form .filters {
        background-color: rgba(255, 255, 255, 0.95); }
      .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close {
        position: relative;
        margin: 0 auto;
        clear: both;
        position: absolute;
        top: 0;
        text-align: right;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 100%; }
        @media (min-width: 1024px) {
          .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close {
            max-width: 984px;
            width: 100%; } }
        @media (min-width: 1167px) {
          .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close {
            max-width: 100%;
            width: 1151px; } }
        @media (min-width: 1359px) {
          .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close {
            max-width: 100%;
            width: 1344px; } }
        @media (min-width: 1551px) {
          .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close {
            max-width: 100%;
            width: 1536px; } }
        @media (min-width: 0) and (max-width: 1023px) {
          .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close {
            display: none; } }
        .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close .filter-close {
          right: 1.2rem;
          cursor: pointer;
          font-size: 45px;
          display: inline-block;
          position: relative;
          text-decoration: none;
          height: 100%;
          width: 100%;
          left: 0; }
          .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close .filter-close::after {
            content: "\e7c6";
            font-family: 'zbl_linear_iconfont';
            speak: none;
            font-style: normal;
            font-weight: normal;
            font-variant: normal;
            text-transform: none;
            line-height: 1em;
            color: #000; }
            @media (min-width: 0) and (max-width: 1023px) {
              .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close .filter-close::after {
                vertical-align: top; } }
          .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close .filter-close.closed::after {
            content: "\e7c3"; }
          @media (min-width: 0) and (max-width: 1023px) {
            .view-gl-zbl-properties-search .view-filters form .filters .wrapper-filter-close .filter-close.closed {
              display: none; } }
      .view-gl-zbl-properties-search .view-filters form .filters #filters-tabs {
        position: relative;
        margin: 0 auto;
        clear: both;
        margin: auto; }
        @media (min-width: 1024px) {
          .view-gl-zbl-properties-search .view-filters form .filters #filters-tabs {
            max-width: 984px;
            width: 100%; } }
        @media (min-width: 1167px) {
          .view-gl-zbl-properties-search .view-filters form .filters #filters-tabs {
            max-width: 100%;
            width: 1151px; } }
        @media (min-width: 1359px) {
          .view-gl-zbl-properties-search .view-filters form .filters #filters-tabs {
            max-width: 100%;
            width: 1344px; } }
        @media (min-width: 1551px) {
          .view-gl-zbl-properties-search .view-filters form .filters #filters-tabs {
            max-width: 100%;
            width: 1536px; } }
      .view-gl-zbl-properties-search .view-filters form .filters .tab-link {
        display: inline-block;
        text-align: center;
        min-width: 120px;
        font-size: 16px;
        font-family: "Source Sans Pro";
        font-weight: bold;
        color: #2d2a28;
        padding: 23px 60px 23px 50px;
        border: 1px solid #d6d7da;
        line-height: 1;
        margin: 16px 0;
        position: relative;
        text-overflow: ellipsis;
        z-index: 1;
        transition: background-size 0.25s, font-size 0.25s, padding 0.25s; }
        .view-gl-zbl-properties-search .view-filters form .filters .tab-link:hover {
          cursor: pointer; }
        .view-gl-zbl-properties-search .view-filters form .filters .tab-link::after {
          content: '';
          position: absolute;
          right: 15px;
          top: 50%;
          transform: translateY(-50%);
          width: 30px;
          height: 30px;
          border: 1px solid #2d2a28;
          border-radius: 50%;
          background-image: url(../images/check-black.png);
          background-position: 50%;
          background-size: 18px;
          background-repeat: no-repeat; }
          @media (min-width: 0) and (max-width: 379px) {
            .view-gl-zbl-properties-search .view-filters form .filters .tab-link::after {
              background-size: 14px;
              width: 28px;
              height: 28px; } }
        .view-gl-zbl-properties-search .view-filters form .filters .tab-link.current::after {
          background-image: url(../images/check-white.png);
          background-color: #3d3d3d;
          border-color: #3d3d3d; }
        @media screen and (max-width: 863px) {
          .view-gl-zbl-properties-search .view-filters form .filters .tab-link {
            background: none !important;
            padding: 15px 70px 15px 20px !important; } }
        @media (min-width: 0px) and (max-width: 766px) {
          .view-gl-zbl-properties-search .view-filters form .filters .tab-link {
            width: 50%;
            text-align: left;
            padding-left: 20px !important; } }
        @media (min-width: 0) and (max-width: 599px) {
          .view-gl-zbl-properties-search .view-filters form .filters .tab-link {
            font-size: 20px;
            min-width: initial;
            margin: 17px 0;
            padding-top: 37px; } }
        @media (min-width: 0px) and (max-width: 479px) {
          .view-gl-zbl-properties-search .view-filters form .filters .tab-link {
            font-size: 16px; } }
        @media (min-width: 0) and (max-width: 379px) {
          .view-gl-zbl-properties-search .view-filters form .filters .tab-link {
            font-size: 14px;
            padding-left: 10px !important; } }
      .view-gl-zbl-properties-search .view-filters form .filters .filter-link-1 {
        display: none;
        background: url(../images/All_1.png) no-repeat 50% 0;
        background-size: 20px 100% !important;
        background-position: 15px 50%; }
        @media (min-width: 600px) and (max-width: 1023px) {
          .view-gl-zbl-properties-search .view-filters form .filters .filter-link-1 {
            background-size: 33px 100% !important; } }
      .view-gl-zbl-properties-search .view-filters form .filters .filter-link-2 {
        background: url(../images/icons/Self.svg) no-repeat 50% 0;
        background-size: 30px 100% !important;
        background-position: 15px 48%;
        padding-left: 60px;
        border-right: none;
        margin-bottom: 0 !important; }
        @media (min-width: 600px) and (max-width: 1023px) {
          .view-gl-zbl-properties-search .view-filters form .filters .filter-link-2 {
            background-size: 32px 100% !important; } }
      .view-gl-zbl-properties-search .view-filters form .filters .filter-link-3 {
        background: url(../images/icons/Investment.svg) no-repeat 50% 0;
        background-size: 25px 100% !important;
        background-position: 15px 48%;
        padding-left: 55px;
        border-left: none;
        margin-right: 20px;
        margin-bottom: 0 !important; }
        @media (min-width: 600px) and (max-width: 1023px) {
          .view-gl-zbl-properties-search .view-filters form .filters .filter-link-3 {
            background-size: 26px 100% !important; } }
        @media (min-width: 0px) and (max-width: 766px) {
          .view-gl-zbl-properties-search .view-filters form .filters .filter-link-3 {
            margin-bottom: 0;
            margin-right: 0; } }
      .view-gl-zbl-properties-search .view-filters form .filters .filter-link-4 {
        background: url(../images/icons/Germany.svg) no-repeat 50% 0;
        background-size: 20px 100% !important;
        background-position: 15px 50%;
        border-right: none; }
        @media (min-width: 600px) and (max-width: 1023px) {
          .view-gl-zbl-properties-search .view-filters form .filters .filter-link-4 {
            background-size: 22px 100% !important; } }
      .view-gl-zbl-properties-search .view-filters form .filters .filter-link-5 {
        background: url(../images/icons/Global.svg) no-repeat 50% 0;
        background-size: 40px 100% !important;
        background-position: 15px 50%;
        padding-left: 70px;
        border-left: none; }
        @media (min-width: 600px) and (max-width: 1023px) {
          .view-gl-zbl-properties-search .view-filters form .filters .filter-link-5 {
            background-size: 42px 100% !important; } }
      .view-gl-zbl-properties-search .view-filters form .filters .filter-link-3::before,
      .view-gl-zbl-properties-search .view-filters form .filters .filter-link-5::before {
        content: '';
        position: absolute;
        height: 30px;
        width: 1px;
        background-color: #d6d7da;
        left: -3px;
        top: 50%;
        transform: translateY(-50%); }
      .view-gl-zbl-properties-search .view-filters form .filters li:hover {
        color: #292e32; }
  .view-gl-zbl-properties-search .view-filters strong,
  .view-gl-zbl-properties-search .view-filters b {
    font-weight: 400; }
  .view-gl-zbl-properties-search .view-filters .btn-filter-wrapper {
    text-align: center;
    background: transparent; }
    @media (min-width: 1024px) {
      .view-gl-zbl-properties-search .view-filters .btn-filter-wrapper {
        display: none; } }
  .view-gl-zbl-properties-search .view-filters .btn-filter-trigger {
    height: 50px;
    text-transform: uppercase;
    border: none;
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: center;
    background-color: transparent;
    font-size: 0px;
    margin-bottom: 10px; }
    @media (min-width: 0) and (max-width: 479px) {
      .view-gl-zbl-properties-search .view-filters .btn-filter-trigger {
        height: 30px; } }
    .view-gl-zbl-properties-search .view-filters .btn-filter-trigger::after {
      content: "\e7c6";
      font-family: 'zbl_linear_iconfont';
      speak: none;
      font-size: 50px;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1em;
      color: #000; }
      @media (min-width: 0) and (max-width: 479px) {
        .view-gl-zbl-properties-search .view-filters .btn-filter-trigger::after {
          line-height: 0.6em; } }
    .view-gl-zbl-properties-search .view-filters .btn-filter-trigger:hover {
      background-color: transparent; }
  .view-gl-zbl-properties-search .view-filters .views-exposed-form {
    font-family: "Source Sans Pro"; }
    @media screen and (max-height: 650px) and (min-width: 600px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-form {
        display: block;
        overflow-y: scroll;
        max-height: calc(100vh - 120px); } }
    @media screen and (max-height: 570px) and (max-width: 600px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-form {
        display: block;
        overflow-y: scroll;
        max-height: calc(100vh - 120px); } }
  @media screen and (max-height: 570px) and (max-width: 600px) and (min-width: 0) and (max-width: 599px) {
    .view-gl-zbl-properties-search .view-filters .views-exposed-form {
      max-height: calc(100vh - 74px); } }
    .zbl-section-fh .view-gl-zbl-properties-search .view-filters .views-exposed-form {
      background-color: rgba(255, 255, 255, 0.95); }
    .zbl-section-ci .view-gl-zbl-properties-search .view-filters .views-exposed-form {
      background-color: rgba(255, 255, 255, 0.95); }
    .zbl-section-pg .view-gl-zbl-properties-search .view-filters .views-exposed-form {
      background-color: rgba(255, 255, 255, 0.95); }
    @media (min-width: 0) and (max-width: 1023px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-form {
        display: none; } }
  .view-gl-zbl-properties-search .view-filters .views-exposed-widgets {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: visible;
    text-align: center;
    padding: 18px 15px 0; }
    @media (min-width: 1024px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets {
        max-width: 984px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets {
        max-width: 100%;
        width: 1151px; } }
    @media (min-width: 1359px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets {
        max-width: 100%;
        width: 1536px; } }
    @media (min-width: 0) and (max-width: 1023px) {
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets {
        padding-bottom: 10px; } }
    .view-gl-zbl-properties-search .view-filters .views-exposed-widgets #edit-prefix-wrapper, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets #edit-field-zabel-content-prefix-1-wrapper {
      display: none; }
    .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div {
      width: 18%;
      padding: 0 40px;
      float: left;
      margin-bottom: 15px;
      text-align: left; }
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div#filter-size-wrapper {
        width: 23%; }
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div#filter-price-wrapper {
        width: 23%; }
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all {
        padding-left: 20px; }
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all label {
          font-family: "Source Sans Pro";
          font-weight: 600; }
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button {
        padding-right: 20px; }
      @media (min-width: 1024px) and (max-width: 1167px) {
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div {
          width: 17%; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div#filter-size-wrapper {
            width: 24%; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div#filter-price-wrapper {
            width: 25%; } }
      @media (min-width: 1024px) and (max-width: 1358px) {
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div {
          padding: 0 10px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all {
            padding-left: 10px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button {
            padding-right: 10px; } }
      @media (min-width: 0) and (max-width: 1023px) {
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div {
          width: 100% !important;
          padding: 0 60px;
          margin-bottom: 10px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all {
            margin-top: 20px;
            margin-bottom: 25px;
            padding: 0 40px; }
            .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all label {
              display: none; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-exposed-widget {
            width: 100%;
            float: none;
            display: inline-block;
            text-align: center; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .virtual-wrapper {
            margin-bottom: 15px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button {
            margin-bottom: 0;
            padding: 0 60px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button {
            margin-top: 10px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .form-submit,
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .form-type-select {
            display: inline-block;
            vertical-align: middle;
            width: 100%; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .form-type-select {
            text-align: left; } }
      @media (min-width: 0) and (max-width: 766px) {
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div {
          padding: 0 40px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all {
            margin-top: 20px;
            padding: 0 20px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .value-wrapper {
            margin-top: 12px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button {
            padding: 0 40px; }
            .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button .submit-button-label, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button .submit-button-label {
              margin-bottom: 10px;
              text-align: left; }
              .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button .submit-button-label .results-count, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button .submit-button-label .results-count {
                float: none;
                display: inline-block;
                margin-left: 10px; }
            .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button .form-submit, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button .form-submit {
              height: 40px;
              line-height: 40px; } }
      @media (min-width: 0) and (max-width: 599px) {
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div {
          padding: 0 30px;
          margin-bottom: 7px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all {
            padding: 0 20px;
            margin-top: 5px;
            margin-bottom: 10px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button {
            display: inline-block;
            width: 100%;
            padding: 0 30px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .value-wrapper {
            margin-top: 10px; } }
      @media (min-width: 0) and (max-width: 479px) {
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div {
          margin-bottom: 3px;
          padding: 0 15px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-widget-filter-field_location_parents_all {
            padding: 0 5px; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button {
            padding: 0 15px; } }
      @media (min-width: 0) and (max-width: 379px) {
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .virtual-wrapper {
          margin-bottom: 10px; }
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-submit-button .form-submit, .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div.views-reset-button .form-submit {
          height: 35px;
          line-height: 35px; }
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .selectric {
          font-family: "Source Sans Pro"; }
          .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .selectric label {
            height: 35px;
            line-height: 35px; }
            .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .selectric label .selectric-button {
              height: 35px;
              line-height: 35px; }
        .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .value-wrapper {
          margin-top: 7px; } }
      .view-gl-zbl-properties-search .view-filters .views-exposed-widgets > div .views-exposed-widget {
        display: none; }
    .view-gl-zbl-properties-search .view-filters .views-exposed-widgets .views-exposed-widget label {
      display: none;
      margin-bottom: 4px;
      font-size: 17px;
      font-weight: 300;
      margin-bottom: 4px; }
    .view-gl-zbl-properties-search .view-filters .views-exposed-widgets .views-exposed-widget .form-submit {
      margin-top: 0; }
    .view-gl-zbl-properties-search .view-filters .views-exposed-widgets .views-widget-filter-field_location_parents_all label {
      display: block; }
  .view-gl-zbl-properties-search .view-filters .ui-slider-horizontal {
    margin-left: 0.3em;
    margin-right: 0.3em;
    clear: both;
    background: #b1b1b1;
    border: none;
    height: 5px;
    border-radius: 5px; }
  .view-gl-zbl-properties-search .view-filters .ui-slider-handle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #556977;
    box-shadow: 0 2px 4px 0 rgba(100, 100, 100, 0.6); }
    .view-gl-zbl-properties-search .view-filters .ui-slider-handle:before {
      content: '';
      display: block;
      position: absolute;
      width: 8px;
      height: 8px;
      top: 5px;
      left: 5px;
      margin: auto;
      background: #6f6f6e;
      border-radius: 50%; }
  .view-gl-zbl-properties-search .view-filters .ui-slider-handle {
    top: -7px; }
  .view-gl-zbl-properties-search .view-filters .ui-slider-range {
    background: #c4000b; }
  .view-gl-zbl-properties-search .view-filters .filter-slider {
    margin-bottom: 10px; }
    @media (min-width: 0) and (max-width: 379px) {
      .view-gl-zbl-properties-search .view-filters .filter-slider {
        margin-bottom: 7px; } }
  .view-gl-zbl-properties-search .view-filters .virtual-wrapper {
    text-align: right;
    margin-bottom: 20px;
    white-space: nowrap; }
    .view-gl-zbl-properties-search .view-filters .virtual-wrapper > div {
      display: inline-block;
      vertical-align: top; }
    .view-gl-zbl-properties-search .view-filters .virtual-wrapper .switcher-wrapper {
      float: left; }
    .view-gl-zbl-properties-search .view-filters .virtual-wrapper .delimiter {
      margin-left: 5px;
      margin-right: 5px; }
  .view-gl-zbl-properties-search .view-filters .virtual-label {
    float: left;
    margin-right: 5px;
    font-weight: 600; }
  .view-gl-zbl-properties-search .view-filters .switcher-trigger {
    position: relative;
    z-index: 11;
    width: 20px;
    height: 20px;
    margin-left: 5px;
    margin-top: 3px;
    display: block;
    background: #c6c6c5;
    border: 0;
    cursor: pointer;
    text-align: center;
    line-height: 15px !important; }
    .view-gl-zbl-properties-search .view-filters .switcher-trigger:before {
      content: "\e60a";
      font-family: 'zbl_custom_iconfont';
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1em;
      -webkit-font-smoothing: antialiased;
      color: white;
      line-height: 20px !important;
      font-size: 13px !important;
      vertical-align: middle !important; }
  .view-gl-zbl-properties-search .view-filters .switcher-menu {
    position: absolute;
    left: -1px;
    top: -1px; }
    @media (min-width: 0px) and (max-width: 1358px) {
      .view-gl-zbl-properties-search .view-filters .switcher-menu {
        left: auto;
        right: -1px; } }
  .view-gl-zbl-properties-search .view-filters .switcher-item {
    display: block !important;
    background: #c6c6c5;
    height: 25px;
    line-height: 25px !important;
    padding: 0 9px;
    border: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    color: white !important;
    font-size: 13px !important;
    text-align: left; }
    .view-gl-zbl-properties-search .view-filters .switcher-item:hover {
      background: #292e32; }
  .view-gl-zbl-properties-search .view-filters .value-wrapper {
    font-size: 17px;
    margin-top: 15px; }
    .zbl-section-fh .view-gl-zbl-properties-search .view-filters .value-wrapper {
      color: #6f6f6e; }
    .zbl-section-ci .view-gl-zbl-properties-search .view-filters .value-wrapper {
      color: #6f6f6e; }
    .zbl-section-pg .view-gl-zbl-properties-search .view-filters .value-wrapper {
      color: #6f6f6e; }
    .view-gl-zbl-properties-search .view-filters .value-wrapper .value_one {
      display: inline-block; }
    .view-gl-zbl-properties-search .view-filters .value-wrapper .value_two {
      float: right; }
  .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric {
    background-color: #b1b1b1; }
  .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric {
    background-color: #b1b1b1; }
  .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric {
    background-color: #b1b1b1; }
  .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric {
    color: #ffffff; }
  .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric {
    color: #ffffff; }
  .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric {
    color: #ffffff; }
  .view-gl-zbl-properties-search .view-filters .selectric .label {
    color: inherit;
    height: 40px;
    line-height: 40px;
    font-size: 17px; }
  .view-gl-zbl-properties-search .view-filters .selectric .selectric-button {
    color: inherit;
    height: 40px;
    line-height: 40px; }
    .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric .selectric-button:after {
      border-top-color: white; }
    .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric .selectric-button:after {
      border-top-color: #333333; }
    .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric .selectric-button:after {
      border-top-color: #333333; }
    .view-gl-zbl-properties-search .view-filters .selectric .selectric-button:before {
      margin: -12px 0 0 -12px;
      padding: 5px 7px;
      border: 1px solid #ffffff !important; }
  .view-gl-zbl-properties-search .view-filters .selectric-items {
    border: 0;
    margin-top: -1px; }
    .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric-items {
      background-color: #b1b1b1; }
    .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric-items {
      background-color: #b1b1b1; }
    .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric-items {
      background-color: #b1b1b1; }
    .view-gl-zbl-properties-search .view-filters .selectric-items li {
      font-size: 17px;
      white-space: pre; }
      .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric-items li {
        color: #ffffff; }
      .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric-items li {
        color: #ffffff; }
      .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric-items li {
        color: #ffffff; }
      .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric-items li {
        background-color: #b1b1b1; }
      .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric-items li {
        background-color: #b1b1b1; }
      .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric-items li {
        background-color: #b1b1b1; }
      .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric-items li.selected, .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric-items li:hover {
        background-color: #292e32; }
      .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric-items li.selected, .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric-items li:hover {
        background-color: #292e32; }
      .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric-items li.selected, .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric-items li:hover {
        background-color: #292e32; }
      .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric-items li.selected, .zbl-section-fh .view-gl-zbl-properties-search .view-filters .selectric-items li:hover {
        color: #ffffff; }
      .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric-items li.selected, .zbl-section-ci .view-gl-zbl-properties-search .view-filters .selectric-items li:hover {
        color: #ffffff; }
      .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric-items li.selected, .zbl-section-pg .view-gl-zbl-properties-search .view-filters .selectric-items li:hover {
        color: #ffffff; }
  .view-gl-zbl-properties-search .view-filters .views-submit-button .form-submit, .view-gl-zbl-properties-search .view-filters .views-reset-button .form-submit {
    height: 35px;
    line-height: 35px;
    width: 100%;
    border: none;
    background: #c4000b;
    color: #f1f2f3;
    font-size: 22px;
    font-weight: 300;
    border-radius: 2px; }
  .view-gl-zbl-properties-search .view-filters .views-submit-button .form-submit {
    background: #c4000b url(../images/search.png) no-repeat 20%;
    background-size: 17px 17px;
    padding-left: 40px; }
    @media (min-width: 0) and (max-width: 1167px) {
      .view-gl-zbl-properties-search .view-filters .views-submit-button .form-submit {
        background: #c4000b url(../images/search.png) no-repeat 14%;
        background-size: 17px 17px; } }
    @media (min-width: 0) and (max-width: 1023px) {
      .view-gl-zbl-properties-search .view-filters .views-submit-button .form-submit {
        background: #c4000b;
        padding: 0; } }
    .view-gl-zbl-properties-search .view-filters .views-submit-button .form-submit:hover {
      background: #c4000b url(../images/search.png) no-repeat 20%;
      background-size: 17px 17px; }
      @media (min-width: 0) and (max-width: 1167px) {
        .view-gl-zbl-properties-search .view-filters .views-submit-button .form-submit:hover {
          background: #c4000b url(../images/search.png) no-repeat 14%;
          background-size: 17px 17px; } }
      @media (min-width: 0) and (max-width: 1023px) {
        .view-gl-zbl-properties-search .view-filters .views-submit-button .form-submit:hover {
          background: #c4000b; } }
  .view-gl-zbl-properties-search .view-filters .submit-button-label {
    text-align: center;
    margin-bottom: 16px;
    height: 19px; }
    .view-gl-zbl-properties-search .view-filters .submit-button-label::after {
      content: "";
      display: table;
      clear: both; }
  .view-gl-zbl-properties-search .view-filters .results-text {
    float: left;
    font-weight: 600; }
  .view-gl-zbl-properties-search .view-filters .results-count {
    float: right;
    font-size: 17px; }
  .view-gl-zbl-properties-search .view-filters.stuck {
    position: fixed;
    left: 0;
    top: 0;
    transform: none;
    max-width: initial; }
    @media (min-width: 0px) and (max-width: 766px) {
      body.logged-in .view-gl-zbl-properties-search .view-filters.stuck {
        top: 155px; } }
    @media screen and (max-width: 768px) and (min-width: 0px) {
      .view-gl-zbl-properties-search .view-filters.stuck {
        top: 80px; }
        body.logged-in .view-gl-zbl-properties-search .view-filters.stuck {
          top: 155px; }
        body.logged-in.front .view-gl-zbl-properties-search .view-filters.stuck {
          background-color: #fff; } }
  .view-gl-zbl-properties-search .view-filters.full-width form {
    max-width: 100%;
    width: 100%;
    -webkit-transition: height 200ms linear, width 200ms linear;
    -moz-transition: height 200ms linear, width 200ms linear;
    transition: height 200ms linear, width 200ms linear; }
  .view-gl-zbl-properties-search .view-filters.collapsed form .filters .tab-link {
    padding: 10px 50px 10px; }
    @media (min-width: 0) and (max-width: 599px) {
      .view-gl-zbl-properties-search .view-filters.collapsed form .filters .tab-link {
        padding: 19px 0 0; } }
    @media screen and (min-width: 864px) {
      .view-gl-zbl-properties-search .view-filters.collapsed form .filters .tab-link {
        font-size: 13px; }
        .view-gl-zbl-properties-search .view-filters.collapsed form .filters .tab-link::after {
          width: 24px;
          height: 24px;
          background-size: 14px; } }
  .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-1 {
    background-size: 24px 100% !important; }
    .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-1.current {
      background-size: 24px 100% !important; }
  .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-2 {
    background-size: 24px 100% !important; }
    .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-2.current {
      background-size: 24px 100% !important; }
  .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-3 {
    background-size: 18px 100% !important; }
    .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-3.current {
      background-size: 18px 100% !important; }
  .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-4 {
    background-size: 16px 100% !important; }
    .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-4.current {
      background-size: 16px 100% !important; }
  .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-5 {
    background-size: 28px 100% !important; }
    .view-gl-zbl-properties-search .view-filters.collapsed form .filters .filter-link-5.current {
      background-size: 28px 100% !important; }

.stripe {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }
  .stripe::after, .stripe::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 9600px;
    right: 100%; }
    @media screen and (max-width: 768px) {
      .stripe::after, .stripe::before {
        background-color: #fff; } }
  .stripe::after {
    left: 100%; }
  body.logged-in .stripe {
    display: block; }

.wrapper-filter-open, .wrapper-filter-open.hide {
  display: none; }

@media screen and (max-width: 1023px) and (min-width: 0px) {
  .wrapper-filter-open {
    display: block;
    height: 30px;
    width: 100%;
    margin-top: 2px;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.9); }
    .wrapper-filter-open::after {
      content: '';
      margin: 3px auto;
      display: block;
      height: 15px;
      width: 15px;
      transform: rotate(45deg);
      border: 1px solid #000;
      border-width: 0 2px 2px 0; } }

.loading .wrapper-filter-open::after {
  display: none; }

.loading .wrapper-filter-open::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 35%;
  background: transparent url("../images/progress_bar.gif") no-repeat center center;
  transform: translate(-50%, -50%);
  margin: 3px auto;
  width: 30px;
  height: 15px;
  background-size: cover; }

@media screen and (max-width: 1023px) and (min-width: 0px) {
  body.logged-in .wrapper-filter-open {
    margin-top: 0;
    background-color: rgba(255, 255, 255, 0.9); } }
  @media screen and (max-width: 1023px) and (min-width: 0px) and (max-width: 768px) {
    body.logged-in .wrapper-filter-open {
      background-color: #fff; } }

#modal-throbber .modal-throbber {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background: transparent url("../images/ajax-loader.gif") no-repeat center center; }

.ajax-progress .throbber {
  display: none; }

.gl-header-large .image-full-bg {
  height: 70vh;
  width: 100%; }
  .gl-header-large .image-full-bg h2 {
    text-align: center;
    display: inline-block;
    width: 100%;
    padding-top: 20vh; }

.image-full-bg .img-url {
  display: none; }

.imageheader {
  height: 600px; }
  @media (min-width: 1024px) {
    .header-large .node-master-property:not(.view-mode-property_landing_page):not(.view-mode-story_landing_page) .imageheader {
      height: calc(100vh - 151px) !important; } }
  @media (min-width: 1167px) {
    .header-large .node-master-property:not(.view-mode-property_landing_page):not(.view-mode-story_landing_page) .imageheader {
      height: calc(100vh - 140px) !important; } }
  @media (min-width: 766px) and (max-width: 1023px) {
    .header-large .node-master-property:not(.view-mode-property_landing_page):not(.view-mode-story_landing_page) .imageheader {
      height: calc(100vh - 140px) !important; } }
  @media (min-width: 0) and (max-width: 768px) {
    .header-large .node-master-property:not(.view-mode-property_landing_page):not(.view-mode-story_landing_page) .imageheader {
      height: 100vh !important; } }
  @media (min-width: 0) and (max-width: 320px) {
    .header-large .node-master-property:not(.view-mode-property_landing_page):not(.view-mode-story_landing_page) .imageheader {
      height: calc(100vh - 75px) !important; } }
  .imageheader .slick {
    position: relative;
    width: 100%;
    height: 100%;
    max-height: none; }
  @media (min-width: 0px) and (max-width: 479px) {
    .imageheader {
      height: 300px; } }
  .imageheader.imageheader--2col .slick,
  .imageheader.imageheader--2col .slick .slick__slider,
  .imageheader.imageheader--2col .slick .slick-list,
  .imageheader.imageheader--2col .slick .slick-track,
  .imageheader.imageheader--2col .slick .slick__slide,
  .imageheader.imageheader--2col .slick .slide__content,
  .imageheader.imageheader--2col .slick .media {
    max-height: none;
    height: 100%; }
  .imageheader.imageheader--2col .slick .media picture img {
    min-height: 100%; }
  .imageheader.imageheader--2col .header--overlay {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden;
    padding: 60px 3.6rem;
    position: absolute; }
    @media (min-width: 0px) and (max-width: 479px) {
      .imageheader.imageheader--2col .header--overlay {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .imageheader.imageheader--2col .header--overlay {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      .imageheader.imageheader--2col .header--overlay {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .imageheader.imageheader--2col .header--overlay {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      .imageheader.imageheader--2col .header--overlay {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .imageheader.imageheader--2col .header--overlay {
        max-width: 100%;
        width: 1536px; } }
    .imageheader.imageheader--2col .header--overlay br {
      display: none; }
    .imageheader.imageheader--2col .header--overlay .entity {
      padding: 0; }
    .imageheader.imageheader--2col .header--overlay .l-text {
      float: left;
      width: 60%;
      padding: 80px 8%; }
      .lang-rtl .imageheader.imageheader--2col .header--overlay .l-text {
        float: right; }
      @media (min-width: 0px) and (max-width: 1551px) {
        .imageheader.imageheader--2col .header--overlay .l-text {
          width: 55%;
          padding-left: 50px;
          padding-right: 50px; } }
      @media (min-width: 0px) and (max-width: 1358px) {
        .imageheader.imageheader--2col .header--overlay .l-text {
          width: 100%;
          padding: 30px 0 80px; } }
    .imageheader.imageheader--2col .header--overlay .header--title {
      margin-bottom: 50px; }
      .imageheader.imageheader--2col .header--overlay .header--title:after {
        content: '';
        display: block; }
    .imageheader.imageheader--2col .header--overlay .header--subtitle {
      line-height: 1.3;
      padding: 4px 0;
      margin-bottom: 60px; }
      .imageheader.imageheader--2col .header--overlay .header--subtitle:after {
        content: '';
        display: block; }
    .imageheader.imageheader--2col .header--overlay .header-form {
      background-color: rgba(107, 118, 120, 0.9);
      color: #ffffff;
      float: right;
      width: 40%;
      padding: 20px; }
      @media (min-width: 0px) and (max-width: 1551px) {
        .imageheader.imageheader--2col .header--overlay .header-form {
          width: 45%; } }
      @media (min-width: 0px) and (max-width: 1358px) {
        .imageheader.imageheader--2col .header--overlay .header-form {
          width: 100%; } }
      .imageheader.imageheader--2col .header--overlay .header-form .block-title {
        font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
        font-weight: 300;
        font-style: normal;
        text-transform: uppercase;
        font-size: 50px;
        line-height: 1.5;
        line-height: 1.2;
        font-size: 36px; }
        @media (min-width: 0px) and (max-width: 766px) {
          .imageheader.imageheader--2col .header--overlay .header-form .block-title {
            font-size: 30px; } }
      .imageheader.imageheader--2col .header--overlay .header-form .webform-component-markup label {
        display: none; }
      .imageheader.imageheader--2col .header--overlay .header-form label {
        color: #ffffff; }
      .imageheader.imageheader--2col .header--overlay .header-form input,
      .imageheader.imageheader--2col .header--overlay .header-form .selectric {
        color: #ffffff;
        background-color: transparent;
        border-color: #ffffff; }
        .imageheader.imageheader--2col .header--overlay .header-form input::-webkit-input-placeholder,
        .imageheader.imageheader--2col .header--overlay .header-form .selectric::-webkit-input-placeholder {
          color: #ffffff; }
        .imageheader.imageheader--2col .header--overlay .header-form input::-moz-placeholder,
        .imageheader.imageheader--2col .header--overlay .header-form .selectric::-moz-placeholder {
          color: #ffffff; }
        .imageheader.imageheader--2col .header--overlay .header-form input:-moz-placeholder,
        .imageheader.imageheader--2col .header--overlay .header-form .selectric:-moz-placeholder {
          color: #ffffff; }
        .imageheader.imageheader--2col .header--overlay .header-form input:-ms-input-placeholder,
        .imageheader.imageheader--2col .header--overlay .header-form .selectric:-ms-input-placeholder {
          color: #ffffff; }
        .imageheader.imageheader--2col .header--overlay .header-form input.error,
        .imageheader.imageheader--2col .header--overlay .header-form .selectric.error {
          background-color: transparent;
          border-color: #ff6a6a; }
          .imageheader.imageheader--2col .header--overlay .header-form input.error::-webkit-input-placeholder,
          .imageheader.imageheader--2col .header--overlay .header-form .selectric.error::-webkit-input-placeholder {
            color: #c4000b !important; }
          .imageheader.imageheader--2col .header--overlay .header-form input.error:-moz-placeholder,
          .imageheader.imageheader--2col .header--overlay .header-form .selectric.error:-moz-placeholder {
            color: #c4000b !important;
            opacity: 1; }
          .imageheader.imageheader--2col .header--overlay .header-form input.error::-moz-placeholder,
          .imageheader.imageheader--2col .header--overlay .header-form .selectric.error::-moz-placeholder {
            color: #c4000b !important;
            opacity: 1; }
          .imageheader.imageheader--2col .header--overlay .header-form input.error:-ms-input-placeholder,
          .imageheader.imageheader--2col .header--overlay .header-form .selectric.error:-ms-input-placeholder {
            color: #c4000b !important; }
      .imageheader.imageheader--2col .header--overlay .header-form .selectric .label {
        color: #ffffff; }
      .imageheader.imageheader--2col .header--overlay .header-form .selectric-error {
        background-color: transparent;
        border-color: #ff6a6a; }
        .imageheader.imageheader--2col .header--overlay .header-form .selectric-error p.label {
          color: #c4000b !important; }
      .imageheader.imageheader--2col .header--overlay .header-form .selectric-items li {
        background-color: #6b7678;
        color: #ffffff; }
        .imageheader.imageheader--2col .header--overlay .header-form .selectric-items li.selected {
          background-color: #6b7678;
          color: #ffffff; }
      .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio label:before {
        border-width: 1px;
        border-style: solid;
        border-color: #ffffff; }
      .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio input:checked + label:after {
        display: block;
        left: 5px;
        top: 50%;
        margin-top: -2px;
        width: 6px;
        height: 6px;
        background: #ffffff;
        border-radius: 50%;
        background-color: #ffffff; }
        .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio input:checked + label:after {
          left: initial; }
        .lang-rtl .imageheader.imageheader--2col .header--overlay .header-form .form-item.form-type-radio input:checked + label:after {
          right: 5px; }
      .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form {
        color: #ffffff; }
        .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form label {
          font-weight: 300;
          font-size: 17px;
          margin-bottom: 5px; }
        .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message {
          font-size: 16px;
          margin-bottom: 5px; }
          .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message label {
            line-height: 1.2;
            font-size: 30px;
            text-transform: uppercase;
            font-weight: 300;
            margin-bottom: 20px; }
          .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message strong,
          .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message b {
            font-size: 1.2em;
            font-weight: 300; }
          .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message .form-image {
            background-size: contain;
            float: right;
            width: 216px;
            max-width: 100%;
            height: 85px;
            margin-left: 30px;
            margin-bottom: 15px; }
            .zbl-section-fh .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message .form-image {
              background-image: url(../images/asia-pacific-fh.png); }
            .zbl-section-ci .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message .form-image {
              background-image: url(../images/asia-pacific-ci.png); }
            .zbl-section-pg .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message .form-image {
              background-image: url(../images/asia-pacific-ci.png); }
            @media (min-width: 0) and (max-width: 599px) {
              .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component--message .form-image {
                float: none;
                margin-left: auto;
                margin-right: auto; } }
        .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-radios .form-type-radio {
          margin-top: 0; }
        .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .webform-component-radios {
          margin-bottom: 15px; }
        .imageheader.imageheader--2col .header--overlay .header-form .webform-client-form .form-actions .webform-submit {
          margin-bottom: 5px;
          height: 46px;
          line-height: 46px; }

.imageheader {
  position: relative;
  overflow: hidden;
  width: 100%; }
  .imageheader .slider {
    width: 100%;
    height: 100%;
    position: absolute; }
    .imageheader .slider .slider-image {
      position: relative; }
  .imageheader .slider-image {
    width: 100%;
    height: 100%;
    position: absolute;
    background-position: center;
    background-size: cover; }
  .imageheader .header--overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1;
    text-align: center; }
    .imageheader .header--overlay .l-text {
      position: relative;
      margin: 0 auto;
      clear: both;
      overflow: hidden;
      font-size: 35px;
      padding: 160px 11% 20px;
      padding-left: calc(10% + 4.4rem);
      padding-right: calc(10% + 4.4rem); }
      @media (min-width: 0px) and (max-width: 479px) {
        .imageheader .header--overlay .l-text {
          max-width: 480px;
          width: 100%; } }
      @media (min-width: 480px) and (max-width: 766px) {
        .imageheader .header--overlay .l-text {
          max-width: 767px;
          width: 100%; } }
      @media (min-width: 768px) {
        .imageheader .header--overlay .l-text {
          max-width: 1008px;
          width: 100%; } }
      @media (min-width: 1167px) {
        .imageheader .header--overlay .l-text {
          max-width: 100%;
          width: 1152px; } }
      @media (min-width: 1359px) {
        .imageheader .header--overlay .l-text {
          max-width: 100%;
          width: 1344px; } }
      @media (min-width: 1551px) {
        .imageheader .header--overlay .l-text {
          max-width: 100%;
          width: 1536px; } }
      @media (min-width: 0) and (max-width: 599px) {
        .imageheader .header--overlay .l-text {
          font-size: 30px; } }
      @media (min-width: 0px) and (max-width: 479px) {
        .imageheader .header--overlay .l-text {
          padding-top: 40px; } }
      @media (min-width: 480px) and (max-width: 766px) {
        .imageheader .header--overlay .l-text {
          padding-top: 220px;
          padding-left: 3%;
          padding-right: 3%; } }
      @media (min-width: 768px) {
        .imageheader .header--overlay .l-text {
          padding-top: 220px; } }
      @media (min-width: 1551px) {
        .imageheader .header--overlay .l-text {
          padding-top: 250px; } }
      @media (max-width: 1358px) and (min-width: 0px) {
        .imageheader .header--overlay .l-text {
          padding-left: 4.8rem;
          padding-right: 4.8rem; } }
    .imageheader .header--overlay .header--title,
    .imageheader .header--overlay .header--subtitle {
      background: rgba(0, 0, 0, 0.7);
      box-shadow: 1.2rem 0 0 rgba(0, 0, 0, 0.7), -1.2rem 0 0 rgba(0, 0, 0, 0.7);
      padding: 6px 0;
      color: white;
      box-decoration-break: clone;
      position: relative;
      z-index: 1; }
    .imageheader .header--overlay .header--title {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 50px;
      line-height: 1.5;
      line-height: 1.6; }
      @media (min-width: 0px) and (max-width: 766px) {
        .imageheader .header--overlay .header--title {
          font-size: 30px; } }
      @media (min-width: 0px) and (max-width: 766px) {
        .imageheader .header--overlay .header--title {
          font-size: 34px; } }
    .imageheader .header--overlay .header--subtitle {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 25px;
      line-height: 1.84;
      line-height: 1.9; }
      @media (min-width: 0px) and (max-width: 766px) {
        .imageheader .header--overlay .header--subtitle {
          font-size: 20px; } }
    .imageheader .header--overlay .icon {
      margin-top: 2.4rem; }
      .imageheader .header--overlay .icon .vocabulary-building {
        position: relative;
        height: auto;
        text-align: center; }
        .imageheader .header--overlay .icon .vocabulary-building img {
          margin: 0;
          display: block;
          margin: auto;
          width: auto;
          max-height: 200px;
          max-width: 100%; }
        .imageheader .header--overlay .icon .vocabulary-building .lazyloader-icon {
          position: absolute;
          top: 50% !important;
          left: 50% !important;
          transform: translate(-50%, -50%); }
    .imageheader .header--overlay .scroll-down {
      margin-top: 2.4rem; }
      @media (min-width: 0px) and (max-width: 479px) {
        .imageheader .header--overlay .scroll-down {
          margin-top: 20px; } }
    .imageheader .header--overlay .icon-wrapper {
      position: relative;
      margin: 0 auto;
      clear: both;
      overflow: hidden;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 60px; }
      @media (min-width: 0px) and (max-width: 479px) {
        .imageheader .header--overlay .icon-wrapper {
          max-width: 480px;
          width: 100%; } }
      @media (min-width: 480px) and (max-width: 766px) {
        .imageheader .header--overlay .icon-wrapper {
          max-width: 767px;
          width: 100%; } }
      @media (min-width: 768px) {
        .imageheader .header--overlay .icon-wrapper {
          max-width: 1008px;
          width: 100%; } }
      @media (min-width: 1167px) {
        .imageheader .header--overlay .icon-wrapper {
          max-width: 100%;
          width: 1152px; } }
      @media (min-width: 1359px) {
        .imageheader .header--overlay .icon-wrapper {
          max-width: 100%;
          width: 1344px; } }
      @media (min-width: 1551px) {
        .imageheader .header--overlay .icon-wrapper {
          max-width: 100%;
          width: 1536px; } }
      @media (min-width: 0px) and (max-width: 766px) {
        .imageheader .header--overlay .icon-wrapper {
          bottom: 20px; } }
    @media (min-width: 0px) {
      .imageheader .header--overlay .social {
        width: 81.25%;
        float: left;
        margin-right: -100%;
        margin-left: 9.3125%;
        clear: both;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 480px) {
      .imageheader .header--overlay .social {
        width: 40.625%;
        float: left;
        margin-right: -100%;
        margin-left: 29.65625%;
        clear: both;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 768px) {
      .imageheader .header--overlay .social {
        width: 27.08333%;
        float: left;
        margin-right: -100%;
        margin-left: 36.4375%;
        clear: both;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 1359px) {
      .imageheader .header--overlay .social {
        width: 20.3125%;
        float: left;
        margin-right: -100%;
        margin-left: 39.82812%;
        clear: both;
        padding-left: 0;
        padding-right: 0; } }
  .imageheader.header-hide-text .header--title,
  .imageheader.header-hide-text .header--subtitle {
    display: none; }

.l-header-wrapper {
  background-color: #000;
  top: 0;
  clear: both;
  position: relative;
  z-index: 20;
  transition: top 0.2s ease-in-out; }
  @media screen and (max-width: 768px) and (min-width: 0px) {
    .l-header-wrapper {
      position: fixed;
      width: 100%;
      z-index: 1060; } }
  .l-header-wrapper::before {
    content: "";
    position: absolute;
    top: 100%;
    height: 5px;
    width: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) -60%, transparent);
    box-shadow: inset 0 1px 0 rgba(1, 27, 52, 0.8); }

@media screen and (max-width: 768px) {
  .header-hidden_l-content-row .view-gl-zbl-properties-search .view-filters {
    top: 0 !important; }
  .header-hidden_l-content-row {
    padding-top: 0 !important; } }

.header {
  position: relative;
  clear: both;
  z-index: 99;
  overflow: visible;
  padding-left: 1.2rem;
  padding-right: 1.2rem; }
  .header .logo, .header #logo {
    display: block;
    float: left;
    margin-top: 50px; }
  .header .phone {
    float: left;
    margin-top: 50px;
    margin-left: 80px; }
  @media (min-width: 0px) and (max-width: 1024px) {
    .header .language-switch,
    .header .lang_dropdown_form,
    .header .pane-gl-zbl-global-zabel-logout {
      margin-top: 60px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .header .pane-gl-zbl-global-zabel-logout {
      margin-top: 0; } }
  .header .main-navigation,
  .header > .menu {
    float: right;
    clear: right;
    margin-top: 22px; }
    .header .main-navigation .expanded .expanded > .menu__link::after,
    .header > .menu .expanded .expanded > .menu__link::after {
      padding: 1em;
      font-size: 15px;
      line-height: 1;
      margin-top: -2px;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0; }
    .header .main-navigation .expanded .expanded > .menu__link,
    .header > .menu .expanded .expanded > .menu__link {
      padding-right: 40px; }
  .header a,
  .header span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 1.2;
    text-decoration: none;
    line-height: 1.1; }
    .zbl-section-fh .header a, .zbl-section-fh
    .header span {
      color: white; }
    .zbl-section-ci .header a, .zbl-section-ci
    .header span {
      color: #333333; }
    .zbl-section-pg .header a, .zbl-section-pg
    .header span {
      color: white; }

.header .logo,
.header #logo {
  float: left;
  width: 220px;
  height: 60px;
  margin-top: 40px;
  margin-bottom: 40px;
  background-size: contain !important;
  background-repeat: no-repeat !important; }
  .zbl-section-fh .header .logo, .zbl-section-fh
  .header #logo {
    background: url("../images/header/logo-fh.png"); }
  .zbl-section-ci .header .logo, .zbl-section-ci
  .header #logo {
    background: url("../images/header/logo-ci.png"); }
  .zbl-section-pg .header .logo, .zbl-section-pg
  .header #logo {
    background: url("../images/header/logo-pg.png"); }
  .header .logo img,
  .header #logo img {
    display: none; }

html[dir=rtl] .header .logo,
html[dir=rtl] .header #logo {
  float: right; }

.main-navigation {
  clear: both; }
  .main-navigation::after {
    content: "";
    display: table;
    clear: both; }
  .main-navigation li {
    list-style-type: none; }
  .main-navigation .pane-content {
    float: left; }
    .main-navigation .pane-content:last-child ul {
      clear: both;
      white-space: nowrap; }
      .main-navigation .pane-content:last-child ul::after {
        content: "";
        display: table;
        clear: both; }
      .main-navigation .pane-content:last-child ul li {
        display: table-cell;
        margin: 0;
        position: relative; }
        .main-navigation .pane-content:last-child ul li:hover li {
          display: block; }
  .main-navigation .pane-content > ul.menu > li > ul.menu {
    padding-top: 44px; }
  .main-navigation ul ul ul {
    left: 100%;
    top: 0; }
  .main-navigation li ul {
    display: none; }
  .main-navigation ul li a {
    display: block;
    padding: 1em;
    text-decoration: none;
    white-space: nowrap;
    color: #fff; }
  .main-navigation li:hover > ul {
    display: block;
    position: absolute; }
  .main-navigation .main-navigation li ul li {
    border-top: 0; }
  .main-navigation ul ul ul {
    left: 100%;
    top: 0; }
  .main-navigation ul:before,
  .main-navigation ul:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */ }
  .main-navigation ul:after {
    clear: both; }

.zbl-section-fh .header ul.menu {
  background: black; }

.zbl-section-ci .header ul.menu {
  background: white; }

.zbl-section-pg .header ul.menu {
  background: #000; }

.zbl-section-fh .header ul.menu li > a {
  color: white; }

.zbl-section-ci .header ul.menu li > a {
  color: #333333; }

.zbl-section-pg .header ul.menu li > a {
  color: white; }

.zbl-section-fh .header ul.menu li:hover > a {
  color: #cccccc; }

.zbl-section-ci .header ul.menu li:hover > a {
  color: #6c7678; }

.zbl-section-pg .header ul.menu li:hover > a {
  color: #cccccc; }

.zbl-section-fh .header ul.menu li li > a {
  background: black; }

.zbl-section-ci .header ul.menu li li > a {
  background: white; }

.zbl-section-pg .header ul.menu li li > a {
  background: #000; }

.zbl-section-fh .header ul.menu li li:hover > a {
  background: #292e32; }

.zbl-section-ci .header ul.menu li li:hover > a {
  background: #efefef; }

.zbl-section-pg .header ul.menu li li:hover > a {
  background: #34495d; }

.header:not(.mobile) > ul.menu > li.menu__item > ul.menu::before,
.header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item.first > ul.menu::before {
  content: "";
  height: 2px;
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px; }
  .zbl-section-fh .header:not(.mobile) > ul.menu > li.menu__item > ul.menu::before, .zbl-section-fh
  .header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item.first > ul.menu::before {
    background: black; }
  .zbl-section-ci .header:not(.mobile) > ul.menu > li.menu__item > ul.menu::before, .zbl-section-ci
  .header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item.first > ul.menu::before {
    background: white; }
  .zbl-section-pg .header:not(.mobile) > ul.menu > li.menu__item > ul.menu::before, .zbl-section-pg
  .header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item.first > ul.menu::before {
    background: #011b34; }

.header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item > ul.menu::before {
  content: "";
  height: 2px;
  position: absolute;
  top: -2px;
  left: 0;
  right: 0; }
  .zbl-section-fh .header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item > ul.menu::before {
    background: linear-gradient(180deg, transparent, rgba(100, 100, 100, 0.5) 80%); }
  .zbl-section-ci .header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item > ul.menu::before {
    background: linear-gradient(180deg, transparent, white 80%); }
  .zbl-section-pg .header:not(.mobile) > ul.menu > li.menu__item > ul.menu > li.menu__item > ul.menu::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(1, 27, 52, 0.6) 60%); }

.header:not(.mobile) > ul.menu > li.menu__item ul.menu::after {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  left: -1px;
  top: 0; }
  .zbl-section-fh .header:not(.mobile) > ul.menu > li.menu__item ul.menu::after {
    background: linear-gradient(90deg, transparent, rgba(100, 100, 100, 0.5) 80%); }
  .zbl-section-ci .header:not(.mobile) > ul.menu > li.menu__item ul.menu::after {
    background: linear-gradient(90deg, transparent, white 80%); }
  .zbl-section-pg .header:not(.mobile) > ul.menu > li.menu__item ul.menu::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.4), rgba(1, 27, 52, 0.6) 60%); }

.header:not(.mobile) .main-navigation .pane-content > ul.menu > li > a.menu__link.active-trail:after,
ul.tabs > li > a.menu__link.active-trail:after {
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  left: 1em;
  right: 1em;
  top: 29px;
  background-color: white; }

.header:not(.mobile) .main-navigation .pane-menu-menu-capital-investment .pane-content > ul.menu > li > a.menu__link.active-trail:after {
  background-color: black; }

.header:not(.mobile) .main-navigation .pane-menu-menu-finest-homes .pane-content > ul.menu > li > ul a.active-trail {
  background: #292e32; }

.header:not(.mobile) .main-navigation .pane-menu-menu-capital-investment .pane-content > ul.menu > li > ul a.active-trail {
  background: #efefef; }

.header:not(.mobile) .main-navigation .pane-menu-menu-property-group .pane-content > ul.menu > li > ul a.active-trail {
  background: #34495d; }

.section-capital-investments ul.tabs > li > a.menu__link.active-trail:after {
  background-color: #333; }

ul.tabs {
  background: #555; }
  ul.tabs > li::after {
    display: none !important; }
  ul.tabs li {
    display: inline-block;
    margin: 0 10px; }
  ul.tabs li > a {
    display: block;
    color: #ddd;
    background: #555;
    text-decoration: none;
    line-height: 40px;
    height: 40px;
    padding: 0 10px; }
  ul.tabs li:hover > a {
    color: #fff;
    background: #888; }

.header .phone {
  position: relative;
  float: left;
  margin-top: 55px;
  margin-left: 80px; }
  .header .phone a {
    display: inline-block;
    padding-left: 45px;
    font-size: 12px;
    text-decoration: none; }
    .header .phone a::before {
      width: 35px;
      height: 35px;
      position: absolute;
      left: 0;
      border-radius: 20px;
      text-align: center;
      font-size: 25px;
      line-height: 35px; }
  @media (max-width: 1358px) and (min-width: 1167px) {
    .header .phone {
      margin-left: 0; }
      .header .phone a {
        padding-left: 30px; } }
  .header .phone a:before {
    top: 0;
    border: 1px solid; }
    .zbl-section-fh .header .phone a:before {
      border-color: #4b4d50; }
    .zbl-section-ci .header .phone a:before {
      border-color: #cccccc; }
    .zbl-section-pg .header .phone a:before {
      border-color: #34495d; }
    .zbl-section-fh .header .phone a:before {
      color: white; }
    .zbl-section-ci .header .phone a:before {
      color: #333333; }
    .zbl-section-pg .header .phone a:before {
      color: white; }
  .zbl-section-fh .header .phone a:hover:before {
    background-color: #4b4d50; }
  .zbl-section-ci .header .phone a:hover:before {
    background-color: #efefef; }
  .zbl-section-pg .header .phone a:hover:before {
    background-color: #34495d; }
  .zbl-section-fh .header .phone a:hover:before {
    border-color: #4b4d50; }
  .zbl-section-ci .header .phone a:hover:before {
    border-color: #efefef; }
  .zbl-section-pg .header .phone a:hover:before {
    border-color: #34495d; }
  .zbl-section-fh .header .phone a:hover:before {
    color: white; }
  .zbl-section-ci .header .phone a:hover:before {
    color: #333333; }
  .zbl-section-pg .header .phone a:hover:before {
    color: white; }
  .header .phone .phone-label {
    display: block;
    font-size: 12px;
    margin-bottom: 4px; }
  .landing-page .header .phone {
    float: right;
    font-size: 16px;
    text-align: right; }
    .landing-page .header .phone .phone-label {
      font-size: 16px;
      margin-bottom: 10px; }
    .landing-page .header .phone a {
      font-size: 20px; }

html[dir=rtl] .header .phone {
  float: right;
  margin-left: 0;
  margin-right: 80px;
  position: relative; }
  html[dir=rtl] .header .phone a {
    display: inline-block;
    padding-left: 45px;
    font-size: 12px;
    text-decoration: none; }
    html[dir=rtl] .header .phone a::before {
      width: 35px;
      height: 35px;
      position: absolute;
      left: 0;
      border-radius: 20px;
      text-align: center;
      font-size: 25px;
      line-height: 35px; }
  html[dir=rtl] .header .phone a {
    padding-left: 0;
    padding-right: 45px; }
    html[dir=rtl] .header .phone a::before {
      left: auto;
      right: 0; }

#burger {
  width: 35px;
  height: 35px;
  float: right;
  margin-top: 60px;
  margin-left: 40px;
  border: 1px solid;
  border-radius: 35px;
  cursor: pointer;
  text-align: center; }
  .zbl-section-fh #burger {
    border-color: #4b4d50; }
  .zbl-section-ci #burger {
    border-color: #cccccc; }
  .zbl-section-pg #burger {
    border-color: white; }
  #burger::before {
    vertical-align: -6px;
    padding-left: 2px; }
    .zbl-section-fh #burger::before {
      color: white; }
    .zbl-section-ci #burger::before {
      color: #333333; }
    .zbl-section-pg #burger::before {
      color: white; }
  .zbl-section-fh #burger:hover {
    border-color: #4b4d50; }
  .zbl-section-ci #burger:hover {
    border-color: #efefef; }
  .zbl-section-pg #burger:hover {
    border-color: #34495d; }
  .zbl-section-fh #burger:hover {
    background-color: #4b4d50; }
  .zbl-section-ci #burger:hover {
    background-color: #efefef; }
  .zbl-section-pg #burger:hover {
    background-color: #34495d; }
  .zbl-section-fh #burger:hover::before {
    color: white; }
  .zbl-section-ci #burger:hover::before {
    color: #333333; }
  .zbl-section-pg #burger:hover::before {
    color: white; }
  #burger.close {
    background: white; }
    .zbl-section-fh #burger.close {
      border-color: #4b4d50; }
    .zbl-section-ci #burger.close {
      border-color: #efefef; }
    .zbl-section-pg #burger.close {
      border-color: #34495d; }
    .zbl-section-fh #burger.close {
      background-color: #4b4d50; }
    .zbl-section-ci #burger.close {
      background-color: #efefef; }
    .zbl-section-pg #burger.close {
      background-color: #34495d; }
    .zbl-section-fh #burger.close::before {
      color: white; }
    .zbl-section-ci #burger.close::before {
      color: #333333; }
    .zbl-section-pg #burger.close::before {
      color: white; }

#header::after {
  content: "";
  display: table;
  clear: both; }

body.landing-page #header.mobile {
  /*.header-inner {
    @include display(flex);
    @include flex-direction(row);
    @include align-items(center);
    //@include justify-content(flex-end);

    text-align: center;
    float: none;
    width: 100%;
    padding: 15px 2.4rem 0;

    @include breakpoint($bp-one-col) {
      padding-left: 0;
      padding-right: 0;
    }
  }*/ }
  body.landing-page #header.mobile .l-header-wrapper {
    top: -20px; }
  body.landing-page #header.mobile .pane-page-logo {
    margin: 0 auto 15px 0; }
    @media (min-width: 0px) and (max-width: 479px) {
      body.landing-page #header.mobile .pane-page-logo {
        padding-left: 2.4rem; } }
  body.landing-page #header.mobile #logo,
  body.landing-page #header.mobile .logo {
    margin: 10px; }
  body.landing-page #header.mobile #logo {
    width: 100px;
    height: 50px; }
  body.landing-page #header.mobile .phone {
    margin: 25px 0 15px 0; }
  body.landing-page #header.mobile .phone {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    box-ordinal-group: 1;
    -webkit-order: 1;
    -moz-order: 1;
    order: 1;
    -ms-flex-order: 1; }
  body.landing-page #header.mobile .phone a {
    padding-left: 0; }
  body.landing-page #header.mobile .phone-label {
    display: inline-block;
    padding-right: 15px; }
  @media screen and (max-width: 512px) and (min-width: 0px) {
    body.landing-page #header.mobile .phone-label {
      display: none; } }

@media screen and (max-width: 768px) and (min-width: 0px) {
  body:not(.landing-page) #header.mobile .header-inner {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    box-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    -o-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: center;
    float: none;
    width: 100%;
    padding: 15px 2.4rem 0; } }
  @media screen and (max-width: 768px) and (min-width: 0px) and (min-width: 0px) and (max-width: 479px) {
    body:not(.landing-page) #header.mobile .header-inner {
      padding-left: 0;
      padding-right: 0; } }

@media screen and (max-width: 768px) and (min-width: 0px) {
  body:not(.landing-page) #header.mobile .pane-page-logo {
    margin: 0 auto 15px 0; } }
  @media screen and (max-width: 768px) and (min-width: 0px) and (min-width: 0px) and (max-width: 479px) {
    body:not(.landing-page) #header.mobile .pane-page-logo {
      padding-left: 2.4rem; } }

@media screen and (max-width: 768px) and (min-width: 0px) {
  body:not(.landing-page) #header.mobile #logo,
  body:not(.landing-page) #header.mobile .logo {
    margin: 0;
    float: none; }
  body:not(.landing-page) #header.mobile #logo {
    width: 200px;
    height: 50px; }
  body:not(.landing-page) #header.mobile .phone,
  body:not(.landing-page) #header.mobile #burger,
  body:not(.landing-page) #header.mobile .pane-lang-dropdown-language {
    margin: 0 0 15px 15px; }
  body:not(.landing-page) #header.mobile .pane-gl-zbl-global-zabel-logout {
    margin: 15px 2.4rem; }
  body:not(.landing-page) #header.mobile #burger {
    -webkit-box-ordinal-group: 3;
    -moz-box-ordinal-group: 3;
    box-ordinal-group: 3;
    -webkit-order: 3;
    -moz-order: 3;
    order: 3;
    -ms-flex-order: 3; }
  body:not(.landing-page) #header.mobile .pane-lang-dropdown-language {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    box-ordinal-group: 2;
    -webkit-order: 2;
    -moz-order: 2;
    order: 2;
    -ms-flex-order: 2; }
  body:not(.landing-page) #header.mobile .phone {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    box-ordinal-group: 1;
    -webkit-order: 1;
    -moz-order: 1;
    order: 1;
    -ms-flex-order: 1; }
  body:not(.landing-page) #header.mobile .phone {
    width: 35px;
    height: 35px;
    display: none; }
    body:not(.landing-page) #header.mobile .phone a {
      font-size: 0;
      line-height: 0;
      color: transparent; }
      body:not(.landing-page) #header.mobile .phone a::before {
        left: 0;
        bottom: 0; }
    body:not(.landing-page) #header.mobile .phone .phone-label {
      display: none; }
  body:not(.landing-page) #header.mobile .language-switch,
  body:not(.landing-page) #header.mobile .lang_dropdown_form {
    margin: 0;
    float: none; } }

body:not(.landing-page) #header.mobile .header-inner {
  position: relative;
  z-index: 10; }
  body:not(.landing-page) #header.mobile .header-inner::after {
    content: "";
    display: table;
    clear: both; }
  .zbl-section-fh body:not(.landing-page) #header.mobile .header-inner {
    background-color: black; }
  .zbl-section-ci body:not(.landing-page) #header.mobile .header-inner {
    background-color: white; }
  .zbl-section-pg body:not(.landing-page) #header.mobile .header-inner {
    background-color: #000; }

body:not(.landing-page) #header.mobile .phone,
body:not(.landing-page) #header.mobile #burger,
body:not(.landing-page) #header.mobile .pane-lang-dropdown-language,
body:not(.landing-page) #header.mobile .pane-gl-zbl-global-zabel-logout {
  margin-left: 2.4rem; }
  @media (min-width: 0) and (max-width: 379px) {
    body:not(.landing-page) #header.mobile .phone,
    body:not(.landing-page) #header.mobile #burger,
    body:not(.landing-page) #header.mobile .pane-lang-dropdown-language,
    body:not(.landing-page) #header.mobile .pane-gl-zbl-global-zabel-logout {
      margin-left: 0; } }

body:not(.landing-page) #header.mobile > .menu {
  position: absolute;
  left: 0;
  right: 0;
  margin-top: 0;
  overflow: auto;
  z-index: 5;
  padding-bottom: 20px; }
  body:not(.landing-page) #header.mobile > .menu .menu__item .menu {
    display: none;
    margin-left: 20px; }
  body:not(.landing-page) #header.mobile > .menu .menu__link {
    padding-left: 3.6rem;
    font-size: 15px;
    line-height: 40px;
    display: block; }
  body:not(.landing-page) #header.mobile > .menu .expanded > .menu__link::after {
    padding-left: 10px;
    font-size: 20px;
    line-height: 1;
    vertical-align: -2px;
    margin-top: 0;
    position: static; }

body:not(.landing-page) #header.mobile .menu__item {
  display: block; }

.zbl-section-fh body:not(.landing-page) #header.mobile li > a {
  background: black; }

.zbl-section-ci body:not(.landing-page) #header.mobile li > a {
  background: white; }

.zbl-section-pg body:not(.landing-page) #header.mobile li > a {
  background: #000; }

.zbl-section-fh body:not(.landing-page) #header.mobile li:hover > a {
  background: #292e32; }

.zbl-section-ci body:not(.landing-page) #header.mobile li:hover > a {
  background: #efefef; }

.zbl-section-pg body:not(.landing-page) #header.mobile li:hover > a {
  background: #34495d; }

#header.collapsed > .menu {
  top: -100vh;
  transition: top .5s ease; }

#header.expanded > .menu {
  top: 100%;
  transition: top .5s ease; }

.footer {
  overflow: hidden;
  background: #000000;
  border-top: 1px solid white; }
  .footer h4 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 1.27778;
    color: #333333;
    color: white; }

.ds-footer-readmore {
  clear: both; }
  .ds-footer-readmore a {
    color: inherit;
    text-decoration: none;
    display: inline;
    padding-bottom: 1px;
    border-bottom: 1px solid;
    line-height: 1;
    display: inline-block;
    color: white; }
    .ds-footer-readmore a:hover {
      color: #c4000b; }

.footer-top {
  overflow: hidden;
  padding-top: 40px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .footer-top .l-footer-form {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .footer-top .l-footer-form {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .footer-top .l-footer-form {
      width: 33.33333%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 1359px) {
    .footer-top .l-footer-form {
      width: 25%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .footer-top .l-footer-news {
      display: none; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .footer-top .l-footer-news {
      width: 33.33333%;
      float: left;
      margin-right: -100%;
      margin-left: 33.33333%;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .footer-top .l-footer-news {
      width: 37.5%;
      float: left;
      margin-right: -100%;
      margin-left: 25%;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .footer-top .l-footer-blog {
      display: none; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .footer-top .l-footer-blog {
      width: 33.33333%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .footer-top .l-footer-blog {
      width: 37.5%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  .footer-top .pane-entityform-type,
  .footer-top .social {
    margin-top: 40px; }
  @media (min-width: 480px) and (max-width: 766px) {
    .footer-top .pane-entityform-type {
      margin-top: 0; } }
  .footer-top h4 {
    margin-bottom: 18px; }
  @media (min-width: 768px) and (max-width: 1023px) {
    .footer-top #edit-submitted-contacted-with-relevant-information label {
      font-size: 14px; } }
  .footer-top .form-actions input.webform-submit {
    font-size: 17px;
    padding: 0; }
    @media (min-width: 768px) and (max-width: 1023px) {
      .footer-top .form-actions input.webform-submit {
        font-size: 14px; } }
  .footer-top .views-item + .views-item {
    margin-top: 20px;
    padding-top: 20px; }
  @media (min-width: 480px) and (max-width: 766px) {
    .footer-top .form-page-settings {
      width: 50%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; }
    .footer-top .pane-zbl-frontend-helper-zbl-language {
      width: 50%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; }
    .footer-top .pane-entityform-type {
      width: 50%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 3.6rem;
      padding-right: 3.6rem; }
    .footer-top .pane-zbl-frontend-helper-zbl-language {
      margin-top: 40px; } }
  .footer-top .l-footer-news h4,
  .footer-top .l-footer-blog h4 {
    padding-left: 1.2rem;
    padding-right: 3.6rem; }
  .footer-top .l-footer-news .date-display-single,
  .footer-top .l-footer-blog .date-display-single {
    display: inline; }
  .footer-top .l-footer-news .views-item,
  .footer-top .l-footer-blog .views-item {
    overflow: hidden; }
  .footer-top .l-footer-news .views-item + .views-item,
  .footer-top .l-footer-blog .views-item + .views-item {
    position: relative; }
    .footer-top .l-footer-news .views-item + .views-item::before,
    .footer-top .l-footer-blog .views-item + .views-item::before {
      content: "";
      height: 1px;
      background: #4b4d50;
      position: absolute;
      top: 0;
      left: 1.2rem;
      right: 1.2rem; }
  .footer-top .l-footer-news .slider-image,
  .footer-top .l-footer-news .ds-footer-left,
  .footer-top .l-footer-blog .slider-image,
  .footer-top .l-footer-blog .ds-footer-left {
    text-align: center;
    background-size: cover;
    background-position: center;
    position: relative; }
    @media (min-width: 768px) and (max-width: 1358px) {
      .footer-top .l-footer-news .slider-image,
      .footer-top .l-footer-news .ds-footer-left,
      .footer-top .l-footer-blog .slider-image,
      .footer-top .l-footer-blog .ds-footer-left {
        width: 25%;
        float: left;
        margin-right: -100%;
        margin-left: 3.125%;
        clear: none;
        padding-left: 0;
        padding-right: 0;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 1359px) {
      .footer-top .l-footer-news .slider-image,
      .footer-top .l-footer-news .ds-footer-left,
      .footer-top .l-footer-blog .slider-image,
      .footer-top .l-footer-blog .ds-footer-left {
        width: 33.33333%;
        float: left;
        margin-right: -100%;
        margin-left: 2.08333%;
        clear: none;
        padding-left: 0;
        padding-right: 0;
        padding-left: 0;
        padding-right: 0; } }
    .footer-top .l-footer-news .slider-image img,
    .footer-top .l-footer-news .ds-footer-left img,
    .footer-top .l-footer-blog .slider-image img,
    .footer-top .l-footer-blog .ds-footer-left img {
      max-width: 100%;
      height: auto; }
  .footer-top .l-footer-news .exerpt,
  .footer-top .l-footer-news .ds-footer-right,
  .footer-top .l-footer-blog .exerpt,
  .footer-top .l-footer-blog .ds-footer-right {
    font-size: 13px;
    color: white; }
    @media (min-width: 768px) and (max-width: 1358px) {
      .footer-top .l-footer-news .exerpt,
      .footer-top .l-footer-news .ds-footer-right,
      .footer-top .l-footer-blog .exerpt,
      .footer-top .l-footer-blog .ds-footer-right {
        width: 56.25%;
        float: left;
        margin-right: -100%;
        margin-left: 34.375%;
        clear: none;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 1359px) {
      .footer-top .l-footer-news .exerpt,
      .footer-top .l-footer-news .ds-footer-right,
      .footer-top .l-footer-blog .exerpt,
      .footer-top .l-footer-blog .ds-footer-right {
        width: 54.16667%;
        float: left;
        margin-right: -100%;
        margin-left: 39.58333%;
        clear: none;
        padding-left: 0;
        padding-right: 0; } }
    .footer-top .l-footer-news .exerpt a,
    .footer-top .l-footer-news .ds-footer-right a,
    .footer-top .l-footer-blog .exerpt a,
    .footer-top .l-footer-blog .ds-footer-right a {
      color: inherit;
      text-decoration: none;
      display: inline;
      padding-bottom: 1px;
      border-bottom: 1px solid;
      line-height: 1;
      display: inline-block;
      color: white; }
      .footer-top .l-footer-news .exerpt a:hover,
      .footer-top .l-footer-news .ds-footer-right a:hover,
      .footer-top .l-footer-blog .exerpt a:hover,
      .footer-top .l-footer-blog .ds-footer-right a:hover {
        color: #c4000b; }

.footer-bottom {
  overflow: hidden;
  font-size: 13px;
  margin-top: 60px;
  padding-bottom: 60px; }
  .footer-bottom a {
    text-decoration: none; }
  .footer-bottom::before {
    height: 1px;
    content: "";
    background: #4b4d50;
    position: absolute;
    top: 0;
    left: 1.2rem;
    right: 1.2rem; }
  .footer-bottom .logo-box {
    width: 100%;
    text-align: center;
    margin: 40px auto 10px; }
  .footer-bottom .logo {
    display: inline-block; }
  .footer-bottom img {
    display: inline-block;
    vertical-align: middle;
    height: 60px;
    margin-bottom: 30px; }
    @media (min-width: 0px) and (max-width: 375px) {
      .footer-bottom img {
        height: 40px; } }
    @media (min-width: 0px) and (max-width: 479px) {
      .footer-bottom img {
        padding-left: 5px;
        padding-right: 5px; } }
    @media (min-width: 480px) and (max-width: 610px) {
      .footer-bottom img {
        padding-left: 15px;
        padding-right: 15px; } }
    @media (min-width: 610px) {
      .footer-bottom img {
        padding-left: 25px;
        padding-right: 25px; } }
    .footer-bottom img img {
      max-height: 100%; }
  .footer-bottom .bottom-line {
    clear: both;
    padding-left: 1.2rem;
    padding-right: 1.2rem; }
  .footer-bottom .menu {
    margin-bottom: 20px; }
    .i18n-de .footer-bottom .menu li.hide-in-de {
      display: none; }
  .footer-bottom .copyright,
  .footer-bottom .footer-link-list .menu,
  .footer-bottom .menu {
    width: 100%;
    display: inline-block;
    text-align: center; }
  .footer-bottom li {
    display: inline-block; }
  .footer-bottom li + li::before {
    width: 2px;
    height: 2px;
    content: " ";
    position: relative;
    display: inline-block;
    margin-left: 4px;
    margin-right: 7px;
    background: white;
    vertical-align: middle; }
    .lang-rtl .footer-bottom li + li::before {
      margin-left: 7px; }
    .lang-rtl .footer-bottom li + li::before {
      margin-right: 4px; }
  .footer-bottom a {
    color: white;
    text-decoration: none; }
  .footer-bottom .copyright {
    color: #646464; }

.landing-page .menu .lp-hidden {
  display: none; }

.landing-page .menu .lp-no-decor:before {
  display: none; }

.property-teaser--medium,
.property-teaser--large,
.property-teaser--4col {
  text-align: center; }
  .property-teaser--medium .infobox,
  .property-teaser--large .infobox,
  .property-teaser--4col .infobox {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none; }
  .property-teaser--medium .infobox-heading h2,
  .property-teaser--large .infobox-heading h2,
  .property-teaser--4col .infobox-heading h2 {
    font-weight: 400; }
  .property-teaser--medium .priceinfo,
  .property-teaser--large .priceinfo,
  .property-teaser--4col .priceinfo {
    display: block; }
  .zbl-section-fh .currency-converter {
    display: block; }
  .property-teaser--medium .key-figures,
  .property-teaser--large .key-figures,
  .property-teaser--4col .key-figures {
    display: table;
    width: 100%;
    clear: both;
    text-align: left;
    border-collapse: collapse; }
    .property-teaser--medium .key-figures,
    .property-teaser--medium .key-figures li,
    .property-teaser--large .key-figures,
    .property-teaser--large .key-figures li,
    .property-teaser--4col .key-figures,
    .property-teaser--4col .key-figures li {
      list-style: none !important;
      list-style-image: none !important; }
    .property-teaser--medium .key-figures li,
    .property-teaser--large .key-figures li,
    .property-teaser--4col .key-figures li {
      font-size: 0;
      border-bottom: 1px solid #cccccc;
      width: 100%;
      display: table-row;
      clear: both; }
    .property-teaser--medium .key-figures .label,
    .property-teaser--medium .key-figures .value,
    .property-teaser--large .key-figures .label,
    .property-teaser--large .key-figures .value,
    .property-teaser--4col .key-figures .label,
    .property-teaser--4col .key-figures .value {
      display: table-cell;
      padding-top: 7px;
      padding-bottom: 7px; }
    .property-teaser--medium .key-figures .label,
    .property-teaser--large .key-figures .label,
    .property-teaser--4col .key-figures .label {
      width: 33%; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .property-teaser--medium .key-figures .label,
        .property-teaser--large .key-figures .label,
        .property-teaser--4col .key-figures .label {
          width: 42%; } }
    .property-teaser--medium .key-figures .value,
    .property-teaser--large .key-figures .value,
    .property-teaser--4col .key-figures .value {
      width: 66%;
      padding-left: 1.2rem; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .property-teaser--medium .key-figures .value,
        .property-teaser--large .key-figures .value,
        .property-teaser--4col .key-figures .value {
          width: 58%; } }
  .property-teaser--medium .priceinfo,
  .property-teaser--large .priceinfo,
  .property-teaser--4col .priceinfo {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 36px;
    line-height: 1.22222; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--medium .priceinfo,
      .property-teaser--large .priceinfo,
      .property-teaser--4col .priceinfo {
        font-size: 28px; } }
  .property-teaser--medium .centered-links,
  .property-teaser--large .centered-links,
  .property-teaser--4col .centered-links {
    width: 100%;
    float: left;
    clear: both; }
  .property-teaser--medium .key-figures,
  .property-teaser--medium .centered-links,
  .property-teaser--large .key-figures,
  .property-teaser--large .centered-links,
  .property-teaser--4col .key-figures,
  .property-teaser--4col .centered-links {
    list-style: none;
    padding: 0; }
  .property-teaser--large h3 {
    margin-top: 0px; }
  .property-teaser--large .priceinfo {
    margin-top: 25px; }
  .property-teaser--large .key-figures {
    margin-top: 25px; }
  .property-teaser--medium h3 {
    margin-top: 30px; }
  .property-teaser--medium .priceinfo {
    margin-top: 25px; }
  .property-teaser--medium .key-figures {
    margin-top: 27px; }
  .property-teaser--4col .headline {
    padding-top: 0px; }
  .property-teaser--4col .priceinfo {
    padding-top: 15px; }
  .property-teaser--4col .key-figures {
    margin-top: 18px; }
  .property-teaser--medium .centered-links,
  .property-teaser--large .centered-links,
  .property-teaser--4col .centered-links {
    padding-top: 33px;
    margin-bottom: 28px; }
    .property-teaser--medium .centered-links li + li,
    .property-teaser--large .centered-links li + li,
    .property-teaser--4col .centered-links li + li {
      margin-top: 40px; }
  .property-teaser--large h3 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 36px;
    line-height: 1.22222; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--large h3 {
        font-size: 28px; } }
  .property-teaser--medium h3 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1.25;
    overflow-wrap: inherit;
    word-wrap: inherit;
    word-break: break-word; }
  .zbl-section-ci .property-teaser--medium .priceinfo, .zbl-section-ci
  .property-teaser--large .priceinfo, .zbl-section-ci
  .property-teaser--4col .priceinfo {
    color: #6c7678; }
  .property-teaser--medium h3 .priceinfo {
    color: #6c7678; }
  .property-teaser--medium .label,
  .property-teaser--medium .value,
  .property-teaser--large .label,
  .property-teaser--large .value,
  .property-teaser--4col .label,
  .property-teaser--4col .value {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333; }
  .property-teaser--medium .label,
  .property-teaser--large .label,
  .property-teaser--4col .label {
    text-transform: uppercase; }
  .property-teaser--medium .property-teaser-label-from,
  .property-teaser--large .property-teaser-label-from,
  .property-teaser--4col .property-teaser-label-from {
    font-size: 16px; }
  .property-teaser--medium .centered-links,
  .property-teaser--large .centered-links,
  .property-teaser--4col .centered-links {
    text-align: center; }
    .property-teaser--medium .centered-links .bean-open-form-in-modal,
    .property-teaser--large .centered-links .bean-open-form-in-modal,
    .property-teaser--4col .centered-links .bean-open-form-in-modal {
      margin-top: 20px; }
  .property-teaser--medium .detail-link:not(.button),
  .property-teaser--medium .detail-link a,
  .property-teaser--large .detail-link:not(.button),
  .property-teaser--large .detail-link a,
  .property-teaser--4col .detail-link:not(.button),
  .property-teaser--4col .detail-link a {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333;
    color: inherit;
    text-decoration: none;
    display: inline;
    padding-bottom: 1px;
    border-bottom: 1px solid; }
    .property-teaser--medium .detail-link:not(.button):hover,
    .property-teaser--medium .detail-link a:hover,
    .property-teaser--large .detail-link:not(.button):hover,
    .property-teaser--large .detail-link a:hover,
    .property-teaser--4col .detail-link:not(.button):hover,
    .property-teaser--4col .detail-link a:hover {
      color: #c4000b; }

.property-teaser--medium .infobox,
.property-teaser--large .infobox {
  padding-top: 60px; }
  .property-teaser--medium .infobox .vocabulary-building,
  .property-teaser--large .infobox .vocabulary-building {
    margin-top: 0;
    position: relative;
    height: auto;
    text-align: center;
    position: relative; }
    .property-teaser--medium .infobox .vocabulary-building img,
    .property-teaser--large .infobox .vocabulary-building img {
      display: block;
      margin: auto;
      width: auto;
      min-height: 200px;
      max-height: 200px; }
    .property-teaser--medium .infobox .vocabulary-building .lazyloader-icon,
    .property-teaser--large .infobox .vocabulary-building .lazyloader-icon {
      position: absolute;
      top: 50% !important;
      left: 50% !important;
      transform: translate(-50%, -50%);
      width: 24px !important;
      min-height: 24px !important;
      height: 24px !important; }

.property-teaser--medium .infobox-project-logo h2, .property-teaser--medium .infobox-project-logo .label-above,
.property-teaser--large .infobox-project-logo h2,
.property-teaser--large .infobox-project-logo .label-above {
  display: none; }

.property-teaser--medium.case-study .infobox {
  padding-top: 0; }

.zbl-section-fh .property-teaser--large .open-close,
.zbl-section-fh .property-teaser--large .headline,
.zbl-section-fh .property-teaser--large .centered-links li a,
.zbl-section-fh .property-teaser--large .label,
.zbl-section-fh .property-teaser--large .value {
  color: white; }

.zbl-section-fh .property-teaser--large .priceinfo {
  color: #cccccc; }

.investments .property-icon {
  top: 0;
  clip: auto;
  overflow: visible;
  width: 74px;
  height: 60px;
  font-size: 0;
  color: transparent;
  z-index: 5; }

.finest-homes .property-icon {
  clip: auto;
  overflow: visible;
  font-size: 0;
  color: transparent;
  width: 74px;
  height: 60px;
  z-index: 5;
  display: block; }

.germany .property-icon,
.global .property-icon,
.investments .property-icon,
.finest-homes .property-icon {
  margin-right: 5px;
  width: 60px;
  height: 44px;
  font-size: 0;
  font-family: "Source Sans Pro";
  font-weight: 400;
  font-style: normal;
  color: transparent;
  position: relative !important;
  z-index: 5; }
  .germany .property-icon:last-child,
  .global .property-icon:last-child,
  .investments .property-icon:last-child,
  .finest-homes .property-icon:last-child {
    margin-right: 0; }

.germany .promo-teaser__icons .property-icon,
.global .promo-teaser__icons .property-icon,
.investments .promo-teaser__icons .property-icon,
.finest-homes .promo-teaser__icons .property-icon {
  width: 72px;
  height: 52px; }

.projects-page .property-teaser--medium .infobox, .projects-page .property-teaser--large .infobox, .landing-page .property-teaser--medium .infobox, .landing-page .property-teaser--large .infobox {
  padding-top: 0; }

.projects-page .investments .property-icon, .landing-page .investments .property-icon {
  display: none !important; }

.projects-page .finest-homes .property-icon, .landing-page .finest-homes .property-icon {
  display: none !important; }

.i18n-en .icon-investments.property-icon {
  background: url(../images/icons/icon-investment.svg) no-repeat !important;
  background-size: contain; }

.i18n-en .icon-finest-homes.property-icon {
  background: url(../images/icons/icon-selfuse.svg) no-repeat !important;
  background-size: contain; }

.i18n-en .icon-germany.property-icon {
  background: url(../images/icons/icon-germany.svg) no-repeat !important;
  background-size: contain; }

.i18n-en .icon-global.property-icon {
  background: url(../images/icons/icon-global.svg) no-repeat !important;
  background-size: contain; }

.i18n-de .icon-investments.property-icon {
  background: url(../images/icons/icon-investoren.svg) no-repeat !important;
  background-size: contain; }

.i18n-de .icon-finest-homes.property-icon {
  background: url(../images/icons/icon-eigennutzer.svg) no-repeat !important;
  background-size: contain; }

.i18n-de .icon-germany.property-icon {
  background: url(../images/icons/icon-deutschland.svg) no-repeat !important;
  background-size: contain; }

.i18n-de .icon-global.property-icon {
  background: url(../images/icons/icon-weltweit.svg) no-repeat !important;
  background-size: contain; }

.property-teaser-info {
  position: absolute;
  top: 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-teaser-info {
      position: static; } }

/*.view-mode-property_teaser_promo.property-teaser--large {
	 .slider {
    position: relative;
  }
}*/
.property-teaser--large {
  position: relative;
  overflow: hidden;
  min-height: 600px; }
  .property-teaser--large + .property-teaser--large {
    border-top: 1px solid white; }
  .property-teaser--large .slider {
    width: 100%;
    height: 100%; }
    .property-teaser--large .slider .slick {
      position: relative; }
      .property-teaser--large .slider .slick,
      .property-teaser--large .slider .slick .slick__slider,
      .property-teaser--large .slider .slick .slick-list,
      .property-teaser--large .slider .slick .slick-track,
      .property-teaser--large .slider .slick .slick__slide,
      .property-teaser--large .slider .slick .slide__content,
      .property-teaser--large .slider .slick .media {
        height: 100%;
        max-height: 100%; }
  @media (min-width: 1024px) {
    .property-teaser--large .slick .media picture img {
      width: auto;
      height: 100%; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-teaser--large .infobox {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 2.4rem;
      padding-right: 2.4rem; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .property-teaser--large .infobox {
      width: 41.66667%;
      float: left;
      margin-right: -100%;
      margin-left: 8.33333%;
      clear: none;
      padding-left: 2.4rem;
      padding-right: 2.4rem; } }
  @media (min-width: 1359px) {
    .property-teaser--large .infobox {
      width: 37.5%;
      float: left;
      margin-right: -100%;
      margin-left: 12.5%;
      clear: none;
      padding-left: 2.4rem;
      padding-right: 2.4rem; } }
  @media (min-width: 480px) {
    .property-teaser--large .infobox {
      min-width: 336px; } }
  @media (min-width: 1024px) {
    .property-teaser--large .infobox {
      min-width: 450px; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .property-teaser--large .infobox {
      min-width: 410px; } }
  .property-teaser--large > .outer-grid-wrapper {
    pointer-events: none; }
    .property-teaser--large > .outer-grid-wrapper > .infobox {
      pointer-events: all; }
  .property-teaser--large .open-close {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    cursor: pointer;
    font-size: 50px;
    z-index: 10; }
    .property-teaser--large .open-close::before {
      line-height: 0.8;
      vertical-align: top; }
    .zbl-section-fh .property-teaser--large .open-close {
      color: white; }
    .zbl-section-ci .property-teaser--large .open-close {
      color: black; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--large .open-close {
        display: none; } }
  .property-teaser--large .infobox {
    position: relative; }
    @media (min-width: 768px) {
      .property-teaser--large .infobox {
        margin-bottom: 200px;
        background: rgba(255, 255, 255, 0.95);
        color: #333; }
        .property-teaser--large .infobox span {
          color: #333; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--large .infobox {
        background: white;
        color: #333; } }
    .property-teaser--large .infobox .button {
      width: 100%;
      display: block; }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-teaser--large .key-figures {
      display: none; } }
  .property-teaser--large .submit-message {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--large .submit-message {
        font-size: 19px;
        line-height: 1.61111; } }
    .zbl-section-fh .property-teaser--large .submit-message {
      color: white; }
    .zbl-section-ci .property-teaser--large .submit-message {
      color: #333333; }
    .zbl-section-pg .property-teaser--large .submit-message {
      color: #333333; }
  .property-teaser--large .slider-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center; }

.view-gl-zbl-properties-search .attachment-before .view-content .views-row .property-teaser--large {
  border-top: 1px solid #ffffff; }

.view-gl-zbl-properties-search .attachment-before .view-content .views-row-last .property-teaser--large {
  border-bottom: none; }

.property-teaser--medium {
  overflow: hidden;
  padding: 0 1.2rem;
  margin: 20px auto 0; }
  div.panel-pane .property-teaser--medium.node {
    padding: 0;
    margin: 20px auto 0;
    position: relative; }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-teaser--medium,
    div.panel-pane .property-teaser--medium.node {
      margin-top: 0;
      padding: 0; } }
  .property-teaser--medium .slider-outer-layout {
    overflow: hidden; }
    @media (min-width: 0) and (max-width: 720px) {
      .property-teaser--medium .slider-outer-layout {
        width: 100%;
        float: right;
        margin-left: 0;
        margin-right: 0;
        clear: both;
        padding-left: 0;
        padding-right: 0;
        height: 0;
        padding-bottom: 56.25%;
        position: relative; } }
    @media (min-width: 721px) {
      .property-teaser--medium .slider-outer-layout {
        width: 60.9375%;
        float: left;
        margin-right: -100%;
        margin-left: 37.5%;
        clear: none;
        padding-left: 0;
        padding-right: 0;
        height: 100%;
        overflow: hidden;
        position: absolute;
        width: 64.0625%;
        margin-left: 35.9375%; } }
    @media (min-width: 768px) and (max-width: 1358px) {
      .property-teaser--medium .slider-outer-layout {
        width: 65.625%;
        float: left;
        margin-right: -100%;
        margin-left: 33.33333%;
        clear: none;
        padding-left: 0;
        padding-right: 0;
        width: 67.70833%;
        margin-left: 32.29167%; } }
    @media (min-width: 1359px) {
      .property-teaser--medium .slider-outer-layout {
        width: 61.71875%;
        float: left;
        margin-right: -100%;
        margin-left: 37.5%;
        clear: none;
        padding-left: 0;
        padding-right: 0;
        width: 63.28125%;
        margin-left: 36.71875%; } }
  .property-teaser--medium .slider {
    width: 100%;
    height: 100%;
    position: absolute; }
    .property-teaser--medium .slider .slick {
      position: relative; }
      .property-teaser--medium .slider .slick,
      .property-teaser--medium .slider .slick .slick__slider,
      .property-teaser--medium .slider .slick .slick-list,
      .property-teaser--medium .slider .slick .slick-track,
      .property-teaser--medium .slider .slick .slick__slide,
      .property-teaser--medium .slider .slick .slide__content,
      .property-teaser--medium .slider .slick .media {
        height: 100%;
        max-height: 100%; }
  .property-teaser--medium .media picture {
    position: relative;
    overflow: hidden; }
    .property-teaser--medium .media picture img {
      position: absolute;
      left: -9999px;
      right: -9999px;
      top: -9999px;
      bottom: -9999px;
      margin: auto; }
  .property-teaser--medium .slider-outer-layout > .slider-image {
    position: absolute; }
  .property-teaser--medium .infobox {
    background: white;
    position: relative; }
    @media (min-width: 0) and (max-width: 720px) {
      .property-teaser--medium .infobox {
        width: 100%;
        float: right;
        margin-left: 0;
        margin-right: 0;
        clear: both;
        padding-left: 3.6rem;
        padding-right: 3.6rem;
        float: none;
        overflow: hidden;
        position: relative;
        padding-left: 2.4rem;
        padding-right: 2.4rem;
        margin-left: 0; } }
    @media (min-width: 721px) {
      .property-teaser--medium .infobox {
        width: 35.9375%;
        float: left;
        margin-right: -100%;
        margin-left: 1.5625%;
        clear: none;
        padding-left: 3.6rem;
        padding-right: 3.6rem;
        padding-left: 2.4rem;
        padding-right: 3.6rem;
        padding-left: 2.4rem;
        padding-right: 2.4rem;
        margin-left: 0; } }
    @media (min-width: 768px) and (max-width: 1358px) {
      .property-teaser--medium .infobox {
        width: 32.29167%;
        float: left;
        margin-right: -100%;
        margin-left: 1.04167%;
        clear: none;
        padding-left: 3.6rem;
        padding-right: 3.6rem;
        padding-left: 2.4rem;
        padding-right: 3.6rem;
        padding-left: 2.4rem;
        padding-right: 2.4rem;
        margin-left: 0; } }
    @media (min-width: 1359px) {
      .property-teaser--medium .infobox {
        width: 36.71875%;
        float: left;
        margin-right: -100%;
        margin-left: 0.78125%;
        clear: none;
        padding-left: 0;
        padding-right: 0;
        padding-left: 2.4rem;
        padding-right: 3.6rem;
        padding-left: 2.4rem;
        padding-right: 2.4rem;
        margin-left: 0; } }
  .property-teaser--medium .submit-message {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--medium .submit-message {
        font-size: 19px;
        line-height: 1.61111; } }
  .property-teaser--medium .key-figures li:first-child {
    border-top: 1px solid #cccccc; }
  .property-teaser--medium .centered-links a:not(.button) {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333;
    color: inherit;
    text-decoration: none;
    display: inline;
    padding-bottom: 1px;
    border-bottom: 1px solid; }
    .property-teaser--medium .centered-links a:not(.button):hover {
      color: #c4000b; }
  .property-teaser--medium .centered-links li + li {
    margin-top: 0; }
  @media (min-width: 0) and (max-width: 1023px) {
    .property-teaser--medium .key-figures {
      display: none; } }

.property-teaser--medium:not(.case-study) .button {
  display: block; }

.property-teaser--medium:not(.case-study) .media img {
  height: 100% !important; }

.property-teaser--small,
.view-gl-zbl-properties-block .views-row {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: none;
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
  position: relative;
  vertical-align: middle; }
  .property-teaser--small .full-size-link,
  .view-gl-zbl-properties-block .views-row .full-size-link {
    position: absolute;
    top: 0;
    right: 1.2rem;
    bottom: 0;
    left: 1.2rem;
    z-index: 10; }
  .property-teaser--small .media-wrapper,
  .view-gl-zbl-properties-block .views-row .media-wrapper {
    position: relative;
    min-height: 75px; }
  .property-teaser--small .infobox,
  .view-gl-zbl-properties-block .views-row .infobox {
    padding: 32px 2.4rem;
    padding-bottom: 0; }
    .property-teaser--small .infobox .overflow-helper,
    .view-gl-zbl-properties-block .views-row .infobox .overflow-helper {
      overflow: hidden; }
  .property-teaser--small .media-wrapper .price,
  .view-gl-zbl-properties-block .views-row .media-wrapper .price {
    padding: 5px 12px; }
  .property-teaser--small .infobox .subline,
  .view-gl-zbl-properties-block .views-row .infobox .subline {
    margin-top: 12px; }
  .property-teaser--small .detail-link,
  .property-teaser--small .detail-link a,
  .view-gl-zbl-properties-block .views-row .detail-link,
  .view-gl-zbl-properties-block .views-row .detail-link a {
    display: inline-block;
    margin-top: 8px; }
  .property-teaser--small .full-size-link,
  .view-gl-zbl-properties-block .views-row .full-size-link {
    font-size: 0;
    line-height: 0;
    color: transparent; }
    .property-teaser--small .full-size-link:hover ~ .infobox a,
    .view-gl-zbl-properties-block .views-row .full-size-link:hover ~ .infobox a {
      color: #c4000b; }
  .property-teaser--small .infobox,
  .view-gl-zbl-properties-block .views-row .infobox {
    text-align: center; }
  .property-teaser--small h3,
  .view-gl-zbl-properties-block .views-row h3 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 1.27778;
    color: #333333;
    margin: 0; }
  .property-teaser--small .property-teaser-label-from,
  .view-gl-zbl-properties-block .views-row .property-teaser-label-from {
    font-size: 16px; }
  .property-teaser--small .media-wrapper .price,
  .view-gl-zbl-properties-block .views-row .media-wrapper .price {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--small .media-wrapper .price,
      .view-gl-zbl-properties-block .views-row .media-wrapper .price {
        font-size: 19px;
        line-height: 1.61111; } }
  .property-teaser--small.type-ci .media-wrapper .price,
  .view-gl-zbl-properties-block .views-row.type-ci .media-wrapper .price {
    background-color: rgba(255, 255, 255, 0.8); }
  .property-teaser--small.type-fh .media-wrapper .price,
  .view-gl-zbl-properties-block .views-row.type-fh .media-wrapper .price {
    background-color: rgba(0, 0, 0, 0.8);
    color: white; }
  .property-teaser--small .infobox .subline,
  .view-gl-zbl-properties-block .views-row .infobox .subline {
    display: block;
    color: #6c7678; }
  .property-teaser--small .infobox,
  .view-gl-zbl-properties-block .views-row .infobox {
    background: white; }
  .property-teaser--small .slider-image img,
  .view-gl-zbl-properties-block .views-row .slider-image img {
    display: block !important;
    width: 100%;
    height: auto; }
  .property-teaser--small .price,
  .view-gl-zbl-properties-block .views-row .price {
    position: absolute;
    top: 33%;
    left: 50%;
    transform: translate(-50%, 0);
    white-space: nowrap;
    max-width: 100%; }

.property-teaser--small.type-fh,
.property-teaser--small.type-ci,
.view-gl-zbl-properties-block .views-row {
  overflow: hidden; }
  .property-teaser--small.type-fh .full-size-link,
  .property-teaser--small.type-ci .full-size-link,
  .view-gl-zbl-properties-block .views-row .full-size-link {
    position: absolute;
    top: 0;
    right: 1.2rem;
    bottom: 0;
    left: 1.2rem;
    z-index: 10; }
  .property-teaser--small.type-fh .media-wrapper,
  .property-teaser--small.type-ci .media-wrapper,
  .view-gl-zbl-properties-block .views-row .media-wrapper {
    position: relative;
    min-height: 75px; }
  .property-teaser--small.type-fh .infobox,
  .property-teaser--small.type-ci .infobox,
  .view-gl-zbl-properties-block .views-row .infobox {
    padding: 32px 2.4rem;
    padding-bottom: 0; }
    .property-teaser--small.type-fh .infobox .overflow-helper,
    .property-teaser--small.type-ci .infobox .overflow-helper,
    .view-gl-zbl-properties-block .views-row .infobox .overflow-helper {
      overflow: hidden; }
  @media (min-width: 480px) and (max-width: 1024px) {
    .property-teaser--small.type-fh,
    .property-teaser--small.type-ci,
    .view-gl-zbl-properties-block .views-row {
      vertical-align: top;
      position: relative; }
      .property-teaser--small.type-fh .push-open,
      .property-teaser--small.type-ci .push-open,
      .view-gl-zbl-properties-block .views-row .push-open {
        height: auto;
        padding-bottom: 0; } }

.html .property-location-node .property-teasers--4col {
  margin: 52px 0 0; }
  @media (min-width: 0) and (max-width: 1023px) {
    .html .property-location-node .property-teasers--4col {
      margin-top: 0; } }

.html .l-content .property-teasers--4col,
.html .property-teasers--4col {
  width: auto;
  max-width: none; }
  .html .l-content .property-teasers--4col > .view-header,
  .html .property-teasers--4col > .view-header {
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    overflow: initial;
    position: static; }
    @media (min-width: 0px) and (max-width: 766px) {
      .html .l-content .property-teasers--4col > .view-header,
      .html .property-teasers--4col > .view-header {
        margin-top: 45px;
        margin-bottom: 0; } }
    .html .l-content .property-teasers--4col > .view-header p,
    .html .property-teasers--4col > .view-header p {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 24px;
      line-height: 1.25;
      color: #333333;
      text-align: center;
      color: #333333;
      margin: 0; }
      @media (min-width: 0px) and (max-width: 766px) {
        .html .l-content .property-teasers--4col > .view-header p,
        .html .property-teasers--4col > .view-header p {
          font-size: 20px; } }
  .html .l-content .property-teasers--4col > .view-content,
  .html .property-teasers--4col > .view-content {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    box-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    -ms-align-items: stretch;
    -o-align-items: stretch;
    align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden;
    max-width: 1365px;
    width: auto;
    padding: 25px 0;
    margin-left: auto;
    margin-right: auto; }
    .html .l-content .property-teasers--4col > .view-content::after,
    .html .property-teasers--4col > .view-content::after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 0px) and (max-width: 479px) {
      .html .l-content .property-teasers--4col > .view-content,
      .html .property-teasers--4col > .view-content {
        max-width: 500px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .html .l-content .property-teasers--4col > .view-content,
      .html .property-teasers--4col > .view-content {
        max-width: 787px;
        width: 100%; } }
    @media (min-width: 768px) {
      .html .l-content .property-teasers--4col > .view-content,
      .html .property-teasers--4col > .view-content {
        max-width: 1028px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .html .l-content .property-teasers--4col > .view-content,
      .html .property-teasers--4col > .view-content {
        max-width: 100%;
        width: 1172px; } }
    @media (min-width: 1359px) {
      .html .l-content .property-teasers--4col > .view-content,
      .html .property-teasers--4col > .view-content {
        max-width: 100%;
        width: 1364px; } }
    @media (min-width: 1551px) {
      .html .l-content .property-teasers--4col > .view-content,
      .html .property-teasers--4col > .view-content {
        max-width: 100%;
        width: 1556px; } }
    .html .l-content .property-teasers--4col > .view-content > .views-row,
    .html .property-teasers--4col > .view-content > .views-row {
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: stretch;
      -moz-box-align: stretch;
      box-align: stretch;
      -webkit-align-items: stretch;
      -moz-align-items: stretch;
      -ms-align-items: stretch;
      -o-align-items: stretch;
      align-items: stretch;
      -ms-flex-align: stretch;
      width: 25%;
      float: left;
      padding-left: 10px;
      padding-right: 10px;
      margin-bottom: 20px;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      overflow: visible;
      position: relative;
      z-index: 1; }
      .html .l-content .property-teasers--4col > .view-content > .views-row .slider.ds-ds-slideshow img,
      .html .property-teasers--4col > .view-content > .views-row .slider.ds-ds-slideshow img {
        width: 100%;
        height: auto;
        vertical-align: middle; }
      .html .l-content .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1),
      .html .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1) {
        clear: left; }
      @media (min-width: 1024px) and (max-width: 1358px) {
        .html .l-content .property-teasers--4col > .view-content > .views-row,
        .html .property-teasers--4col > .view-content > .views-row {
          width: 33.3333%; }
          .html .l-content .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1),
          .html .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1) {
            clear: none; }
          .html .l-content .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1),
          .html .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
            clear: left; } }
      @media (min-width: 600px) and (max-width: 1023px) {
        .html .l-content .property-teasers--4col > .view-content > .views-row,
        .html .property-teasers--4col > .view-content > .views-row {
          width: 50%; }
          .html .l-content .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1),
          .html .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1) {
            clear: none; }
          .html .l-content .property-teasers--4col > .view-content > .views-row:nth-of-type(2n+1),
          .html .property-teasers--4col > .view-content > .views-row:nth-of-type(2n+1) {
            clear: left; } }
      @media (min-width: 0) and (max-width: 599px) {
        .html .l-content .property-teasers--4col > .view-content > .views-row,
        .html .property-teasers--4col > .view-content > .views-row {
          width: 100%; }
          .html .l-content .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1),
          .html .property-teasers--4col > .view-content > .views-row:nth-of-type(4n+1) {
            clear: none; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .html .l-content .property-teasers--4col > .view-content,
      .html .property-teasers--4col > .view-content {
        padding-top: 45px;
        padding-bottom: 52px; } }
  .html .l-content .property-teasers--4col .view-footer,
  .html .property-teasers--4col .view-footer {
    font-size: 34px;
    margin-bottom: 104px; }
    @media (min-width: 0px) and (max-width: 766px) {
      .html .l-content .property-teasers--4col .view-footer,
      .html .property-teasers--4col .view-footer {
        font-size: 24px;
        margin-bottom: 52px; } }
  .html .l-content .property-teasers--4col.view-display-id-pane_properties_fh,
  .html .property-teasers--4col.view-display-id-pane_properties_fh {
    background: #1d2124; }
    .html .l-content .property-teasers--4col.view-display-id-pane_properties_fh .view-footer,
    .html .property-teasers--4col.view-display-id-pane_properties_fh .view-footer {
      color: white; }

.html .view-id-gl_zbl_properties_block.view-display-id-panel_pane_1 .view-header {
  margin-top: 45px; }

.property-teaser--4col {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  box-orient: vertical;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -ms-flex-direction: column;
  width: 100%;
  padding: 0 1.2rem;
  margin: 20px auto 0;
  background: white; }
  div.panel-pane .property-teaser--4col.node {
    padding: 0;
    margin: 20px auto 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-teaser--4col,
    div.panel-pane .property-teaser--4col.node {
      margin-top: 0;
      padding: 0; } }
  .property-teaser--4col.finest-homes {
    position: relative; }
  .property-teaser--4col.investments {
    position: relative; }
  .property-teaser--4col .slider-outer-layout {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    flex-wrap: wrap;
    overflow: hidden;
    position: relative;
    min-height: 465px; }
    .property-teaser--4col .slider-outer-layout > .slider {
      width: 100%;
      top: 0;
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -moz-box-orient: vertical;
      box-orient: vertical;
      -webkit-box-direction: normal;
      -moz-box-direction: normal;
      box-direction: normal;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column;
      -ms-flex-direction: column; }
      .property-teaser--4col .slider-outer-layout > .slider > a.colorbox-node {
        overflow: hidden;
        padding: 0;
        border: 0; }
      .property-teaser--4col .slider-outer-layout > .slider > .vocabulary-building {
        max-height: 200px;
        height: auto;
        margin: 5px auto 5px;
        text-align: center;
        position: relative; }
        .property-teaser--4col .slider-outer-layout > .slider > .vocabulary-building img:not(.lazyloader-icon) {
          width: auto !important;
          height: auto !important;
          max-width: 100%;
          max-height: 100%;
          margin: auto;
          min-width: 200px; }
        .property-teaser--4col .slider-outer-layout > .slider > .vocabulary-building .lazyloader-icon {
          width: auto !important;
          height: auto !important;
          position: absolute;
          top: 50% !important;
          left: 50% !important;
          transform: translate(-50%, -50%); }
    .property-teaser--4col .slider-outer-layout .ds-ds-slideshow {
      flex-direction: column;
      display: block;
      left: 0; }
  .property-teaser--4col .media {
    min-height: 100px; }
    .property-teaser--4col .media img {
      width: 100%;
      height: auto; }
  .property-teaser--4col .slider-outer-layout > .slider-image {
    position: absolute; }
  .property-teaser--4col .infobox.ds-ds-info {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: both;
    padding-left: 1.8rem;
    padding-right: 1.8rem;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
    -ms-flex-direction: column;
    -webkit-flex-grow: 1;
    -moz-flex-grow: 1;
    flex-grow: 1;
    -ms-flex-positive: 1;
    padding-top: 0; }
    .property-teaser--4col .infobox.ds-ds-info .headline {
      margin-top: 0;
      padding-top: 0; }
    .property-teaser--4col .infobox.ds-ds-info .subline {
      margin-top: auto;
      padding-top: 15px; }
    .property-teaser--4col .infobox.ds-ds-info .price {
      -webkit-transform: none;
      -moz-transform: none;
      -ms-transform: none;
      -o-transform: none;
      transform: none;
      position: relative;
      top: auto;
      left: auto;
      font-size: 20px; }
      .property-teaser--4col .infobox.ds-ds-info .price.price-hidden {
        color: #646464; }
    .property-teaser--4col .infobox.ds-ds-info .detail-link {
      border-bottom: none; }
    .property-teaser--4col .infobox.ds-ds-info .centered-links {
      margin-top: auto; }
      .property-teaser--4col .infobox.ds-ds-info .centered-links li {
        padding: 0;
        text-indent: 0 !important;
        width: 100%;
        margin: 0;
        left: 0; }
        .property-teaser--4col .infobox.ds-ds-info .centered-links li + li {
          margin-top: 0; }
        .property-teaser--4col .infobox.ds-ds-info .centered-links li.priceinfo-item {
          padding-bottom: 20px;
          font-size: 20px; }
      .property-teaser--4col .infobox.ds-ds-info .centered-links .button {
        line-height: 38px;
        height: 38px;
        font-size: 16px;
        margin-top: 25px;
        color: white; }
  .property-teaser--4col .headline,
  .property-teaser--4col .submit-message {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--4col .headline,
      .property-teaser--4col .submit-message {
        font-size: 19px;
        line-height: 1.61111; } }
  .property-teaser--4col .headline {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
    -ms-flex-direction: column;
    height: 100%; }
  .property-teaser--4col .label,
  .property-teaser--4col .value,
  .property-teaser--4col .detail-link a {
    font-size: 14px; }
  .property-teaser--4col .value,
  .property-teaser--4col .zbl-currency {
    color: #646464; }
  .lang-rtl .property-teaser--4col .key-figures {
    text-align: right; }
  .property-teaser--4col .key-figures li {
    text-indent: 0 !important; }
  .property-teaser--4col .key-figures .label {
    width: 30%; }
  .property-teaser--4col .key-figures .value {
    width: 70%; }
  @media (min-width: 0) and (max-width: 1023px) {
    .property-teaser--4col .key-figures {
      display: none; } }

.front .property-teaser--4col .slider-outer-layout > .slider,
.node-type-zbl-page .property-teaser--4col .slider-outer-layout > .slider,
.node-type-master-property:not(.landing-page) .property-teaser--4col .slider-outer-layout > .slider {
  margin-top: -44px; }

.property-teaser--medium:not(.case-study) .button {
  display: block; }

.promo-teaser__icons {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-pack: center;
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  justify-content: center; }

.property-teaser--small.example-unit {
  vertical-align: top;
  position: relative;
  margin-top: 40px; }
  .property-teaser--small.example-unit .infobox {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none; }
  .property-teaser--small.example-unit .infobox-heading h2 {
    font-weight: 400; }
  .property-teaser--small.example-unit .priceinfo {
    display: block; }
  .zbl-section-fh .currency-converter {
    display: block; }
  .property-teaser--small.example-unit .key-figures {
    display: table;
    width: 100%;
    clear: both;
    text-align: left;
    border-collapse: collapse; }
    .property-teaser--small.example-unit .key-figures,
    .property-teaser--small.example-unit .key-figures li {
      list-style: none !important;
      list-style-image: none !important; }
    .property-teaser--small.example-unit .key-figures li {
      font-size: 0;
      border-bottom: 1px solid #cccccc;
      width: 100%;
      display: table-row;
      clear: both; }
    .property-teaser--small.example-unit .key-figures .label,
    .property-teaser--small.example-unit .key-figures .value {
      display: table-cell;
      padding-top: 7px;
      padding-bottom: 7px; }
    .property-teaser--small.example-unit .key-figures .label {
      width: 33%; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .property-teaser--small.example-unit .key-figures .label {
          width: 42%; } }
    .property-teaser--small.example-unit .key-figures .value {
      width: 66%;
      padding-left: 1.2rem; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .property-teaser--small.example-unit .key-figures .value {
          width: 58%; } }
  .property-teaser--small.example-unit .priceinfo {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 36px;
    line-height: 1.22222; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--small.example-unit .priceinfo {
        font-size: 28px; } }
  .property-teaser--small.example-unit .centered-links {
    width: 100%;
    float: left;
    clear: both; }
  .property-teaser--small.example-unit .key-figures,
  .property-teaser--small.example-unit .centered-links {
    list-style: none;
    padding: 0; }
  .property-teaser--small.example-unit h3 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-teaser--small.example-unit h3 {
        font-size: 19px;
        line-height: 1.61111; } }
  .property-teaser--small.example-unit .price {
    display: block;
    margin-top: 11px; }
  .property-teaser--small.example-unit .key-figures li {
    padding-top: 0;
    padding-bottom: 0; }
  .property-teaser--small.example-unit span.label,
  .property-teaser--small.example-unit span.value {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 30px; }
  .property-teaser--small.example-unit span.value {
    text-transform: none; }
  .property-teaser--small.example-unit .currency-switcher {
    vertical-align: middle; }
  .property-teaser--small.example-unit .push-open {
    height: auto;
    padding-bottom: 0; }
  .property-teaser--small.example-unit .media-wrapper {
    height: 0;
    padding-bottom: 75%;
    position: relative;
    left: auto;
    right: auto; }
  .property-teaser--small.example-unit .infobox {
    height: 230px;
    position: relative;
    left: auto;
    right: auto; }

.l-content .view-gl-zbl-properties-block .view-content {
  margin-top: 40px;
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  width: 100%;
  display: inline-block;
  text-align: center;
  font-size: 0; }
  @media (min-width: 0px) and (max-width: 479px) {
    .l-content .view-gl-zbl-properties-block .view-content {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .l-content .view-gl-zbl-properties-block .view-content {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .l-content .view-gl-zbl-properties-block .view-content {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .l-content .view-gl-zbl-properties-block .view-content {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .l-content .view-gl-zbl-properties-block .view-content {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .l-content .view-gl-zbl-properties-block .view-content {
      max-width: 100%;
      width: 1536px; } }
  .l-content .view-gl-zbl-properties-block .view-content .modal {
    font-size: 16px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .l-content .view-gl-zbl-properties-block .view-content .views-row {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .l-content .view-gl-zbl-properties-block .view-content .views-row {
      width: 50%;
      clear: right;
      float: left;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .l-content .view-gl-zbl-properties-block .view-content .views-row {
      width: 33.33333%;
      clear: right;
      float: left;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .l-content .view-gl-zbl-properties-block .view-content .views-row {
      width: 25%;
      clear: right;
      float: left;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 0px) {
    .l-content .view-gl-zbl-properties-block .view-content .views-row {
      display: inline-block;
      float: none;
      clear: none; } }

.view.view-gl-zbl-properties-block .media-wrapper .views-field.price {
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 11; }

.view.view-gl-zbl-properties-block .views-row:hover .node:not(.property-teaser--4col) .infobox a {
  color: #c4000b; }

.panel-pane[class*="pane-gl-zbl-properties-block-pane"] {
  background-color: #556977; }
  .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden; }
    @media (min-width: 0px) and (max-width: 479px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 100%;
        width: 1536px; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-content {
        padding-top: 45px; } }
  .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teasers--4col .view-content {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden; }
    @media (min-width: 0px) and (max-width: 479px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teasers--4col .view-content {
        max-width: 500px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teasers--4col .view-content {
        max-width: 787px;
        width: 100%; } }
    @media (min-width: 768px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teasers--4col .view-content {
        max-width: 1028px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teasers--4col .view-content {
        max-width: 100%;
        width: 1172px; } }
    @media (min-width: 1359px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teasers--4col .view-content {
        max-width: 100%;
        width: 1364px; } }
    @media (min-width: 1551px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teasers--4col .view-content {
        max-width: 100%;
        width: 1556px; } }
  .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .property-teaser--small, .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .views-row {
    margin-bottom: 40px; }
  .l-content .panel-pane[class*="pane-gl-zbl-properties-block-pane"] {
    margin-bottom: 0; }
  .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-header {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 24px;
    line-height: 1.25;
    color: #333333;
    background-color: #556977;
    padding-top: 45px;
    padding-bottom: 0px;
    text-align: center;
    color: white; }
    @media (min-width: 0px) and (max-width: 766px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-header {
        font-size: 20px; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .panel-pane[class*="pane-gl-zbl-properties-block-pane"] .view-header {
        padding-top: 50px; } }

.view-gl-zbl-properties-block.view-display-id-pane_fh .views-field.views-field-field-zbl-property-price.price {
  background-color: rgba(0, 0, 0, 0.8);
  color: white; }

.view-id-zbl_news .view-filters,
.view-id-zbl_news .view-empty,
.view-id-zbl_blog .view-filters,
.view-id-zbl_blog .view-empty,
.view-gl-news-blogs .view-empty,
.view-gl-news-blogs .view-filters {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  overflow: visible; }
  @media (min-width: 0px) and (max-width: 479px) {
    .view-id-zbl_news .view-filters,
    .view-id-zbl_news .view-empty,
    .view-id-zbl_blog .view-filters,
    .view-id-zbl_blog .view-empty,
    .view-gl-news-blogs .view-empty,
    .view-gl-news-blogs .view-filters {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .view-id-zbl_news .view-filters,
    .view-id-zbl_news .view-empty,
    .view-id-zbl_blog .view-filters,
    .view-id-zbl_blog .view-empty,
    .view-gl-news-blogs .view-empty,
    .view-gl-news-blogs .view-filters {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .view-id-zbl_news .view-filters,
    .view-id-zbl_news .view-empty,
    .view-id-zbl_blog .view-filters,
    .view-id-zbl_blog .view-empty,
    .view-gl-news-blogs .view-empty,
    .view-gl-news-blogs .view-filters {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .view-id-zbl_news .view-filters,
    .view-id-zbl_news .view-empty,
    .view-id-zbl_blog .view-filters,
    .view-id-zbl_blog .view-empty,
    .view-gl-news-blogs .view-empty,
    .view-gl-news-blogs .view-filters {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .view-id-zbl_news .view-filters,
    .view-id-zbl_news .view-empty,
    .view-id-zbl_blog .view-filters,
    .view-id-zbl_blog .view-empty,
    .view-gl-news-blogs .view-empty,
    .view-gl-news-blogs .view-filters {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .view-id-zbl_news .view-filters,
    .view-id-zbl_news .view-empty,
    .view-id-zbl_blog .view-filters,
    .view-id-zbl_blog .view-empty,
    .view-gl-news-blogs .view-empty,
    .view-gl-news-blogs .view-filters {
      max-width: 100%;
      width: 1536px; } }
  .view-id-zbl_news .view-filters .views-exposed-form,
  .view-id-zbl_news .view-empty .views-exposed-form,
  .view-id-zbl_blog .view-filters .views-exposed-form,
  .view-id-zbl_blog .view-empty .views-exposed-form,
  .view-gl-news-blogs .view-empty .views-exposed-form,
  .view-gl-news-blogs .view-filters .views-exposed-form {
    padding-left: 2.4rem;
    padding-right: 2.4rem; }
  .view-id-zbl_news .view-filters .views-widget .form-type-textfield,
  .view-id-zbl_news .view-empty .views-widget .form-type-textfield,
  .view-id-zbl_blog .view-filters .views-widget .form-type-textfield,
  .view-id-zbl_blog .view-empty .views-widget .form-type-textfield,
  .view-gl-news-blogs .view-empty .views-widget .form-type-textfield,
  .view-gl-news-blogs .view-filters .views-widget .form-type-textfield {
    margin-right: 0; }
  @media (min-width: 0px) and (max-width: 479px) {
    .view-id-zbl_news .view-filters .form-type-bef-link,
    .view-id-zbl_news .view-empty .form-type-bef-link,
    .view-id-zbl_blog .view-filters .form-type-bef-link,
    .view-id-zbl_blog .view-empty .form-type-bef-link,
    .view-gl-news-blogs .view-empty .form-type-bef-link,
    .view-gl-news-blogs .view-filters .form-type-bef-link {
      float: none;
      text-align: center; } }
  .view-id-zbl_news .view-filters .container-inline-date .form-item,
  .view-id-zbl_news .view-filters .container-inline-date .date-padding,
  .view-id-zbl_news .view-empty .container-inline-date .form-item,
  .view-id-zbl_news .view-empty .container-inline-date .date-padding,
  .view-id-zbl_blog .view-filters .container-inline-date .form-item,
  .view-id-zbl_blog .view-filters .container-inline-date .date-padding,
  .view-id-zbl_blog .view-empty .container-inline-date .form-item,
  .view-id-zbl_blog .view-empty .container-inline-date .date-padding,
  .view-gl-news-blogs .view-empty .container-inline-date .form-item,
  .view-gl-news-blogs .view-empty .container-inline-date .date-padding,
  .view-gl-news-blogs .view-filters .container-inline-date .form-item,
  .view-gl-news-blogs .view-filters .container-inline-date .date-padding {
    float: none;
    display: block;
    margin-left: 0;
    margin-right: 0; }

#edit-c-wrapper.views-exposed-widget.views-widget-filter-field_zbl_s_date_dt_value,
.form-item.form-type-select.form-item-c {
  margin-top: 12px; }

.ctools-auto-submit-full-form {
  background-color: #efefef; }
  .ctools-auto-submit-full-form::after {
    content: "";
    display: table;
    clear: both; }
  .ctools-auto-submit-full-form .views-exposed-widgets {
    margin: 0; }
  .ctools-auto-submit-full-form .views-exposed-form .views-exposed-widget {
    padding-right: 0; }
  .ctools-auto-submit-full-form .views-exposed-widget > label {
    display: none; }
  .ctools-auto-submit-full-form .views-exposed-form label {
    font-weight: inherit; }
  .ctools-auto-submit-full-form .views-exposed-widgets {
    text-align: right;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    box-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    -ms-align-items: stretch;
    -o-align-items: stretch;
    align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    flex-direction: row;
    -ms-flex-direction: row;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    box-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    -o-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: end;
    max-width: 100%; }
    .ctools-auto-submit-full-form .views-exposed-widgets .views-exposed-widget {
      float: none;
      display: inline-block;
      vertical-align: top;
      text-align: left; }
    @media (min-width: 0px) and (max-width: 766px) {
      .ctools-auto-submit-full-form .views-exposed-widgets {
        -webkit-box-orient: vertical;
        -moz-box-orient: vertical;
        box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-direction: normal;
        box-direction: normal;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        flex-direction: column;
        -ms-flex-direction: column; }
        .ctools-auto-submit-full-form .views-exposed-widgets .views-widget > .form-item {
          width: 100%;
          margin-left: 0;
          margin-right: 0; }
        .ctools-auto-submit-full-form .views-exposed-widgets .selectric {
          text-align: center; } }
  .ctools-auto-submit-full-form .form-type-bef-link,
  .ctools-auto-submit-full-form .form-type-radio,
  .ctools-auto-submit-full-form .form-type-select {
    float: left; }
    .ctools-auto-submit-full-form .form-type-bef-link label,
    .ctools-auto-submit-full-form .form-type-bef-link a,
    .ctools-auto-submit-full-form .form-type-radio label,
    .ctools-auto-submit-full-form .form-type-radio a,
    .ctools-auto-submit-full-form .form-type-select label,
    .ctools-auto-submit-full-form .form-type-select a {
      display: inline-block;
      padding: 0;
      padding-top: 12px;
      margin-left: 20px;
      margin-right: 20px;
      cursor: pointer;
      border: 0;
      text-decoration: none;
      color: #333333; }
      .ctools-auto-submit-full-form .form-type-bef-link label::before,
      .ctools-auto-submit-full-form .form-type-bef-link a::before,
      .ctools-auto-submit-full-form .form-type-radio label::before,
      .ctools-auto-submit-full-form .form-type-radio a::before,
      .ctools-auto-submit-full-form .form-type-select label::before,
      .ctools-auto-submit-full-form .form-type-select a::before {
        display: none; }
      .ctools-auto-submit-full-form .form-type-bef-link label:hover,
      .ctools-auto-submit-full-form .form-type-bef-link a:hover,
      .ctools-auto-submit-full-form .form-type-radio label:hover,
      .ctools-auto-submit-full-form .form-type-radio a:hover,
      .ctools-auto-submit-full-form .form-type-select label:hover,
      .ctools-auto-submit-full-form .form-type-select a:hover {
        color: #6c7678; }
    .ctools-auto-submit-full-form .form-type-bef-link input[checked=checked] + label,
    .ctools-auto-submit-full-form .form-type-radio input[checked=checked] + label,
    .ctools-auto-submit-full-form .form-type-select input[checked=checked] + label {
      color: #6c7678;
      border-bottom: 1px solid #6c7678; }
  .ctools-auto-submit-full-form .views-widget-filter-field_zbl_blog_category_tid {
    margin-right: auto;
    float: left; }
    @media (min-width: 0px) and (max-width: 766px) {
      .ctools-auto-submit-full-form .views-widget-filter-field_zbl_blog_category_tid {
        margin-right: 0; } }
  .ctools-auto-submit-full-form .views-widget-filter-combine {
    padding-top: 20px;
    padding-bottom: 20px;
    float: right; }
    @media (min-width: 0px) and (max-width: 479px) {
      .ctools-auto-submit-full-form .views-widget-filter-combine {
        clear: both;
        float: none; }
        .ctools-auto-submit-full-form .views-widget-filter-combine input[type=text] {
          width: 100%; } }
    .ctools-auto-submit-full-form .views-widget-filter-combine .form-type-textfield {
      position: relative;
      margin-left: 2.4rem;
      margin-right: 2.4rem;
      max-width: 100%; }
      .ctools-auto-submit-full-form .views-widget-filter-combine .form-type-textfield::after {
        width: 46px;
        height: 46px;
        font-size: 46px;
        color: #cccccc;
        position: absolute;
        bottom: 0;
        right: 0; }
  .ctools-auto-submit-full-form .views-submit-button {
    position: absolute;
    top: 19px;
    right: 29px; }
  .ctools-auto-submit-full-form .ajax-progress .throbber {
    width: 54px;
    height: 55px;
    background: transparent url("../images/ajax-loader.gif") no-repeat center center; }
  .ctools-auto-submit-full-form .description {
    display: none; }

.view-gl-zbl-properties-search .views-exposed-widgets .form-submit.progress-disabled {
  display: none !important; }

.view-gl-zbl-properties-search .views-exposed-widgets .ajax-progress {
  display: block; }
  .view-gl-zbl-properties-search .views-exposed-widgets .ajax-progress .throbber {
    display: block;
    width: 32px;
    height: 25px;
    background: transparent url("../images/progress_bar.gif") no-repeat center center;
    margin: 0 auto;
    float: none; }

.view-zbl-news .view-empty > p {
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333; }
  @media (min-width: 0px) and (max-width: 766px) {
    .view-zbl-news .view-empty > p {
      font-size: 19px;
      line-height: 1.61111; } }

.search--keyword {
  background-color: yellow; }

/*doc
---
title: News Teaser
name: _news-teaser.scss
category: Andere Teaser
---

```html_example
<div class="news-teaser-list-wrapper l-content">
  <div class="l-indent">
    <div class="news-teaser">
      <section class="head">
        <div class="date">August 7, 2014</div>
        <h2 class="heading--section">H2 Headline Lorem ipsum dolor sit amet, consetetur sadipscing elitr</h2>
      </section>

      <section class="media">
        <img alt="bacon" title="bacon!" src="demo-images/bacon.jpg" />
      </section>

      <section class="text richtext">
        <p>
          Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.
          Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis,
          ultricies nec, pellentesque eu, pretium quis, sem.
          Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim
          justo, rhoncus ut, imperdiet a, venenatis vitae, justo.
          Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.
          Aenean vulputate eleifend tellus.
          Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra
          quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet.
          Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.
          Nam eget dui. Etiam rhoncus.
          Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.
          Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
          sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,
        </p>
        <a href="#" title="Read more" class="read-more button button--small button-scheme--red">Read more...</a>
        <div class="social">social stuff</div>
      </section>
    </div>
  </div>
</div>
```
*/
.news-teaser {
  min-height: 320px;
  overflow: hidden;
  background: white; }
  .news-teaser .l-indent {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    flex-direction: row;
    -ms-flex-direction: row; }
    @media (min-width: 0) and (max-width: 669px) {
      .news-teaser .l-indent {
        -webkit-box-orient: vertical;
        -moz-box-orient: vertical;
        box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-direction: normal;
        box-direction: normal;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        flex-direction: column;
        -ms-flex-direction: column; } }
  .news-teaser .media {
    clear: none !important; }
    @media (min-width: 670px) and (max-width: 767px) {
      .news-teaser .media {
        width: 50%;
        clear: right;
        float: left;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 768px) and (max-width: 1358px) {
      .news-teaser .media {
        width: 33.33333%;
        clear: right;
        float: left;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 1359px) {
      .news-teaser .media {
        width: 33.33333%;
        clear: right;
        float: left;
        padding-left: 0;
        padding-right: 0; } }
  @media (min-width: 670px) and (max-width: 767px) {
    .news-teaser .content-wrapper {
      width: 50%;
      clear: right;
      float: right;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .news-teaser .content-wrapper {
      width: 66.66667%;
      clear: right;
      float: right;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 1359px) {
    .news-teaser .content-wrapper {
      width: 66.66667%;
      clear: right;
      float: right;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  .news-teaser .media {
    text-align: center;
    position: relative; }
  .news-teaser .media img {
    max-width: 100%;
    height: auto; }
  @media (min-width: 670px) {
    .news-teaser .head,
    .news-teaser .text {
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 0) and (max-width: 669px) {
    .news-teaser .additional {
      text-align: center; } }
  .news-teaser {
    padding: 2.4rem 2.4rem 2.4rem 4.8rem; }
    @media (min-width: 0) and (max-width: 669px) {
      .news-teaser {
        padding-left: 2.4rem; } }
  .news-teaser + .news-teaser {
    margin-top: 40px; }
  .news-teaser .read-more {
    margin-top: 40px;
    display: inline-block;
    width: auto; }
    @media (min-width: 0px) and (max-width: 766px) {
      .news-teaser .read-more {
        display: block; } }
  .news-teaser .social {
    margin-top: 40px; }
  .news-teaser .text {
    margin-top: 40px; }
  @media (min-width: 0) and (max-width: 669px) {
    .news-teaser .media {
      margin-bottom: 40px; } }
  .news-teaser .news-teaser-inner {
    max-width: 100%; }

.l-content .view-display-id-pane_news_teaser_large {
  margin-bottom: 40px; }

.node-type-zbl-news .date-display-single {
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 20px; }

.blog-content-wrapper {
  background-color: white; }
  @media (min-width: 0px) and (max-width: 766px) {
    .blog-content-wrapper {
      padding-top: 15px;
      padding-bottom: 15px; } }

.blog-left {
  text-align: left; }
  @media (min-width: 768px) {
    .blog-left {
      float: left;
      width: -webkit-calc(100% - 300px);
      width: calc(100% - 300px); } }

@media (min-width: 768px) {
  .blog-right {
    float: right;
    width: 300px; } }

.blog-left-inner,
.blog-right-inner {
  padding: 40px 6%; }
  @media (min-width: 0px) and (max-width: 766px) {
    .blog-left-inner,
    .blog-right-inner {
      padding: 15px; } }

.blog-category {
  color: #c4000b; }

.blog-teaser {
  position: relative;
  text-align: center;
  overflow: hidden;
  /*.text-inner {
    @include breakpoint($bp-one-col)       { @include isolation-span(4, 1, $gutter: $gutter--text); }
    @include breakpoint($bp-two-col)       { @include isolation-span(8, 1, $gutter: $gutter--text); }
    @include breakpoint($bp-three-col)     { @include isolation-span(8, 3, $gutter: $gutter--text); }
    @include breakpoint($bp-from-four-col) { @include isolation-span(8, 5, $gutter: $gutter--text); }
  }*/
  /* .read-more {
    min-width: 0;
    @include breakpoint($bp-from-one-col)   { @include isolation-span(3.25, 1.3725, $clear: both); }
    @include breakpoint($bp-from-two-col)   { @include isolation-span(3.25, 3.3725, $clear: both); }
    @include breakpoint($bp-from-three-col) { @include isolation-span(3.25, 5.3725, $clear: both); }
    @include breakpoint($bp-from-four-col)  { @include isolation-span(3.25, 7.3725, $clear: both); }
  }*/ }
  .blog-teaser .blog-teaser-image {
    min-height: 80px;
    background: white; }
  .blog-teaser .media {
    position: relative; }
  .blog-teaser h2 {
    font-weight: 100; }
  .blog-teaser h2 a {
    color: white;
    text-decoration: none; }
  .blog-teaser .heading--content {
    max-width: 70%;
    display: inline-block;
    margin: 0 auto;
    padding: 7px 0; }
    .zbl-section-fh .blog-teaser .heading--content {
      background: rgba(0, 0, 0, 0.7); }
    .zbl-section-ci .blog-teaser .heading--content {
      background: rgba(255, 255, 255, 0.8); }
    .zbl-section-pg .blog-teaser .heading--content {
      background: rgba(0, 0, 0, 0.8); }
    .zbl-section-fh .blog-teaser .heading--content {
      box-shadow: 1.2rem 0 0 rgba(0, 0, 0, 0.7), -1.2rem 0 0 rgba(0, 0, 0, 0.7); }
    .zbl-section-ci .blog-teaser .heading--content {
      box-shadow: 1.2rem 0 0 rgba(255, 255, 255, 0.8), -1.2rem 0 0 rgba(255, 255, 255, 0.8); }
    .zbl-section-pg .blog-teaser .heading--content {
      box-shadow: 1.2rem 0 0 rgba(0, 0, 0, 0.8), -1.2rem 0 0 rgba(0, 0, 0, 0.8); }
    .zbl-section-fh .blog-teaser .heading--content {
      color: white; }
    .zbl-section-ci .blog-teaser .heading--content {
      color: #333333; }
    .zbl-section-pg .blog-teaser .heading--content {
      color: white; }
  .blog-teaser .media .blog-teaser-image {
    position: relative;
    overflow: hidden;
    min-height: 175px; }
  .blog-teaser .media img {
    max-width: 100%;
    height: auto;
    display: block; }
  @media (min-width: 1359px) {
    .blog-teaser .media .blog-teaser-image {
      height: 600px; }
    .blog-teaser .media img {
      position: absolute;
      top: -9999px;
      bottom: -9999px;
      left: -9999px;
      right: -9999px;
      margin: auto;
      width: auto;
      height: auto;
      min-height: 100%;
      min-width: 100%;
      max-width: none;
      max-height: none; } }
  @media (min-width: 0px) {
    .blog-teaser .media {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: both;
      padding-left: 0;
      padding-right: 0;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .blog-teaser .media {
      float: none; } }
  .blog-teaser .blog-teaser-image .slider-image {
    height: 0;
    padding-bottom: 46%;
    background-size: cover; }
  .blog-teaser .text, .blog-teaser .blog-content-wrapper {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    clear: both; }
    .blog-teaser .text::after, .blog-teaser .blog-content-wrapper::after {
      content: "";
      display: table;
      clear: both; }
  .blog-teaser + .blog-teaser {
    margin-top: 40px; }
  .blog-teaser .heading--content-wrapper {
    position: absolute;
    top: 30%;
    width: 100%;
    text-align: center;
    z-index: 1; }
    @media (min-width: 0px) and (max-width: 766px) {
      .blog-teaser .heading--content-wrapper {
        position: static; }
        .blog-teaser .heading--content-wrapper .heading--content {
          display: block;
          max-width: none;
          width: 100%;
          box-shadow: none;
          padding: 1.2rem; }
          .space-capital-investments .blog-teaser .heading--content-wrapper .heading--content {
            background: white;
            color: black; }
          .space-finest-homes .blog-teaser .heading--content-wrapper .heading--content {
            background: black;
            color: white; } }
  .blog-teaser .heading--section {
    margin-top: 20px; }
  .blog-teaser .read-more {
    margin-bottom: 40px;
    width: 100%; }
    .blog-teaser .read-more a {
      text-decoration: none;
      border-bottom: 0;
      white-space: nowrap; }
      .blog-teaser .read-more a:hover {
        color: white; }

/*doc
---
title: Awards Teaser
name: _awards-teaser.scss
category: Andere Teaser
---

```html_example
<div class="">Einleitungsblock analog zu Text-Heading-Layout </div>

<div class="awards-teaser-list-wrapper l-content">
  <div class="awards-teaser">
    <section class="year-and-media">
      <div class="year">
        2014
      </div>

      <div class="media">
        <img alt="award" title="award!" src="demo-images/award.png" />
      </div>
    </section>

    <section class="text richtext">
      <h2 class="heading--section">H2 Headline Lorem ipsum dolor sit amet, consetetur sadipscing elitr</h2>
      <p>
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.
        Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis,
        ultricies nec, pellentesque eu, pretium quis, sem.
        Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim
        justo, rhoncus ut, imperdiet a, venenatis vitae, justo.
        Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.
        Aenean vulputate eleifend tellus.
        Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra
        quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet.
        Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.
        Nam eget dui. Etiam rhoncus.
        Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.
        Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
        sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,
      </p>
      <a href="#" title="Read more" class="read-more button button--small button-scheme--red">View Press Release</a>
    </section>
  </div>
</div>
```
*/
.section-awards .node.view-mode-full .section-item {
  margin-top: 0;
  margin-bottom: 0; }

.awards-teaser {
  overflow: hidden;
  padding-top: 64px;
  padding-bottom: 64px;
  border-bottom: 1px solid white; }
  .zbl-section-fh .awards-teaser {
    background-color: #292e32; }
  .zbl-section-ci .awards-teaser {
    background-color: #556977; }
  .zbl-section-pg .awards-teaser {
    background-color: #000; }
  .awards-teaser .awards-teaser-inner {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden; }
    @media (min-width: 0px) and (max-width: 479px) {
      .awards-teaser .awards-teaser-inner {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .awards-teaser .awards-teaser-inner {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      .awards-teaser .awards-teaser-inner {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .awards-teaser .awards-teaser-inner {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      .awards-teaser .awards-teaser-inner {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .awards-teaser .awards-teaser-inner {
        max-width: 100%;
        width: 1536px; } }
  @media (min-width: 0px) and (max-width: 479px) {
    .awards-teaser .year-and-media {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .awards-teaser .year-and-media {
      width: 25%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .awards-teaser .year-and-media {
      width: 33.33333%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .awards-teaser .year-and-media {
      width: 37.5%;
      float: left;
      margin-right: -100%;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 0px) and (max-width: 479px) {
    .awards-teaser .text {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .awards-teaser .text {
      width: 75%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .awards-teaser .text {
      width: 66.66667%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .awards-teaser .text {
      width: 50%;
      float: left;
      margin-right: -100%;
      margin-left: 37.5%;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 0px) {
    .awards-teaser .year {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 480px) {
    .awards-teaser .year {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 768px) {
    .awards-teaser .year {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .awards-teaser .year {
      width: 33.33333%;
      clear: right;
      float: left;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 0px) {
    .awards-teaser .media {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 480px) {
    .awards-teaser .media {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 768px) {
    .awards-teaser .media {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .awards-teaser .media {
      width: 66.66667%;
      clear: right;
      float: left;
      padding-left: 0;
      padding-right: 0; } }
  .awards-teaser .media {
    text-align: center; }
  .awards-teaser .media img {
    max-width: 100%;
    height: auto; }
  .awards-teaser .text {
    padding-left: 3.6rem;
    padding-right: 3.6rem; }
  .awards-teaser:last-child {
    border-bottom: none; }
  @media (min-width: 0px) and (max-width: 479px) {
    .awards-teaser .text {
      margin-top: 40px; } }
  @media (min-width: 0px) and (max-width: 1358px) {
    .awards-teaser .media {
      margin-top: 20px; } }
  .awards-teaser .read-more {
    margin-top: 40px; }
  .awards-teaser .year {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 50px;
    line-height: 1.2;
    color: #13375b;
    text-align: center;
    color: white; }
    @media (min-width: 0px) and (max-width: 766px) {
      .awards-teaser .year {
        font-size: 30px; } }
    @media (min-width: 480px) and (max-width: 640px) {
      .awards-teaser .year {
        font-size: 40px; } }
  .awards-teaser .text > * {
    color: white; }

/*doc
---
title: Affiliations Teaser
name: _awffiliations-teaser.scss
category: Andere Teaser
---

```html_example
<div class="">Einleitungsblock analog zu Text-Heading-Layout </div>

<div class="affiliations-teaser-list-wrapper l-content">
  <div class="affiliations-teaser">

    <section class="media">
      <img alt="award" title="award!" src="demo-images/award.png" />
    </section>

    <section class="text richtext">
      <h2 class="heading--section">H2 Headline Lorem ipsum dolor sit amet, consetetur sadipscing elitr</h2>
      <p>
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.
        Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis,
        ultricies nec, pellentesque eu, pretium quis, sem.
        Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim
        justo, rhoncus ut, imperdiet a, venenatis vitae, justo.
        Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.
        Aenean vulputate eleifend tellus.
        Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra
        quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet.
        Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.
        Nam eget dui. Etiam rhoncus.
        Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante.
        Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales
        sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,
      </p>
    </section>

  </div>
</div>
```
*/
.l-content .view-zbl-affiliates {
  margin-top: 40px;
  margin-bottom: 40px; }

.affiliations-teaser {
  overflow: hidden;
  border-bottom: 1px solid white; }
  .zbl-section-fh .affiliations-teaser {
    background-color: #292e32; }
  .zbl-section-ci .affiliations-teaser {
    background-color: #556977; }
  .zbl-section-pg .affiliations-teaser {
    background-color: #000; }
  .affiliations-teaser .media {
    margin-top: 0.45em; }
    @media (min-width: 0px) and (max-width: 479px) {
      .affiliations-teaser .media {
        width: 100%;
        float: right;
        margin-left: 0;
        margin-right: 0;
        clear: none;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .affiliations-teaser .media {
        width: 25%;
        float: left;
        margin-right: -100%;
        clear: none;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 768px) and (max-width: 1358px) {
      .affiliations-teaser .media {
        width: 33.33333%;
        float: left;
        margin-right: -100%;
        clear: none;
        padding-left: 0;
        padding-right: 0; } }
    @media (min-width: 1359px) {
      .affiliations-teaser .media {
        width: 25%;
        float: left;
        margin-right: -100%;
        margin-left: 12.5%;
        clear: none;
        padding-left: 0;
        padding-right: 0; } }
  @media (min-width: 0px) and (max-width: 479px) {
    .affiliations-teaser .text {
      width: 100%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .affiliations-teaser .text {
      width: 75%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .affiliations-teaser .text {
      width: 66.66667%;
      float: right;
      margin-left: 0;
      margin-right: 0;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 1359px) {
    .affiliations-teaser .text {
      width: 50%;
      float: left;
      margin-right: -100%;
      margin-left: 37.5%;
      clear: none;
      padding-left: 0;
      padding-right: 0; } }
  .affiliations-teaser .media {
    text-align: center; }
  .affiliations-teaser .media img {
    max-width: 100%;
    height: auto; }
  .affiliations-teaser .text {
    padding-left: 3.6rem;
    padding-right: 3.6rem; }
    .affiliations-teaser .text h1:first-child, .affiliations-teaser .text .block--office-how-to-find .pane-title:first-child, .block--office-how-to-find .affiliations-teaser .text .pane-title:first-child, .affiliations-teaser .text h2:first-child, .affiliations-teaser .text h3:first-child, .affiliations-teaser .text h4:first-child, .affiliations-teaser .text h5:first-child, .affiliations-teaser .text h6:first-child {
      margin-top: 0; }
  .affiliations-teaser {
    padding-top: 64px;
    padding-bottom: 64px; }
  .affiliations-teaser:last-child {
    padding-bottom: 40px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .affiliations-teaser .text {
      padding-top: 40px; } }
  .affiliations-teaser:last-child {
    border-bottom: none; }
  .affiliations-teaser .text > * {
    color: white; }

.html .zbl-history .section-item .decade-group,
.html .zbl-history .section-item .ds-ds-content,
.html .view-zbl-history .section-item .decade-group,
.html .view-zbl-history .section-item .ds-ds-content {
  padding-left: 10%;
  padding-right: 10%; }
  @media (min-width: 0px) and (max-width: 1358px) {
    .html .zbl-history .section-item .decade-group,
    .html .zbl-history .section-item .ds-ds-content,
    .html .view-zbl-history .section-item .decade-group,
    .html .view-zbl-history .section-item .ds-ds-content {
      padding-left: 0;
      padding-right: 0; } }

@media (min-width: 0px) and (max-width: 479px) {
  .paragraphs-item-zbl-history-milestone {
    position: relative;
    padding-top: 32px;
    background-color: white; } }

@media (min-width: 480px) {
  .paragraphs-item-zbl-history-milestone {
    width: 50%;
    min-height: 200px;
    overflow: hidden;
    margin-top: 32px; } }

.view-zbl-history .section-item,
.zbl-history .section-item {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  margin-top: 40px;
  margin-bottom: 40px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .view-zbl-history .section-item,
    .zbl-history .section-item {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .view-zbl-history .section-item,
    .zbl-history .section-item {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .view-zbl-history .section-item,
    .zbl-history .section-item {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .view-zbl-history .section-item,
    .zbl-history .section-item {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .view-zbl-history .section-item,
    .zbl-history .section-item {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .view-zbl-history .section-item,
    .zbl-history .section-item {
      max-width: 100%;
      width: 1536px; } }

.view-zbl-history .decade-header,
.zbl-history .decade-header {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333;
  color: white;
  word-spacing: 100px;
  text-align: center; }
  @media (min-width: 0px) and (max-width: 766px) {
    .view-zbl-history .decade-header,
    .zbl-history .decade-header {
      font-size: 19px;
      line-height: 1.61111; } }

.view-zbl-history .history-year,
.zbl-history .history-year {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.25;
  color: #333333;
  color: #bd9f85; }
  @media (min-width: 0px) and (max-width: 766px) {
    .view-zbl-history .history-year,
    .zbl-history .history-year {
      font-size: 20px; } }

@media (min-width: 0px) and (max-width: 479px) {
  .view-zbl-history .history-year,
  .zbl-history .history-year {
    padding-left: 3.6rem;
    padding-right: 3.6rem;
    padding-bottom: 13px;
    position: relative;
    text-align: center; }
    .view-zbl-history .history-year::after,
    .zbl-history .history-year::after {
      content: "";
      height: 2px;
      position: absolute;
      left: 3.6rem;
      right: 3.6rem;
      bottom: 0;
      background: #AEAEAE; }
  .view-zbl-history .history-footer-block,
  .zbl-history .history-footer-block {
    width: 100%; } }

@media (min-width: 480px) {
  .view-zbl-history .odd,
  .zbl-history .odd {
    margin-left: 50%;
    text-align: left; }
  .view-zbl-history .even,
  .zbl-history .even {
    text-align: right; }
  .view-zbl-history .history-year,
  .zbl-history .history-year {
    display: inline-block;
    position: relative;
    padding-bottom: 13px;
    border-bottom: 2px solid #AEAEAE; }
  .view-zbl-history .odd .history-year,
  .zbl-history .odd .history-year {
    padding-left: 3.6rem;
    padding-right: 0rem; }
  .view-zbl-history .even .history-year,
  .zbl-history .even .history-year {
    padding-left: 0rem;
    padding-right: 3.6rem; }
  .view-zbl-history .history-footer-block,
  .zbl-history .history-footer-block {
    width: 50%; }
  .view-zbl-history .decade-group,
  .view-zbl-history .ds-ds-content,
  .zbl-history .decade-group,
  .zbl-history .ds-ds-content {
    background-color: white;
    position: relative;
    overflow: hidden;
    clear: both;
    height: 100%;
    margin-bottom: 40px; }
    .view-zbl-history .decade-group::after,
    .view-zbl-history .ds-ds-content::after,
    .zbl-history .decade-group::after,
    .zbl-history .ds-ds-content::after {
      content: "";
      display: table;
      clear: both; }
    .view-zbl-history .decade-group::before,
    .view-zbl-history .ds-ds-content::before,
    .zbl-history .decade-group::before,
    .zbl-history .ds-ds-content::before {
      content: "";
      width: 10px;
      height: 100%;
      background: #AEAEAE;
      position: absolute;
      left: 50%;
      margin-left: -5px;
      top: 0;
      z-index: 0; }
    .view-zbl-history .decade-group .paragraphs-items,
    .view-zbl-history .ds-ds-content .paragraphs-items,
    .zbl-history .decade-group .paragraphs-items,
    .zbl-history .ds-ds-content .paragraphs-items {
      position: relative;
      margin: 0 auto;
      clear: both;
      overflow: hidden; } }
    @media (min-width: 480px) and (min-width: 0px) and (max-width: 479px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (min-width: 480px) and (max-width: 766px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 480px) and (min-width: 768px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 480px) and (min-width: 1167px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 480px) and (min-width: 1359px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 480px) and (min-width: 1551px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 100%;
        width: 1536px; } }

@media (min-width: 480px) {
      .view-zbl-history .decade-group .paragraphs-items::after,
      .view-zbl-history .ds-ds-content .paragraphs-items::after,
      .zbl-history .decade-group .paragraphs-items::after,
      .zbl-history .ds-ds-content .paragraphs-items::after {
        content: "";
        display: table;
        clear: both; } }

.view-zbl-history .decade-group,
.view-zbl-history .ds-ds-content,
.zbl-history .decade-group,
.zbl-history .ds-ds-content {
  background-color: white;
  position: relative;
  overflow: hidden;
  clear: both;
  height: 100%;
  margin-bottom: 80px; }
  .view-zbl-history .decade-group::after,
  .view-zbl-history .ds-ds-content::after,
  .zbl-history .decade-group::after,
  .zbl-history .ds-ds-content::after {
    content: "";
    display: table;
    clear: both; }
  .view-zbl-history .decade-group .paragraphs-items,
  .view-zbl-history .ds-ds-content .paragraphs-items,
  .zbl-history .decade-group .paragraphs-items,
  .zbl-history .ds-ds-content .paragraphs-items {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden; }
    @media (min-width: 0px) and (max-width: 479px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .view-zbl-history .decade-group .paragraphs-items,
      .view-zbl-history .ds-ds-content .paragraphs-items,
      .zbl-history .decade-group .paragraphs-items,
      .zbl-history .ds-ds-content .paragraphs-items {
        max-width: 100%;
        width: 1536px; } }
    .view-zbl-history .decade-group .paragraphs-items::after,
    .view-zbl-history .ds-ds-content .paragraphs-items::after,
    .zbl-history .decade-group .paragraphs-items::after,
    .zbl-history .ds-ds-content .paragraphs-items::after {
      content: "";
      display: table;
      clear: both; }

.view-zbl-history .decade-header,
.zbl-history .decade-header {
  width: 100px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
  padding-top: 7px;
  padding-bottom: 7px;
  background: #394146; }

.view-zbl-history .history-item,
.zbl-history .history-item {
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
  padding-left: 3.6rem;
  padding-right: 3.6rem; }
  .view-zbl-history .history-item .media,
  .zbl-history .history-item .media {
    position: relative; }
  .view-zbl-history .history-item .media + .text,
  .zbl-history .history-item .media + .text {
    margin-top: 34px; }
  .view-zbl-history .history-item img,
  .zbl-history .history-item img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: top;
    margin: 0 2px 2px; }
  .view-zbl-history .history-item iframe,
  .zbl-history .history-item iframe {
    max-width: 100%;
    height: 377px; }

.view-zbl-history .history-footer-block,
.zbl-history .history-footer-block {
  margin: 0 auto;
  margin-top: 40px;
  padding: 40px 3.6rem;
  text-align: center;
  background: #394146;
  border-left: 3.6rem solid white;
  border-right: 3.6rem solid white; }
  .view-zbl-history .history-footer-block *,
  .zbl-history .history-footer-block * {
    color: white; }

.history-page.l-content .pane-node-field-zbl-s-section {
  margin-bottom: 0; }

.history-page.l-content .view-zbl-history,
.history-page.l-content .zbl-history {
  margin-bottom: 40px; }

.currency-switcher:not(.footer) {
  position: relative;
  z-index: 11;
  width: 25px;
  height: 25px;
  margin-left: 9px;
  display: inline-block;
  background: white;
  border: 1px solid #cccccc;
  cursor: pointer;
  text-align: center;
  line-height: 25px !important; }
  .lang-rtl .currency-switcher:not(.footer) {
    margin-right: 9px; }
  .lang-rtl .currency-switcher:not(.footer) {
    margin-left: 0; }
  .currency-switcher:not(.footer)::before {
    color: black;
    line-height: 25px !important;
    font-size: 13px !important;
    vertical-align: middle !important; }
  .currency-switcher:not(.footer) .currency-menu {
    height: 30px;
    display: inline-block;
    position: absolute;
    left: -1px !important;
    top: -1px !important;
    word-break: normal; }
  .currency-switcher:not(.footer) .currency-item {
    display: block !important;
    background: white;
    height: 30px;
    line-height: 30px !important;
    padding: 0 9px;
    border: 1px solid #cccccc;
    border-bottom: none;
    color: black !important;
    font-size: 13px !important;
    text-align: left; }
    .currency-switcher:not(.footer) .currency-item:last-child {
      border-bottom: 1px solid #cccccc; }
    .currency-switcher:not(.footer) .currency-item:hover {
      background: #efefef; }
    .currency-switcher:not(.footer) .currency-item::after {
      content: attr(title);
      padding: 0 0 0 7px; }
      .lang-rtl .currency-switcher:not(.footer) .currency-item::after {
        padding: 0 7px 0 0; }

html[dir=rtl] .currency-switcher:not(.footer) {
  margin-left: 0;
  margin-right: 9px; }

.footer .currency-switcher .currency-menu {
  width: 75%;
  display: block;
  text-align: center;
  margin: 0 auto; }

.footer .currency-switcher .currency-item {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 1px solid #4b4d50;
  border-radius: 40px;
  cursor: pointer;
  font-size: 22px;
  line-height: 40px;
  color: white; }
  .footer .currency-switcher .currency-item:first-child {
    float: left; }
  .footer .currency-switcher .currency-item:last-child {
    float: right; }
  .footer .currency-switcher .currency-item:hover {
    background-color: #4b4d50; }

.view-display-id-pane_blog_teaser_large .social {
  clear: both;
  text-align: center; }

.view-display-id-pane_news_teaser_large .social {
  clear: both;
  text-align: left; }

.rrssb-item-list {
  position: relative;
  z-index: 1;
  display: inline-block;
  vertical-align: middle; }
  .rrssb-item-list li {
    list-style-type: none;
    float: left;
    margin: 0 10px;
    width: 40px !important;
    height: 40px !important;
    background: #7a8480;
    text-align: center; }
    .rrssb-item-list li:first-child {
      margin-left: 0; }
    .rrssb-item-list li:last-child {
      margin-right: 0; }
    .rrssb-item-list li:hover {
      background: #c4000b; }
    .rrssb-item-list li a {
      display: block;
      padding-top: 5px; }
  .rrssb-item-list .rrssb-text {
    display: none; }

.rrssb-buttons li a .rrssb-icon svg path, .rrssb-buttons li a .rrssb-icon svg polygon {
  fill: #fff !important; }

.social .icons {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  box-orient: horizontal;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  flex-direction: row;
  -ms-flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .social .icons {
      -ms-flex-pack: center;
      justify-content: center; } }

.social .icon {
  max-width: 45px;
  width: 16.666%;
  flex: 1 1 16.666%;
  -ms-flex: 1 1 16.666%;
  position: relative;
  float: none !important;
  display: inline-block;
  margin-bottom: 15px;
  margin-left: 0;
  margin-right: 5.8%;
  color: white;
  text-decoration: none;
  text-align: center;
  background: #7a8480; }
  .social .icon:last-child {
    margin-right: 0; }
  @media screen and (max-width: 870px) and (min-width: 768px) {
    .social .icon {
      max-width: 40px;
      margin-bottom: 10px;
      margin-right: 4%; } }
  @media screen and (max-width: 768px) {
    .social .icon {
      margin-right: 2.5%; } }
  @media screen and (max-width: 360px) {
    .social .icon {
      margin-right: 2.2%; } }
  .social .icon:hover {
    border-bottom: none;
    background: #c4000b;
    color: white; }
  .social .icon::before {
    width: 100%;
    display: block;
    position: absolute;
    top: 50%;
    font-size: 23px;
    transform: translateY(-50%); }
    @media screen and (max-width: 870px) and (min-width: 768px) {
      .social .icon::before {
        font-size: 20px; } }
  .social .icon::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 95%;
    position: relative;
    top: 0; }
  .social .icon.instagram {
    position: relative; }
    .social .icon.instagram::before {
      position: absolute;
      width: 100%;
      height: 100%;
      content: "";
      background: url(../images/instagram.svg) no-repeat;
      background-size: 22px;
      background-position: center; }
      @media screen and (max-width: 870px) and (min-width: 768px) {
        .social .icon.instagram::before {
          background-size: 19px; } }

.rrssb-facebook a {
  color: white;
  text-decoration: none;
  text-align: center;
  font-size: 23px; }

.rrssb-facebook svg {
  display: none; }

.language-switch,
.lang_dropdown_form {
  float: right;
  margin-top: 10px; }
  .language-switch .selectric,
  .lang_dropdown_form .selectric {
    box-sizing: border-box;
    font-size: 13px;
    width: 100px;
    padding: 7px 10px; }
    .zbl-section-fh .language-switch .selectric, .zbl-section-fh
    .lang_dropdown_form .selectric {
      background-color: black; }
    .zbl-section-ci .language-switch .selectric, .zbl-section-ci
    .lang_dropdown_form .selectric {
      background-color: white; }
    .zbl-section-pg .language-switch .selectric, .zbl-section-pg
    .lang_dropdown_form .selectric {
      background-color: black; }
    .zbl-section-fh .language-switch .selectric, .zbl-section-fh
    .lang_dropdown_form .selectric {
      border-color: #4b4d50; }
    .zbl-section-ci .language-switch .selectric, .zbl-section-ci
    .lang_dropdown_form .selectric {
      border-color: #cccccc; }
    .zbl-section-pg .language-switch .selectric, .zbl-section-pg
    .lang_dropdown_form .selectric {
      border-color: white; }
    .zbl-section-fh .language-switch .selectric, .zbl-section-fh
    .lang_dropdown_form .selectric {
      color: white; }
    .zbl-section-ci .language-switch .selectric, .zbl-section-ci
    .lang_dropdown_form .selectric {
      color: #333333; }
    .zbl-section-pg .language-switch .selectric, .zbl-section-pg
    .lang_dropdown_form .selectric {
      color: white; }
    @media (min-width: 0px) and (max-width: 766px) {
      .language-switch .selectric,
      .lang_dropdown_form .selectric {
        padding: 5px;
        width: 40px; } }
    .language-switch .selectric .label,
    .lang_dropdown_form .selectric .label {
      height: auto;
      line-height: 1.3;
      font-size: 13px;
      margin: 0; }
      .zbl-section-fh .language-switch .selectric .label, .zbl-section-fh
      .lang_dropdown_form .selectric .label {
        color: white; }
      .zbl-section-ci .language-switch .selectric .label, .zbl-section-ci
      .lang_dropdown_form .selectric .label {
        color: #333333; }
      .zbl-section-pg .language-switch .selectric .label, .zbl-section-pg
      .lang_dropdown_form .selectric .label {
        color: white; }
      @media (min-width: 0px) and (max-width: 766px) {
        .language-switch .selectric .label,
        .lang_dropdown_form .selectric .label {
          text-transform: uppercase;
          text-overflow: clip; } }
    .language-switch .selectric .selectric-button,
    .lang_dropdown_form .selectric .selectric-button {
      height: 100%;
      line-height: 1;
      width: 26px;
      background: inherit;
      height: 100%; }
      @media (min-width: 0px) and (max-width: 766px) {
        .language-switch .selectric .selectric-button,
        .lang_dropdown_form .selectric .selectric-button {
          width: 17px; } }
      .zbl-section-fh .language-switch .selectric .selectric-button:before, .zbl-section-fh
      .lang_dropdown_form .selectric .selectric-button:before {
        color: white; }
      .zbl-section-ci .language-switch .selectric .selectric-button:before, .zbl-section-ci
      .lang_dropdown_form .selectric .selectric-button:before {
        color: black; }
      .zbl-section-pg .language-switch .selectric .selectric-button:before, .zbl-section-pg
      .lang_dropdown_form .selectric .selectric-button:before {
        color: white; }
  .language-switch .selectric-items,
  .lang_dropdown_form .selectric-items {
    box-sizing: border-box;
    margin-top: -1px;
    width: 100px !important; }
    .zbl-section-fh .language-switch .selectric-items, .zbl-section-fh
    .lang_dropdown_form .selectric-items {
      border-color: #4b4d50; }
    .zbl-section-ci .language-switch .selectric-items, .zbl-section-ci
    .lang_dropdown_form .selectric-items {
      border-color: #cccccc; }
    .zbl-section-pg .language-switch .selectric-items, .zbl-section-pg
    .lang_dropdown_form .selectric-items {
      border-color: #34495d; }
    .language-switch .selectric-items li,
    .lang_dropdown_form .selectric-items li {
      font-size: 13px; }
      .zbl-section-fh .language-switch .selectric-items li, .zbl-section-fh
      .lang_dropdown_form .selectric-items li {
        background-color: black; }
      .zbl-section-ci .language-switch .selectric-items li, .zbl-section-ci
      .lang_dropdown_form .selectric-items li {
        background-color: white; }
      .zbl-section-pg .language-switch .selectric-items li, .zbl-section-pg
      .lang_dropdown_form .selectric-items li {
        background-color: #000; }
      .zbl-section-fh .language-switch .selectric-items li, .zbl-section-fh
      .lang_dropdown_form .selectric-items li {
        border-color: #4b4d50; }
      .zbl-section-ci .language-switch .selectric-items li, .zbl-section-ci
      .lang_dropdown_form .selectric-items li {
        border-color: #cccccc; }
      .zbl-section-pg .language-switch .selectric-items li, .zbl-section-pg
      .lang_dropdown_form .selectric-items li {
        border-color: #34495d; }
      .zbl-section-fh .language-switch .selectric-items li, .zbl-section-fh
      .lang_dropdown_form .selectric-items li {
        color: white; }
      .zbl-section-ci .language-switch .selectric-items li, .zbl-section-ci
      .lang_dropdown_form .selectric-items li {
        color: #333333; }
      .zbl-section-pg .language-switch .selectric-items li, .zbl-section-pg
      .lang_dropdown_form .selectric-items li {
        color: white; }
      .zbl-section-fh .language-switch .selectric-items li:hover, .zbl-section-fh
      .lang_dropdown_form .selectric-items li:hover {
        background-color: #4b4d50; }
      .zbl-section-ci .language-switch .selectric-items li:hover, .zbl-section-ci
      .lang_dropdown_form .selectric-items li:hover {
        background-color: #efefef; }
      .zbl-section-pg .language-switch .selectric-items li:hover, .zbl-section-pg
      .lang_dropdown_form .selectric-items li:hover {
        background-color: #34495d; }
      .zbl-section-fh .language-switch .selectric-items li:hover, .zbl-section-fh
      .lang_dropdown_form .selectric-items li:hover {
        border-color: #4b4d50; }
      .zbl-section-ci .language-switch .selectric-items li:hover, .zbl-section-ci
      .lang_dropdown_form .selectric-items li:hover {
        border-color: #efefef; }
      .zbl-section-pg .language-switch .selectric-items li:hover, .zbl-section-pg
      .lang_dropdown_form .selectric-items li:hover {
        border-color: #34495d; }
      .zbl-section-fh .language-switch .selectric-items li:hover, .zbl-section-fh
      .lang_dropdown_form .selectric-items li:hover {
        color: white; }
      .zbl-section-ci .language-switch .selectric-items li:hover, .zbl-section-ci
      .lang_dropdown_form .selectric-items li:hover {
        color: #333333; }
      .zbl-section-pg .language-switch .selectric-items li:hover, .zbl-section-pg
      .lang_dropdown_form .selectric-items li:hover {
        color: white; }
      .language-switch .selectric-items li.selected,
      .lang_dropdown_form .selectric-items li.selected {
        display: none; }
    @media (min-width: 0px) and (max-width: 766px) {
      .language-switch .selectric-items,
      .lang_dropdown_form .selectric-items {
        width: 100% !important; }
        .language-switch .selectric-items li,
        .lang_dropdown_form .selectric-items li {
          overflow: hidden;
          padding: 5px;
          text-transform: uppercase; }
          .language-switch .selectric-items li:after,
          .lang_dropdown_form .selectric-items li:after {
            content: '';
            display: block;
            position: absolute;
            z-index: 1;
            height: 100%;
            width: 17px;
            right: 0;
            top: 0;
            background: inherit; }
          .language-switch .selectric-items li:hover,
          .lang_dropdown_form .selectric-items li:hover {
            background: #4b4d50; } }

.front .language-switch,
.front .lang_dropdown_form,
.error-page .language-switch,
.error-page .lang_dropdown_form {
  padding: 0 1.2rem; }
  .front .language-switch .selectric,
  .front .lang_dropdown_form .selectric,
  .error-page .language-switch .selectric,
  .error-page .lang_dropdown_form .selectric {
    background: transparent;
    color: white; }
    .front .language-switch .selectric .label,
    .front .lang_dropdown_form .selectric .label,
    .error-page .language-switch .selectric .label,
    .error-page .lang_dropdown_form .selectric .label {
      color: inherit; }
    @media (min-width: 0px) and (max-width: 766px) {
      .front .language-switch .selectric,
      .front .lang_dropdown_form .selectric,
      .error-page .language-switch .selectric,
      .error-page .lang_dropdown_form .selectric {
        background: black; } }
  .front .language-switch .selectric-items,
  .front .lang_dropdown_form .selectric-items,
  .error-page .language-switch .selectric-items,
  .error-page .lang_dropdown_form .selectric-items {
    background: transparent; }
    .front .language-switch .selectric-items li,
    .front .lang_dropdown_form .selectric-items li,
    .error-page .language-switch .selectric-items li,
    .error-page .lang_dropdown_form .selectric-items li {
      color: white; }
      .front .language-switch .selectric-items li:hover,
      .front .lang_dropdown_form .selectric-items li:hover,
      .error-page .language-switch .selectric-items li:hover,
      .error-page .lang_dropdown_form .selectric-items li:hover {
        background: rgba(240, 240, 240, 0.5); }
    @media (min-width: 0px) and (max-width: 766px) {
      .front .language-switch .selectric-items li,
      .front .lang_dropdown_form .selectric-items li,
      .error-page .language-switch .selectric-items li,
      .error-page .lang_dropdown_form .selectric-items li {
        background: #011b34; }
        .front .language-switch .selectric-items li:hover,
        .front .lang_dropdown_form .selectric-items li:hover,
        .error-page .language-switch .selectric-items li:hover,
        .error-page .lang_dropdown_form .selectric-items li:hover {
          background: #023363; } }

body.zbl-section-fh.zabel-team-overview .section-item, body.zbl-section-ci.zabel-team-overview .section-item, body.zbl-section-pg.zabel-team-overview .section-item {
  background-color: #fff;
  margin-top: 0;
  margin-bottom: 0; }

body.zbl-section-fh.zabel-team-overview .overview-page h3.heading--section, body.zbl-section-ci.zabel-team-overview .overview-page h3.heading--section, body.zbl-section-pg.zabel-team-overview .overview-page h3.heading--section {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 30px;
  padding-bottom: 40px; }

body.zbl-section-fh.zabel-team-overview .overview-page h3.heading--section {
  background-color: #000; }

body.zbl-section-ci.zabel-team-overview .overview-page h3.heading--section {
  background-color: #000; }

body.zbl-section-pg.zabel-team-overview .overview-page h3.heading--section {
  background-color: #000; }

.view-zbl-employee-groups .employee-teaser,
.view-gl-employee .employee-teaser {
  position: relative;
  float: none;
  margin-bottom: 40px; }
  .view-zbl-employee-groups .employee-teaser .heading--subordinated,
  .view-gl-employee .employee-teaser .heading--subordinated {
    margin: 0; }
  .view-zbl-employee-groups .employee-teaser .infobox,
  .view-gl-employee .employee-teaser .infobox {
    left: 1.2rem;
    right: 1.2rem; }
  .view-zbl-employee-groups .employee-teaser .media-wrapper,
  .view-gl-employee .employee-teaser .media-wrapper {
    top: 0; }
    .view-zbl-employee-groups .employee-teaser .media-wrapper img,
    .view-gl-employee .employee-teaser .media-wrapper img {
      max-width: 100%;
      height: auto;
      cursor: pointer; }
  .view-zbl-employee-groups .employee-teaser .infobox,
  .view-gl-employee .employee-teaser .infobox {
    padding: 36px 2.4rem 2.4rem 2.4rem; }
    .view-zbl-employee-groups .employee-teaser .infobox .overflow-helper,
    .view-gl-employee .employee-teaser .infobox .overflow-helper {
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -moz-box-orient: vertical;
      box-orient: vertical;
      -webkit-box-direction: normal;
      -moz-box-direction: normal;
      box-direction: normal;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column;
      -ms-flex-direction: column;
      -webkit-flex-grow: 1;
      -moz-flex-grow: 1;
      flex-grow: 1;
      -ms-flex-positive: 1; }
      .view-zbl-employee-groups .employee-teaser .infobox .overflow-helper label,
      .view-gl-employee .employee-teaser .infobox .overflow-helper label {
        margin-top: auto; }
  .view-zbl-employee-groups .employee-teaser .infobox .button,
  .view-gl-employee .employee-teaser .infobox .button {
    margin-top: 20px; }
  .view-zbl-employee-groups .employee-teaser .infobox,
  .view-gl-employee .employee-teaser .infobox {
    background: white; }
    .view-zbl-employee-groups .employee-teaser .infobox .overflow-helper p,
    .view-gl-employee .employee-teaser .infobox .overflow-helper p {
      line-height: 1.5; }
  @media (min-width: 480px) and (max-width: 766px) {
    .view-zbl-employee-groups .employee-teaser,
    .view-gl-employee .employee-teaser {
      vertical-align: top; }
      .view-zbl-employee-groups .employee-teaser:nth-child(3n),
      .view-gl-employee .employee-teaser:nth-child(3n) {
        clear: right; }
      .view-zbl-employee-groups .employee-teaser .push-open-4-6,
      .view-gl-employee .employee-teaser .push-open-4-6 {
        height: auto;
        padding-bottom: 0; }
      .view-zbl-employee-groups .employee-teaser .media-wrapper,
      .view-zbl-employee-groups .employee-teaser .infobox,
      .view-gl-employee .employee-teaser .media-wrapper,
      .view-gl-employee .employee-teaser .infobox {
        height: auto;
        position: static; } }
  @media (min-width: 766px) and (max-width: 1023px) {
    .view-zbl-employee-groups .employee-teaser,
    .view-gl-employee .employee-teaser {
      vertical-align: top; }
      .view-zbl-employee-groups .employee-teaser:nth-child(3n),
      .view-gl-employee .employee-teaser:nth-child(3n) {
        clear: right; }
      .view-zbl-employee-groups .employee-teaser .push-open-4-6,
      .view-gl-employee .employee-teaser .push-open-4-6 {
        height: auto;
        padding-bottom: 0; }
      .view-zbl-employee-groups .employee-teaser .media-wrapper,
      .view-zbl-employee-groups .employee-teaser .infobox,
      .view-gl-employee .employee-teaser .media-wrapper,
      .view-gl-employee .employee-teaser .infobox {
        height: auto;
        position: static; } }

.view-gl-employee .modal .infobox {
  position: inherit;
  height: inherit;
  left: 0;
  right: 0; }

.view-gl-employee .modal .contact-information {
  color: #333; }
  .view-gl-employee .modal .contact-information a {
    color: #333; }

.view-gl-employee .modal label {
  cursor: pointer;
  margin-bottom: 0; }

.view-gl-employee .modal label img {
  border-radius: 150px;
  display: block;
  max-width: 300px; }

.view-gl-employee .modal .modal-state {
  display: none; }

.view-gl-employee .modal .modal-trigger {
  padding: 0.8em 1em; }

.view-gl-employee .modal .modal-fade-screen {
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.85);
  opacity: 0;
  padding-top: 0.6em;
  text-align: left;
  visibility: hidden;
  z-index: 99999999999; }
  .view-gl-employee .modal .modal-fade-screen .modal-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer; }

.view-gl-employee .modal .modal-close {
  position: absolute;
  top: 1em;
  right: 1em;
  height: 30px;
  width: 30px;
  background: transparent;
  cursor: pointer;
  z-index: 1;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%; }
  .view-gl-employee .modal .modal-close:after, .view-gl-employee .modal .modal-close:before {
    position: absolute;
    top: 7px;
    right: 7px;
    bottom: 0;
    left: 50%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    height: 21px;
    width: 2px;
    background: #ddd;
    content: '';
    display: block;
    margin: -3px 0 0 -1px; }
  .view-gl-employee .modal .modal-close:hover:after, .view-gl-employee .modal .modal-close:hover:before {
    background: #c4c4c4; }
  .view-gl-employee .modal .modal-close:before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }

.view-gl-employee .modal .modal-inner {
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  background: #fff;
  margin-top: 0;
  top: 0;
  margin: auto;
  max-height: 85vh;
  overflow: auto;
  position: relative;
  width: 60%;
  max-width: 750px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .view-gl-employee .modal .modal-inner {
      width: auto; } }
  .view-gl-employee .modal .modal-inner h1, .view-gl-employee .modal .modal-inner .block--office-how-to-find .pane-title, .block--office-how-to-find .view-gl-employee .modal .modal-inner .pane-title {
    color: #333;
    text-align: left;
    text-transform: capitalize; }
  .view-gl-employee .modal .modal-inner p {
    color: #333;
    line-height: 1.5em; }
  .view-gl-employee .modal .modal-inner .modal-intro {
    margin-bottom: 1em; }
  .view-gl-employee .modal .modal-inner .modal-content {
    color: #333; }
  .view-gl-employee .modal .modal-inner a.cta {
    color: #fff;
    display: inline-block;
    margin-right: 0.5em;
    margin-top: 1em; }
    .view-gl-employee .modal .modal-inner a.cta:last-child {
      padding: 0 2em; }

.view-gl-employee .modal .modal-state:checked + .modal-fade-screen {
  opacity: 1;
  visibility: visible; }

.view-gl-employee .modal .modal-state:checked + .modal-fade-screen .modal-inner {
  top: 10vh; }

.modal-open {
  overflow: hidden; }

.overview-page h3.heading--section {
  margin-top: 30px;
  margin-bottom: 40px;
  color: white;
  text-align: center; }

.zbl-section-fh .overview-page .employee-group {
  background-color: #292e32; }

.zbl-section-ci .overview-page .employee-group {
  background-color: #556977; }

.zbl-section-pg .overview-page .employee-group {
  background-color: #000; }

.employee .media img {
  display: block;
  width: 100%;
  height: auto; }

.employee .infobox {
  overflow: hidden; }

.employee .phone,
.employee .email {
  display: inline-block; }

.employee .contact-information {
  list-style: none; }

@media (min-width: 1359px) {
  .employee .infobox {
    padding-left: 16.6666%;
    padding-right: 16.6666%; } }

.employee .phone::before,
.employee .contact-information a::before {
  display: inline-block;
  vertical-align: middle;
  font-size: 36px; }

.employee .contact-information a {
  border-bottom: none; }

.employee .infobox {
  background-color: white;
  text-align: center;
  /*.name {
	    padding-top: 40px
    }
    .languages,
    .quote,
    .description {
	    margin-top: 20px;
    }
    .contact-information {
	    margin-top: 40px;
		margin-bottom: 40px
    }*/ }
  .employee .infobox .name {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .employee .infobox .name {
        font-size: 19px;
        line-height: 1.61111; } }
  .employee .infobox .positions {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 1.27778;
    color: #333333; }
  .employee .infobox .quote {
    font-style: italic; }
  .employee .infobox .phone,
  .employee .infobox .email {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 1.27778;
    color: #333333;
    text-transform: none;
    text-decoration: none; }
  .employee .infobox .languages,
  .employee .infobox .quote,
  .employee .infobox .description {
    margin-top: 20px; }
  .employee .infobox .contact-information {
    margin-top: 40px;
    margin-bottom: 40px; }
    .employee .infobox .contact-information li + li {
      margin-top: 12px; }

.glossary-item {
  position: relative;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  padding-top: 2.4rem;
  padding-bottom: 0;
  background: transparent;
  border: 1px solid transparent;
  transition: background .4s linear, border .4s linear, padding .4s linear; }
  .glossary-item + .glossary-item {
    margin-top: 12px; }
  .glossary-item.open {
    padding-bottom: 2.4rem;
    border: 1px solid #cccccc;
    background: white;
    transition: background .4s linear, border .4s linear, padding .4s linear; }

.definition-title {
  position: relative;
  padding-right: 25px;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1.27778;
  color: #333333;
  cursor: pointer; }
  .definition-title::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    line-height: 23px;
    font-size: 28px; }
  .definition-title > div {
    display: inline-block; }

.definition-description {
  padding-top: 18px;
  line-height: 1.75; }

.poi {
  padding-top: 14px;
  padding-left: 9px;
  padding-bottom: 5px;
  overflow: hidden; }
  .poi .image {
    display: inline-block;
    float: left;
    margin-right: 2.4rem; }
  .poi .title {
    display: inline-block; }

.poi.type-default .title {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1.27778;
  color: #333333; }

.poi.type-default .description {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: none;
  font-size: 16px;
  line-height: 1.5;
  color: #333333; }

.poi.type-property {
  text-align: center; }
  .poi.type-property .title {
    margin-bottom: 9px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.31818;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .poi.type-property .title {
        font-size: 19px;
        line-height: 1.61111; } }
  .poi.type-property .address {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333; }

.poi.type-office {
  text-align: center; }
  .poi.type-office .title {
    margin-bottom: 9px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 1.27778;
    color: #333333; }
  .poi.type-office .address,
  .poi.type-office .phone,
  .poi.type-office .fax,
  .poi.type-office .email,
  .poi.type-office .how-to-find-us {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333; }
  .poi.type-office .how-to-find-us {
    color: inherit;
    text-decoration: none;
    display: inline;
    padding-bottom: 1px;
    border-bottom: 1px solid;
    display: inline-block;
    margin-top: 12px; }
    .poi.type-office .how-to-find-us:hover {
      color: #c4000b; }

.teaser-about-zabel {
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #556977;
  border-top: 1px solid white; }
  .teaser-about-zabel .richtext > div > *, .teaser-about-zabel body.front .view-header > div > *, body.front .teaser-about-zabel .view-header > div > * {
    color: white; }

.teaser-enquire-now .section-item {
  border-top: 1px solid white; }

.zbl-section-fh .teaser-enquire-now .section-item {
  background: black; }
  .zbl-section-fh .teaser-enquire-now .section-item h1, .zbl-section-fh .teaser-enquire-now .section-item .block--office-how-to-find .pane-title, .block--office-how-to-find .zbl-section-fh .teaser-enquire-now .section-item .pane-title,
  .zbl-section-fh .teaser-enquire-now .section-item p,
  .zbl-section-fh .teaser-enquire-now .section-item li {
    color: white; }

#property-filter-trigger a {
  width: 40px;
  height: 40px;
  border-radius: 35px;
  position: absolute;
  right: 3.6rem;
  top: 3.6rem;
  z-index: 8;
  background: #c4000b;
  cursor: pointer;
  text-align: center;
  font-size: 0;
  line-height: 0;
  color: transparent; }
  @media (min-width: 768px) {
    #property-filter-trigger a {
      width: 70px;
      height: 70px; } }
  #property-filter-trigger a::before {
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    font-size: 30px;
    margin-top: -15px;
    color: white; }
    @media (min-width: 768px) {
      #property-filter-trigger a::before {
        font-size: 50px;
        margin-top: -25px; } }
  #property-filter-trigger a:hover {
    background: #c4000b; }
    #property-filter-trigger a:hover::before {
      color: white; }

.property-filter-overlay-wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 99;
  overflow-y: scroll; }

.property-filter-overlay {
  width: 50%;
  margin: 0 auto;
  position: relative;
  top: 5%;
  padding: 2.4rem;
  background-color: #efefef; }
  @media (min-width: 0px) and (max-width: 479px) {
    .property-filter-overlay {
      width: 100%;
      top: 0; } }
  .property-filter-overlay .close {
    cursor: pointer; }
    .property-filter-overlay .close::before {
      position: absolute;
      right: 2.4rem;
      top: 1.2rem;
      font-size: 40px; }
  .property-filter-overlay .label-wrapper {
    margin-bottom: 20px;
    text-align: center; }
    .property-filter-overlay .label-wrapper .range-min,
    .property-filter-overlay .label-wrapper .divider,
    .property-filter-overlay .label-wrapper .range-max {
      font-size: 24px;
      font-weight: 500;
      padding-right: 7px; }
  .property-filter-overlay .heading--content,
  .property-filter-overlay .filter-item {
    margin-top: 40px; }
  .property-filter-overlay .centered-links {
    margin-top: 60px;
    margin-bottom: 20px; }
  .property-filter-overlay .currency-switcher {
    z-index: 2; }

/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.noUi-target {
  position: relative;
  direction: ltr; }

.noUi-base {
  width: 100%;
  height: 6px;
  position: relative;
  z-index: 2; }

.noUi-origin {
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0; }

.noUi-handle {
  position: relative;
  z-index: 1; }

.noUi-stacking .noUi-handle {
  /* This class is applied to the lower origin when
     its values is > 50%. */
  z-index: 10; }

.noUi-state-tap .noUi-origin {
  -webkit-transition: left 0.3s, top 0.3s;
  transition: left 0.3s, top 0.3s; }

.noUi-state-drag * {
  cursor: inherit !important; }

/* Painting and performance;
 * Browsers can paint handles in their own layer.
 */
.noUi-base {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background: #cccccc; }

/* Slider size and handle placement;
 */
.noUi-horizontal {
  height: 18px; }

.noUi-horizontal .noUi-handle {
  width: 20px;
  height: 20px;
  top: -7px;
  left: -10px;
  background: #646464;
  border-radius: 20px;
  cursor: pointer;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.4); }

.noUi-horizontal .noUi-handle.noUi-active {
  background: #c4000b; }

/* Styling;
 */
.noUi-background {
  height: 4px;
  z-index: 1;
  cursor: pointer; }

.noUi-connect {
  -webkit-transition: background 450ms;
  transition: background 450ms; }

.noUi-origin {
  z-index: 2 !important; }

/* Handles and cursors;
 */
.noUi-dragable {
  cursor: w-resize; }

.noUi-vertical .noUi-dragable {
  cursor: n-resize; }

/* Disabled state;
 */
[disabled].noUi-origin,
[disabled] .noUi-handle {
  cursor: not-allowed; }

/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.noUi-pips {
  position: absolute; }

/* Values;
 *
 */
.noUi-value {
  width: 40px;
  position: absolute;
  text-align: center;
  display: none; }

.noUi-value-sub {
  font-size: 10px; }

/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: white; }

.noUi-marker-large {
  background: #c4000b; }

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  height: 100%;
  top: 0;
  z-index: 1;
  left: 0;
  width: 100%;
  overflow: hidden; }

.noUi-marker-horizontal.noUi-marker {
  height: 100%; }

.noUi-marker-horizontal.noUi-marker-sub {
  width: 2px;
  margin-left: 1px; }

.noUi-marker-horizontal.noUi-marker-large {
  width: 2px;
  margin-left: -1px; }

.pager-load-more {
  list-style: none;
  text-align: center;
  width: 40%;
  margin: 0 auto; }
  @media (min-width: 0px) and (max-width: 766px) {
    .pager-load-more {
      width: auto;
      margin: 0 3.6rem; } }
  .pager-load-more > li > a {
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    border-bottom: none;
    border-radius: 0;
    padding: 0 2.4rem;
    cursor: pointer;
    height: 50px;
    width: 100%;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    text-align: center;
    font-size: 20px;
    line-height: 50px;
    color: white;
    background-color: #c4000b;
    margin-top: 40px;
    margin-bottom: 40px; }
    .pager-load-more > li > a:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      .pager-load-more > li > a:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      .pager-load-more > li > a {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }
    .pager-load-more > li > a:not([disabled]):hover {
      color: white;
      background-color: #c4000b;
      border-color: #c4000b; }
      .pager-load-more > li > a:not([disabled]):hover a {
        color: white; }
    @media (min-width: 0px) and (max-width: 479px) {
      .pager-load-more > li > a {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; } }

.node-type-zbl-page.space-property-group .node.view-mode-full .section-item {
  width: auto;
  max-width: none;
  margin: 0; }

.page-showroom {
  overflow: hidden;
  height: 100%;
  width: 100%; }

.view-showroom {
  background: black; }
  .view-showroom .flexslider {
    height: 100% !important;
    width: 100%;
    margin: 0;
    border: none;
    background: none; }
  .view-showroom .flexslider_views_slideshow_slide {
    background: black;
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden; }
    body.admin-menu .view-showroom .flexslider_views_slideshow_slide {
      height: calc(100vh - 20px); }
  .view-showroom .file-video {
    position: static;
    max-width: none;
    margin: 0;
    padding: 0; }
  .view-showroom video,
  .view-showroom iframe {
    position: absolute;
    z-index: 10;
    width: 100%;
    height: 100%; }
  .view-showroom .views-field-field-gl-zbl-header-slideshow {
    width: 100%;
    height: 100%; }
    .view-showroom .views-field-field-gl-zbl-header-slideshow .field-content {
      width: 100%;
      height: 100%; }
    .view-showroom .views-field-field-gl-zbl-header-slideshow img:not(.lazyloader-icon) {
      position: absolute;
      display: block;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      max-width: none;
      max-height: none; }
  .view-showroom .property-info {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    box-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    -ms-align-items: stretch;
    -o-align-items: stretch;
    align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    position: absolute;
    left: 40px;
    right: 40px;
    bottom: 50px;
    padding: 30px 15px; }
    .view-showroom .property-info.zbl_property_ci {
      color: #333333;
      background-color: rgba(255, 255, 255, 0.8); }
      .view-showroom .property-info.zbl_property_ci .property-info-item {
        border-color: black; }
      .view-showroom .property-info.zbl_property_ci .property-category {
        background-image: url(../images/header/logo-ci.png); }
    .view-showroom .property-info.zbl_property_fh {
      color: white;
      background-color: rgba(0, 0, 0, 0.8); }
      .view-showroom .property-info.zbl_property_fh .property-info-item {
        border-color: white; }
      .view-showroom .property-info.zbl_property_fh .property-category {
        background-image: url(../images/header/logo-fh.png); }
    .view-showroom .property-info.video {
      display: none; }
  .view-showroom .property-info-group {
    -webkit-flex-grow: 1;
    -moz-flex-grow: 1;
    flex-grow: 1;
    -ms-flex-positive: 1;
    float: left;
    width: 25%;
    padding-left: 15px;
    padding-right: 15px; }
    .view-showroom .property-info-group:nth-child(1), .view-showroom .property-info-group:nth-child(4) {
      -webkit-align-self: center;
      -moz-align-self: center;
      align-self: center;
      -ms-flex-item-align: center; }
    .view-showroom .property-info-group:nth-child(1) {
      -webkit-flex-grow: 0;
      -moz-flex-grow: 0;
      flex-grow: 0;
      -ms-flex-positive: 0;
      width: 15%; }
    .view-showroom .property-info-group:nth-child(2) {
      width: 28%; }
    .view-showroom .property-info-group:nth-child(3) {
      width: 31%; }
    .view-showroom .property-info-group:nth-child(4) {
      width: 26%; }
  .view-showroom .property-info-item {
    display: table-row;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px; }
    .view-showroom .property-info-item::after {
      content: "";
      display: table;
      clear: both; }
    .view-showroom .property-info-item.property-size .property-info-value .field-content {
      white-space: nowrap; }
    .view-showroom .property-info-item + .property-info-item {
      border-top: 1px solid; }
  .view-showroom .property-info-label,
  .view-showroom .property-info-value {
    display: block;
    float: left;
    font-size: 22px; }
    @media (min-width: 0px) and (max-width: 1551px) {
      .view-showroom .property-info-label,
      .view-showroom .property-info-value {
        font-size: 18px; } }
  .view-showroom .property-info-label {
    min-width: 155px;
    width: 155px;
    padding-right: 20px;
    text-transform: uppercase;
    white-space: nowrap; }
    @media (min-width: 0px) and (max-width: 1551px) {
      .view-showroom .property-info-label {
        min-width: 130px;
        width: 130px; } }
  .view-showroom .property-type .property-info-label,
  .view-showroom .property-location .property-info-label {
    min-width: 120px;
    width: 120px; }
    @media (min-width: 0px) and (max-width: 1551px) {
      .view-showroom .property-type .property-info-label,
      .view-showroom .property-location .property-info-label {
        min-width: 105px;
        width: 105px; } }
  .view-showroom .property-category {
    font-size: 0;
    line-height: 0;
    color: transparent;
    display: block;
    height: 60px;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    max-height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain; }
  .view-showroom .property-price {
    font-size: 55px;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    display: block; }
    @media (min-width: 0px) and (max-width: 1551px) {
      .view-showroom .property-price {
        font-size: 36px; } }
    .view-showroom .property-price .price-range-to {
      display: block; }
  .view-showroom .flex-play {
    background: white; }

.para-image-galleryentity .field-items {
  width: auto;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  margin-left: -10px;
  margin-right: -10px;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  -o-align-items: stretch;
  align-items: stretch;
  -ms-flex-align: stretch;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  max-width: 1365px;
  width: auto;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: auto;
  margin-right: auto; }
  .para-image-galleryentity .field-items::after {
    content: "";
    display: table;
    clear: both; }

.para-image-galleryentity .field-item {
  float: left;
  width: 33.3333%;
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 25px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .para-image-galleryentity .field-item {
      width: 100%; } }
  .para-image-galleryentity .field-item a {
    padding-bottom: 0;
    border-bottom: 0 none; }
  .para-image-galleryentity .field-item img {
    vertical-align: middle;
    width: 100%; }

.mailchimp-signup-subscribe-form label {
  display: none; }

.mailchimp-signup-subscribe-form .form-type-textfield {
  margin-top: 1.8rem; }

.mailchimp-signup-subscribe-form .form-actions input {
  text-decoration: none;
  display: inline-block;
  border-bottom: none;
  border-radius: 0;
  padding: 0 2.4rem;
  cursor: pointer;
  height: 50px;
  width: 100%;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  text-align: center;
  font-size: 20px;
  line-height: 50px;
  color: white;
  border: 1px solid white;
  background: transparent;
  width: 100%;
  height: 40px;
  line-height: 40px;
  margin-top: 1.8rem; }

body.front .l-content .view-content {
  width: 100%; }
  @media (min-width: 768px) {
    body.front .l-content .view-content {
      max-width: 100%; } }
  body.front .l-content .view-content .slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 3px;
    padding: 0;
    cursor: pointer; }
  body.front .l-content .view-content .slick.slick--view--gl-zbl-slideshow .views-field.views-field-field-location {
    display: none;
    position: absolute;
    z-index: 10;
    bottom: 0;
    width: 100%; }
    @media (min-width: 1024px) and (min-height: 800px) {
      body.front .l-content .view-content .slick.slick--view--gl-zbl-slideshow .views-field.views-field-field-location {
        display: block; } }
    body.front .l-content .view-content .slick.slick--view--gl-zbl-slideshow .views-field.views-field-field-location .field-content {
      margin: 0;
      text-align: left; }
      body.front .l-content .view-content .slick.slick--view--gl-zbl-slideshow .views-field.views-field-field-location .field-content .inner-wrapper {
        font-family: "Source Sans Pro";
        background-color: #f9f8f7;
        display: inline-block;
        padding: 5px 10px;
        width: 500px;
        margin-left: 12.5%;
        width: 37.5%; }
        body.front .l-content .view-content .slick.slick--view--gl-zbl-slideshow .views-field.views-field-field-location .field-content .inner-wrapper div {
          font-size: 18px;
          font-weight: 400;
          font-style: normal; }
        body.front .l-content .view-content .slick.slick--view--gl-zbl-slideshow .views-field.views-field-field-location .field-content .inner-wrapper .slideshow-property-info-bold {
          font-size: 26px;
          padding: 5px 0;
          font-weight: 600;
          font-style: normal;
          line-height: 26px; }

body.front .l-content .front-page--slideshow .front-page--slideshow-slider .slick-arrow {
  background: transparent !important;
  width: 70px;
  height: 125px; }
  @media (min-width: 0) and (max-width: 1500px) {
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .slick-arrow {
      display: none !important; } }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .slick-arrow:before {
    color: white;
    font-size: 110px; }

body.front .l-content .front-page--slideshow .front-page--slideshow-slider .slick-initialized .slide--0 h3 {
  color: #C20E1A !important; }

body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow {
  height: 87vh;
  position: relative;
  overflow: hidden; }
  @media (min-width: 0) and (max-width: 1023px) {
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow {
      overflow: visible; } }
  @media (min-width: 0) and (max-width: 599px) {
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow {
      height: 92vh; } }
  @media only screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: landscape) {
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow {
      height: 80vh; } }
  @media (min-width: 2600px) {
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow {
      height: 92vh; } }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .content {
    position: static; }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-slide-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    max-height: none;
    max-width: none;
    min-height: 100%;
    min-width: 100%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%); }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
    padding: 0;
    text-align: left;
    padding-top: 30px;
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden;
    overflow: visible; }
    @media (min-width: 0px) and (max-width: 479px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        max-width: 100%;
        width: 1536px; } }
    @media all and (max-width: 812px) and (orientation: landscape) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        display: none; } }
    @media screen and (max-width: 1550px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        position: static; } }
    @media screen and (max-width: 1023px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .group-paragraph-item-titles {
        padding-top: 190px;
        text-align: center; } }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-fullscreen,
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-medium,
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-small {
    position: relative; }
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-fullscreen h3,
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-medium h3,
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-small h3 {
      color: white;
      text-transform: none;
      line-height: 75px; }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-fullscreen h3,
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-medium h3 {
    font-family: 'jll_handregular';
    font-size: 120px; }
    @media (min-width: 0) and (max-width: 599px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-fullscreen h3,
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-medium h3 {
        font-size: 50px;
        line-height: 45px; } }
    @media only screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: landscape) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-fullscreen h3,
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-medium h3 {
        font-size: 50px;
        line-height: 40px; } }
  @media (min-width: 1024px) {
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-medium h3 {
      padding-left: 100px; } }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow .field-name-field-slideshow-title-small h3 {
    font-style: italic;
    font-family: Georgia, 'Times New Roman', Times, serif;
    line-height: 22px;
    font-size: 22px; }

body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: url(../images/sept-kampaign-bottom-bn-bg.png) no-repeat center top;
  background-size: cover;
  padding-bottom: 0;
  height: 200px;
  font-size: 34px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  color: white; }
  @media (min-width: 0) and (max-width: 766px) {
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge {
      height: 150px; } }
  body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge .content {
    position: relative;
    top: 30%;
    width: 70%; }
    @media (min-width: 0) and (max-width: 599px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge .content {
        top: 20%; } }
    @media all and (max-width: 812px) and (orientation: landscape) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge .content {
        width: 90%; } }
    body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge .content .field-name-field-slideshow-badge-title {
      font-style: italic;
      font-family: Georgia, 'Times New Roman', Times, serif; }
    @media (min-width: 0) and (max-width: 766px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge .content .field-type-text {
        font-size: 20px; } }
    @media (min-width: 766px) and (max-width: 1023px) {
      body.front .l-content .front-page--slideshow .front-page--slideshow-slider .paragraphs-item-slideshow-badge .content .field-type-text {
        font-size: 26px; } }

body.front .centered-links .button {
  display: inline-block; }

@media (min-width: 0px) and (max-width: 766px) {
  body.front .content-block {
    text-align: center; }
    body.front .content-block:before {
      margin-bottom: 15px; } }

@media (min-width: 0px) and (max-width: 766px) {
  body.front .lang_dropdown_form,
  body.front .pane-gl-zbl-global-zabel-logout {
    margin-top: 27px; } }

body.front .content-block-text {
  margin-bottom: 60px; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .content-block-text {
      margin-bottom: 25px; } }

body.front .content-block-trigger {
  display: none;
  margin-bottom: 25px; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .content-block-trigger {
      display: inline-block; } }

@media (min-width: 0px) and (max-width: 766px) {
  body.front div.view-display-id-pane_teaser_fh,
  body.front div.view-display-id-pane_teaser_ci,
  body.front div.property-group-teaser .left {
    min-height: calc(33.33vh - 15px);
    padding-bottom: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-content: center;
    -moz-align-content: center;
    align-content: center;
    -ms-flex-line-pack: center;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center; } }

@media (min-width: 0px) and (max-width: 766px) {
  body.front div.view-display-id-pane_teaser_fh .content-block.richtext, body.front div.view-display-id-pane_teaser_fh .content-block.view-header,
  body.front div.view-display-id-pane_teaser_ci .content-block.richtext, body.front div.view-display-id-pane_teaser_ci .content-block.view-header,
  body.front div.property-group-teaser .left .content-block.richtext, body.front div.property-group-teaser .left .content-block.view-header {
    padding-top: 20px; } }

@media (min-width: 0px) and (max-width: 766px) {
  body.front div.view-display-id-pane_teaser_fh .content-block.richtext:before, body.front div.view-display-id-pane_teaser_fh .content-block.view-header:before,
  body.front div.view-display-id-pane_teaser_ci .content-block.richtext:before, body.front div.view-display-id-pane_teaser_ci .content-block.view-header:before,
  body.front div.property-group-teaser .left .content-block.richtext:before, body.front div.property-group-teaser .left .content-block.view-header:before {
    margin-bottom: 15px; } }

@media (min-width: 0px) and (max-width: 766px) {
  body.front div.view-display-id-pane_teaser_fh .content-block-text,
  body.front div.view-display-id-pane_teaser_ci .content-block-text,
  body.front div.property-group-teaser .left .content-block-text {
    display: none; } }

body.front div.view-display-id-pane_teaser_fh .content-block-trigger:hover,
body.front div.view-display-id-pane_teaser_ci .content-block-trigger:hover,
body.front div.property-group-teaser .left .content-block-trigger:hover {
  color: #c4000b; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front div.view-display-id-pane_teaser_fh .content-block-trigger:hover,
    body.front div.view-display-id-pane_teaser_ci .content-block-trigger:hover,
    body.front div.property-group-teaser .left .content-block-trigger:hover {
      -webkit-box-flex: 1;
      -moz-box-flex: 1;
      box-flex: 1;
      -webkit-flex: 1;
      -moz-flex: 1;
      -ms-flex: 1;
      flex: 1; } }

@media (min-width: 0px) and (max-width: 766px) {
  body.front .property-group-teaser .property-group-teaser-inner .left {
    padding-top: 0;
    padding-bottom: 20px; } }

body.front .l-content-region {
  padding-bottom: 60px; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .l-content-region {
      padding-bottom: 0; } }

@media (min-width: 0px) and (max-width: 479px) {
  body.front .view-display-id-pane_teaser_fh {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: both;
    padding-left: 0;
    padding-right: 0; } }

@media (min-width: 480px) and (max-width: 766px) {
  body.front .view-display-id-pane_teaser_fh {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: both;
    padding-left: 0;
    padding-right: 0; } }

@media (min-width: 768px) and (max-width: 1358px) {
  body.front .view-display-id-pane_teaser_fh {
    width: 47.91667%;
    float: left;
    margin-right: -100%;
    margin-left: 1.04167%;
    clear: none;
    padding-left: 0;
    padding-right: 0; } }

@media (min-width: 1359px) {
  body.front .view-display-id-pane_teaser_fh {
    width: 48.4375%;
    float: left;
    margin-right: -100%;
    margin-left: 0.78125%;
    clear: none;
    padding-left: 0;
    padding-right: 0; } }

body.front .view-display-id-pane_teaser_fh .slick-slide {
  position: relative; }

@media (min-width: 0px) and (max-width: 479px) {
  body.front .view-display-id-pane_teaser_ci {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: both;
    padding-left: 0;
    padding-right: 0; } }

@media (min-width: 480px) and (max-width: 766px) {
  body.front .view-display-id-pane_teaser_ci {
    width: 100%;
    float: right;
    margin-left: 0;
    margin-right: 0;
    clear: both;
    padding-left: 0;
    padding-right: 0; } }

@media (min-width: 768px) and (max-width: 1358px) {
  body.front .view-display-id-pane_teaser_ci {
    width: 47.91667%;
    float: left;
    margin-right: -100%;
    margin-left: 51.04167%;
    clear: none;
    padding-left: 0;
    padding-right: 0; } }

@media (min-width: 1359px) {
  body.front .view-display-id-pane_teaser_ci {
    width: 48.4375%;
    float: left;
    margin-right: -100%;
    margin-left: 50.78125%;
    clear: none;
    padding-left: 0;
    padding-right: 0; } }

body.front .view-display-id-pane_teaser_ci .slick-slide {
  position: relative; }

body.front .content-box {
  width: 100%;
  position: absolute;
  text-align: center;
  z-index: 1; }
  body.front .content-box .content-box-inner {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    display: inline-block; }
    @media (min-width: 0px) and (max-width: 479px) {
      body.front .content-box .content-box-inner {
        width: 69.23077%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      body.front .content-box .content-box-inner {
        width: 55.17241%; } }
    @media (min-width: 768px) and (max-width: 1358px) {
      body.front .content-box .content-box-inner {
        width: 55.17241%; } }
    @media (min-width: 1359px) {
      body.front .content-box .content-box-inner {
        width: 55.17241%; } }
  body.front .content-box .title,
  body.front .content-box .subtitle,
  body.front .content-box .price {
    display: block; }
  body.front .content-box .detail-link {
    display: inline-block; }
  @media (min-width: 0px) and (max-width: 479px) {
    body.front .content-box .subtitle {
      display: none; } }

body.front .l-content-row {
  position: relative; }
  body.front .l-content-row .view-header {
    text-align: center;
    width: 100%;
    position: absolute; }
    @media (min-width: 768px) {
      body.front .l-content-row .view-header {
        max-width: 100%; } }
    body.front .l-content-row .view-header .content {
      max-width: 1440px;
      margin: auto;
      position: relative; }
    body.front .l-content-row .view-header .field-name-title-field,
    body.front .l-content-row .view-header .field-name-description-field {
      box-decoration-break: clone;
      position: relative;
      z-index: 1; }
      body.front .l-content-row .view-header .field-name-title-field h3, body.front .l-content-row .view-header .field-name-title-field p,
      body.front .l-content-row .view-header .field-name-description-field h3,
      body.front .l-content-row .view-header .field-name-description-field p {
        box-decoration-break: clone; }
    body.front .l-content-row .view-header .field-name-title-field h3 {
      color: white;
      margin: 0;
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 50px;
      line-height: 1.6;
      box-shadow: 1.2rem 0 0 rgba(0, 0, 0, 0.7), -1.2rem 0 0 rgba(0, 0, 0, 0.7);
      background: rgba(0, 0, 0, 0.7);
      color: white;
      display: inline;
      padding: 6px 0; }
      @media (min-width: 0) and (max-width: 766px) {
        body.front .l-content-row .view-header .field-name-title-field h3 {
          font-size: 40px; } }
    @media (min-width: 0) and (max-width: 766px) {
      body.front .l-content-row .view-header .field-name-title-field {
        font-size: 34px; } }
    body.front .l-content-row .view-header .field-name-description-field {
      margin-top: 7px;
      font-size: 25px;
      line-height: 1.84; }
      @media (min-width: 0) and (max-width: 766px) {
        body.front .l-content-row .view-header .field-name-description-field {
          font-size: 20px; } }
      body.front .l-content-row .view-header .field-name-description-field p {
        box-shadow: 1.2rem 0 0 rgba(0, 0, 0, 0.7), -1.2rem 0 0 rgba(0, 0, 0, 0.7);
        background: rgba(0, 0, 0, 0.7);
        color: white;
        display: inline;
        font-weight: 300;
        font-style: normal;
        text-transform: uppercase;
        font-size: 25px;
        padding: 6px 0;
        line-height: 1.9; }
        @media (min-width: 0) and (max-width: 766px) {
          body.front .l-content-row .view-header .field-name-description-field p {
            font-size: 20px; } }
  body.front .l-content-row .header-filters-wrapper {
    height: 87vh;
    position: relative; }
    @media (min-width: 0) and (max-width: 1023px) {
      body.front .l-content-row .header-filters-wrapper {
        overflow: visible; } }
    @media (min-width: 0) and (max-width: 599px) {
      body.front .l-content-row .header-filters-wrapper {
        height: 92vh; } }
    @media (min-width: 2600px) {
      body.front .l-content-row .header-filters-wrapper {
        height: 92vh; } }
    @media only screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: landscape) {
      body.front .l-content-row .header-filters-wrapper {
        height: 80vh; } }
    body.front .l-content-row .header-filters-wrapper:after, body.front .l-content-row .header-filters-wrapper:before {
      content: ".";
      display: block;
      height: 0;
      overflow: hidden; }
    body.front .l-content-row .header-filters-wrapper:after {
      clear: both; }

body.front .view-zbl-properties-front,
body.front .view-gl-zbl-frontpage-properties {
  position: relative;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  margin-bottom: 60px;
  /*.media {
	    img {
		    width: 100%;
		    height: auto;
	    }
    }*/ }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .view-zbl-properties-front,
    body.front .view-gl-zbl-frontpage-properties {
      display: none;
      margin-bottom: 0; } }
  body.front .view-zbl-properties-front .media,
  body.front .view-gl-zbl-frontpage-properties .media {
    width: 100%;
    height: 100%; }
  body.front .view-zbl-properties-front:after,
  body.front .view-gl-zbl-frontpage-properties:after {
    content: " ";
    display: block;
    width: 100px;
    height: 1px;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    left: 0;
    right: 0; }
  @media (min-width: 768px) and (max-width: 900px) {
    body.front .view-zbl-properties-front .content-block,
    body.front .view-gl-zbl-frontpage-properties .content-block {
      height: 180px; } }
  @media (min-width: 901px) and (max-width: 1166px) {
    body.front .view-zbl-properties-front .content-block,
    body.front .view-gl-zbl-frontpage-properties .content-block {
      height: 150px; } }
  @media (min-width: 1167px) and (max-width: 1551px) {
    body.front .view-zbl-properties-front .content-block,
    body.front .view-gl-zbl-frontpage-properties .content-block {
      height: 120px; } }
  @media (min-width: 1552px) {
    body.front .view-zbl-properties-front .content-block,
    body.front .view-gl-zbl-frontpage-properties .content-block {
      height: 90px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .view-zbl-properties-front .view-header,
    body.front .view-gl-zbl-frontpage-properties .view-header {
      display: none; } }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .view-zbl-properties-front .view-content > .slider,
    body.front .view-gl-zbl-frontpage-properties .view-content > .slider {
      display: none; } }

@media (min-width: 0px) and (max-width: 766px) {
  body.front .view-display-id-pane_teaser_fh,
  body.front .view-display-id-pane_teaser_ci {
    padding-bottom: 40px; } }

body.front .view-display-id-pane_teaser_fh {
  background: rgba(0, 0, 0, 0.8);
  color: white; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .view-display-id-pane_teaser_fh {
      background: black; } }
  body.front .view-display-id-pane_teaser_fh .content-block {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-top: 40px;
    text-align: center; }
    body.front .view-display-id-pane_teaser_fh .content-block.richtext p, body.front .view-display-id-pane_teaser_fh .content-block.view-header p {
      color: white; }
  body.front .view-display-id-pane_teaser_fh::after {
    background: white; }
  body.front .view-display-id-pane_teaser_fh .content-box-inner {
    background: rgba(0, 0, 0, 0.8); }
  body.front .view-display-id-pane_teaser_fh .view-content .content-box-inner > span {
    color: white; }
  body.front .view-display-id-pane_teaser_fh .detail-link {
    color: white; }
  body.front .view-display-id-pane_teaser_fh .slick-prev,
  body.front .view-display-id-pane_teaser_fh .slick-next {
    background: rgba(0, 0, 0, 0.7); }
    body.front .view-display-id-pane_teaser_fh .slick-prev::before,
    body.front .view-display-id-pane_teaser_fh .slick-next::before {
      color: white; }

body.front .view-display-id-pane_teaser_ci {
  background: rgba(255, 255, 255, 0.8); }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .view-display-id-pane_teaser_ci {
      background: white; } }
  body.front .view-display-id-pane_teaser_ci .content-block {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
    padding-top: 40px;
    text-align: center; }
  body.front .view-display-id-pane_teaser_ci::after {
    background: black; }
  body.front .view-display-id-pane_teaser_ci .content-box-inner {
    background: rgba(255, 255, 255, 0.8); }
  body.front .view-display-id-pane_teaser_ci .slick-prev,
  body.front .view-display-id-pane_teaser_ci .slick-next {
    background: rgba(255, 255, 255, 0.8); }
    body.front .view-display-id-pane_teaser_ci .slick-prev::before,
    body.front .view-display-id-pane_teaser_ci .slick-next::before {
      color: #333333; }

body.front .footer-bottom {
  margin-top: 0; }
  body.front .footer-bottom::before {
    display: none; }

body.front .pane-title {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.25;
  color: #333333;
  text-align: center;
  color: white;
  font-size: 0px; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .pane-title {
      font-size: 20px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .pane-title {
      padding: 15px 2.4rem 0;
      font-size: 0px;
      color: transparent; } }

body.front .view-header-placeholder {
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  display: inline;
  padding-bottom: 1px;
  border-bottom: 1px solid;
  display: inline-block;
  margin-bottom: 35px; }
  body.front .view-header-placeholder:hover {
    color: #c4000b; }

body.front .centered-links {
  text-align: center; }
  body.front .centered-links .portal-link > span {
    font-weight: 500; }

body.front .content-box .title,
body.front .content-box .subtitle,
body.front .content-box .price {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .content-box .title,
    body.front .content-box .subtitle,
    body.front .content-box .price {
      font-size: 19px;
      line-height: 1.61111; } }

body.front .content-box .property-teaser-label-from {
  font-size: 16px; }

body.front .content-box a {
  color: inherit;
  text-decoration: none;
  display: inline;
  padding-bottom: 1px;
  border-bottom: 1px solid; }
  body.front .content-box a:hover {
    color: #c4000b; }

body.front .pane-title, body.front h1, body.front .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .pane-title {
  padding-top: 80px;
  padding-bottom: 120px; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .pane-title, body.front h1, body.front .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .pane-title {
      padding: 15px 65px 15px 15px;
      text-align: left; }
      body.front .pane-title:before, body.front h1:before, body.front .block--office-how-to-find .pane-title:before, .block--office-how-to-find body.front .pane-title:before {
        margin: 0 auto 15px 0;
        margin: 0;
        float: none;
        width: 200px;
        height: 50px; } }
    @media (min-width: 0px) and (max-width: 766px) and (min-width: 0px) and (max-width: 479px) {
      body.front .pane-title:before, body.front h1:before, body.front .block--office-how-to-find .pane-title:before, .block--office-how-to-find body.front .pane-title:before {
        padding-left: 2.4rem; } }
  @media (min-width: 0px) and (max-width: 766px) {
      body.front .pane-title:after, body.front h1:after, body.front .block--office-how-to-find .pane-title:after, .block--office-how-to-find body.front .pane-title:after {
        content: none; } }
  body.front .pane-title::after, body.front h1::after, body.front .block--office-how-to-find .pane-title::after, .block--office-how-to-find body.front .pane-title::after {
    margin-top: -50px; }

@media (min-width: 0px) and (max-width: 766px) {
  body.front .view-zbl-properties-front,
  body.front .view-gl-zbl-frontpage-properties {
    margin-bottom: 0; } }

body.front .view-header {
  margin-bottom: 40px; }

body.front .centered-links {
  margin-bottom: 30px; }

@media (min-width: 0px) and (max-width: 766px) {
  body.front .content-block-pg + .content-block-pg {
    padding-top: 0; } }

body.front .content-box {
  top: 40px; }
  body.front .content-box .content-box-inner {
    padding-top: 30px;
    padding-bottom: 30px; }
  body.front .content-box .subtitle {
    margin-top: 18px; }
  body.front .content-box .price {
    margin-top: 3px; }
  body.front .content-box .detail-link {
    margin-top: 30px; }

body.front .content-block-pg.right .richtext, body.front .content-block-pg.right .view-header {
  margin-top: 78px; }
  @media (min-width: 0px) and (max-width: 766px) {
    body.front .content-block-pg.right .richtext, body.front .content-block-pg.right .view-header {
      margin-top: 0; } }

#skip {
  display: none; }

.node-type-master-property.landing-page.lp-unit .l-content .section-item.property-detail .content .left-side {
  width: 100%; }

.node-type-master-property.landing-page.lp-unit .l-content .section-item.property-detail .content .right-side {
  display: none; }

.node-type-master-property .paragraphs-item-zbl-lp-floorplan {
  text-align: center; }
  .node-type-master-property .paragraphs-item-zbl-lp-floorplan .media--image img {
    width: 100%;
    height: auto; }

.node-type-master-property.landing-page .heading h2 {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 50px;
  line-height: 1.2;
  color: #13375b;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  text-align: center;
  position: relative;
  padding-bottom: 34px;
  margin-bottom: 60px;
  overflow: hidden;
  margin-top: 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      font-size: 30px; } }
  @media (min-width: 0) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      overflow: visible; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      margin-bottom: 40px; } }
  .node-type-master-property.landing-page .heading h2:after {
    content: "";
    width: 170px;
    height: 1px;
    background: #cccccc;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto; }
  .node-type-master-property.landing-page .heading h2 > span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1.31818;
    color: #6c7678;
    display: block;
    text-align: center;
    padding-top: 20px; }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-type-master-property.landing-page .heading h2 > span {
        font-size: 18px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      font-size: 25px; } }

.node-type-master-property.landing-page .l-content .section-item.property-detail {
  margin-bottom: 80px; }
  @media (min-width: 0) and (max-width: 1023px) {
    .node-type-master-property.landing-page .l-content .section-item.property-detail {
      margin-bottom: 0;
      margin-top: 0; } }

@media (min-width: 768px) {
  .node-type-master-property.landing-page .entity-paragraphs-item .richtext .quotes-author, .node-type-master-property.landing-page .entity-paragraphs-item body.front .view-header .quotes-author, body.front .node-type-master-property.landing-page .entity-paragraphs-item .view-header .quotes-author {
    width: 66.66%;
    margin: 0 auto; } }

.node-type-master-property.landing-page .entity-paragraphs-item .enquire-now-button-wrapper {
  margin-bottom: 0; }

.node-type-master-property.landing-page .entity-paragraphs-item .property-teasers--4col .view-content {
  padding-top: 0;
  padding-bottom: 0; }

.node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item {
  padding-bottom: 64px;
  padding-top: 64px; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.last {
    padding-bottom: 80px; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item img {
    max-width: 100%;
    height: auto; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd {
    background: #556977;
    color: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd p, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd h1, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .pane-title, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd h2 {
      color: inherit; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .heading h2 {
      color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .heading h2:after {
        color: #ffffff;
        background: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .heading h2 span {
        color: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .slick-dots button {
      background-color: #fff;
      border-color: #fff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .slick-dots button:hover {
        background: rgba(255, 255, 255, 0.8);
        border-color: rgba(255, 255, 255, 0.8); }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .slick-dots .slick-active button {
      background: transparent; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .property-teaser--4col {
      background: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox {
      background: #ffffff;
      color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox h3, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox span {
        color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .zbl-currency {
        color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .label,
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .value {
        color: #333333; }
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .label *,
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .value * {
          color: #333333; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even {
    background: #ffffff;
    color: inherit; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even h1, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .pane-title {
      color: #13375b; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even p, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even h2 {
      color: #333333; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .heading h2 {
      color: #13375b; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .heading h2:after {
        color: #13375b;
        background: #13375b; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .heading span {
      color: #6c7678; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .slick-dots button {
      background-color: #333333;
      border-color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .slick-dots button:hover {
        background: #848484;
        border-color: #848484; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .slick-dots .slick-active button {
      background: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .property-teaser--4col {
      background: #556977; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox {
      background: #556977;
      color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox h3, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox span {
        color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .zbl-currency {
        color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .label,
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .value {
        color: #ffffff; }
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .label *,
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .value * {
          color: #ffffff; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan {
  text-align: center; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick {
    margin-left: -3.6rem;
    margin-right: -3.6rem; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track {
    display: flex;
    align-items: stretch; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track .slick-slide {
      display: flex;
      height: auto;
      align-items: center;
      justify-content: center;
      padding-left: 60px;
      padding-right: 60px;
      padding-bottom: 60px;
      overflow: hidden; }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track .slick-slide {
          padding-bottom: 0; } }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track .slide__content {
      height: auto; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header {
    max-width: 895px;
    margin: 0 auto;
    padding-left: 3.6rem;
    padding-right: 3.6rem; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext > *, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header > *, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header > * {
      margin-bottom: 45px; }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext > *, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header > *, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header > * {
          margin-bottom: 15px; } }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext p, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header p, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header p {
      clear: both;
      text-align: center;
      margin-bottom: 11px; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext .button--large, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header .button--large, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header .button--large {
      margin: 40px 0 0;
      max-width: 460px;
      padding-left: 3.6rem;
      padding-right: 3.6rem; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext ul, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header ul, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header ul,
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext li,
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header li, body.front
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header li {
      padding: 0;
      margin: 0;
      list-style: none; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .button {
    margin-bottom: 20px;
    max-width: 460px; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .richtext.l-half-media h1, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media body.front .l-half-media.view-header h1, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-half-media.view-header h1, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .richtext.l-half-media .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .richtext.l-half-media .pane-title, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media body.front .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media body.front .l-half-media.view-header .pane-title, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-half-media.view-header .pane-title,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext.l-half-media h1,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .l-half-media.view-header h1, body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .l-half-media.view-header h1,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext.l-half-media .block--office-how-to-find .pane-title, .block--office-how-to-find
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext.l-half-media .pane-title,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .l-half-media.view-header .pane-title, body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .l-half-media.view-header .pane-title {
  padding-left: 10px;
  padding-right: 10px; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext ul, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .view-header ul, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .view-header ul,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-lp-titles-media-text .richtext ul,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-lp-titles-media-text body.front .view-header ul, body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-lp-titles-media-text .view-header ul {
  display: block; }

@media (min-width: 0) and (max-width: 766px) {
  .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content {
    padding-bottom: 0; } }

.node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row {
  width: 33.3333%; }
  .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
    clear: left; }
  @media (min-width: 1024px) and (max-width: 1358px) {
    .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row {
      width: 50%; }
      .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
        clear: none; }
      .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(2n+1) {
        clear: left; } }
  @media (min-width: 0) and (max-width: 1023px) {
    .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row {
      width: 100%; }
      .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
        clear: none; } }

.node-type-master-property.landing-page .ds-bottom .property-teasers--4col.hide-centered-links .infobox {
  padding-bottom: 35px; }

.node-type-master-property.landing-page .ds-bottom .property-teaser--4col .centered-links {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  overflow: visible; }

.node-type-master-property.landing-page .ds-bottom .property-teaser--4col .detail-link {
  display: none; }

.node-type-master-property.landing-page .ds-bottom .panel-pane-show-object-link-true .property-teaser--4col .detail-link {
  display: inline-block; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-text .button--large {
  margin: 40px 0; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-bottom p,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-text .l-bottom p {
  clear: both;
  text-align: center; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-bottom .button--large,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-text .l-bottom .button--large {
  margin: 40px 0 0;
  max-width: 460px;
  padding-left: 3.6rem;
  padding-right: 3.6rem; }

.node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form {
  color: #ffffff; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h1, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .pane-title, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h2, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h3, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h4, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h5, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h6,
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form p {
    color: inherit; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .button--large {
    margin: 40px 0; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .heading h2 {
    color: inherit; }
    .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .heading h2 > span {
      color: inherit; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .l-bottom p {
    clear: both;
    text-align: center; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .l-bottom .button--large {
    margin: 40px 0 0;
    max-width: 460px;
    padding-left: 3.6rem;
    padding-right: 3.6rem; }

.node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd {
  background: #ffffff;
  color: inherit; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd h1, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .pane-title {
    color: #13375b; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd p, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd h2 {
    color: #333333; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .heading h2 {
    color: #13375b; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .heading h2:after {
      color: #13375b;
      background: #13375b; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .heading span {
    color: #6c7678; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .slick-dots button {
    background-color: #333333;
    border-color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .slick-dots button:hover {
      background: #848484;
      border-color: #848484; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .slick-dots .slick-active button {
    background: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .property-teaser--4col {
    background: #556977; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox {
    background: #556977;
    color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox h3, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox span {
      color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .zbl-currency {
      color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .label,
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .value {
      color: #ffffff; }
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .label *,
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .value * {
        color: #ffffff; }

.node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even {
  background: #556977;
  color: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even p, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even h1, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .pane-title, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even h2 {
    color: inherit; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .heading h2 {
    color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .heading h2:after {
      color: #ffffff;
      background: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .heading h2 span {
      color: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .slick-dots button {
    background-color: #fff;
    border-color: #fff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .slick-dots button:hover {
      background: rgba(255, 255, 255, 0.8);
      border-color: rgba(255, 255, 255, 0.8); }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .slick-dots .slick-active button {
    background: transparent; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .property-teaser--4col {
    background: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox {
    background: #ffffff;
    color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox h3, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox span {
      color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .zbl-currency {
      color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .label,
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .value {
      color: #333333; }
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .label *,
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .value * {
        color: #333333; }

.node-type-master-property.landing-page.lp-unit .ds-bottom .panel-pane-show-object-link-true .detail-link {
  display: block !important; }

.html .l-content .property-detail {
  margin-top: 40px;
  margin-bottom: 0; }

.property-detail .property-information {
  word-break: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: none;
  -ms-hyphens: auto;
  /*.key-figures .price-range-from {
    float: left;
  }*/
  /*.key-figures .price-range-from,
  .key-figures .price-range-to {
    width: 47.5%;
  }*/
  background: white; }
  @media (min-width: 480px) {
    .property-detail .property-information .heading > h2 {
      margin-top: -9px; } }
  .property-detail .property-information .highlight-figures + .key-figures {
    margin-top: 20px; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-detail .property-information .highlight-figures + .key-figures {
        margin-top: 40px; } }
  .property-detail .property-information .highlight-figures {
    overflow: hidden;
    list-style: none;
    display: flex;
    justify-content: space-between; }
  .property-detail .property-information .highlight-figures li {
    display: block;
    float: left;
    text-align: center; }
    @media (min-width: 0px) and (max-width: 479px) {
      .property-detail .property-information .highlight-figures li .value {
        font-size: 22px; }
      .property-detail .property-information .highlight-figures li .unit {
        font-size: 14px; } }
    .property-detail .property-information .highlight-figures li .value {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 28px;
      line-height: 1.25;
      color: #bd9f85;
      white-space: pre; }
    .property-detail .property-information .highlight-figures li .unit {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 16px;
      line-height: 1.14286;
      color: #333333;
      display: block; }
  .property-detail .property-information .property-price {
    padding: 7px 0;
    border-bottom: 1px solid #cccccc; }
  .property-detail .property-information .energy-values {
    border-bottom: 1px solid #cccccc;
    font-size: 14px;
    padding: 8px 0; }
    .property-detail .property-information .energy-values * {
      display: inline; }
    .property-detail .property-information .energy-values .label-inline {
      text-transform: uppercase; }
    .property-detail .property-information .energy-values .items-wrapper > div:after {
      content: ', '; }
    .property-detail .property-information .energy-values .items-wrapper > div.last:after {
      content: ''; }
  .property-detail .property-information .infobox {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none; }
  .property-detail .property-information .infobox-heading h2 {
    font-weight: 400; }
  .property-detail .property-information .priceinfo {
    display: block; }
  .zbl-section-fh .currency-converter {
    display: block; }
  .property-detail .property-information .key-figures {
    display: table;
    width: 100%;
    clear: both;
    text-align: left;
    border-collapse: collapse; }
    .property-detail .property-information .key-figures,
    .property-detail .property-information .key-figures li {
      list-style: none !important;
      list-style-image: none !important; }
    .property-detail .property-information .key-figures li {
      font-size: 0;
      border-bottom: 1px solid #cccccc;
      width: 100%;
      display: table-row;
      clear: both; }
    .property-detail .property-information .key-figures .label,
    .property-detail .property-information .key-figures .value {
      display: table-cell;
      padding-top: 7px;
      padding-bottom: 7px; }
    .property-detail .property-information .key-figures .label {
      width: 33%; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .property-detail .property-information .key-figures .label {
          width: 42%; } }
    .property-detail .property-information .key-figures .value {
      width: 66%;
      padding-left: 1.2rem; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .property-detail .property-information .key-figures .value {
          width: 58%; } }
  .property-detail .property-information .priceinfo {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 36px;
    line-height: 1.22222; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-detail .property-information .priceinfo {
        font-size: 28px; } }
  .property-detail .property-information .centered-links {
    width: 100%;
    float: left;
    clear: both; }
  .property-detail .property-information .key-figures,
  .property-detail .property-information .centered-links {
    list-style: none;
    padding: 0; }
  .property-detail .property-information .key-figures {
    list-style: none; }
    .lang-rtl .property-detail .property-information .key-figures {
      text-align: right; }
  .property-detail .property-information .key-figures span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333; }
  .property-detail .property-information .key-figures .label {
    text-transform: uppercase; }
  .property-detail .property-information .property-price .price span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1.25;
    color: #bd9f85; }
    .property-detail .property-information .property-price .price span.price-request {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: none;
      font-size: 16px;
      line-height: 1.5;
      color: #333333; }
  .property-detail .property-information .property-price {
    text-align: center; }
    .property-detail .property-information .property-price span {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: none;
      font-size: 16px;
      line-height: 1.5;
      color: #333333; }
  .property-detail .property-information .property-price .price-range-from,
  .property-detail .property-information .property-price .divider,
  .property-detail .property-information .property-price .price-range-to {
    display: inline-block;
    float: none;
    text-align: center; }
  .property-detail .property-information .property-price .price span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1.25;
    color: #bd9f85; }
  .property-detail .property-information .key-figures .divider {
    vertical-align: top;
    padding-left: 20px;
    padding-right: 20px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 1.14286;
    color: #333333;
    line-height: 35px !important;
    font-size: 14px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .property-detail .property-information .key-figures .price-range-from,
    .property-detail .property-information .key-figures .divider,
    .property-detail .property-information .key-figures .price-range-to {
      display: block;
      width: 100%; } }
  .property-detail .property-information::after {
    content: "";
    display: table;
    clear: both; }
  .property-detail .property-information .heading {
    overflow: hidden;
    padding-left: 10%;
    padding-right: 10%; }
    .property-detail .property-information .heading h2,
    .property-detail .property-information .heading h3.section-title {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 50px;
      line-height: 1.2;
      color: #13375b;
      padding-left: 3.6rem;
      padding-right: 3.6rem;
      text-align: center;
      position: relative;
      padding-bottom: 34px;
      margin-bottom: 60px;
      overflow: hidden; }
      @media (min-width: 0px) and (max-width: 766px) {
        .property-detail .property-information .heading h2,
        .property-detail .property-information .heading h3.section-title {
          font-size: 30px; } }
      @media (min-width: 0) and (max-width: 766px) {
        .property-detail .property-information .heading h2,
        .property-detail .property-information .heading h3.section-title {
          overflow: visible; } }
      @media (min-width: 0px) and (max-width: 766px) {
        .property-detail .property-information .heading h2,
        .property-detail .property-information .heading h3.section-title {
          margin-bottom: 40px; } }
      .property-detail .property-information .heading h2:after,
      .property-detail .property-information .heading h3.section-title:after {
        content: "";
        width: 170px;
        height: 1px;
        background: #cccccc;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin-left: auto;
        margin-right: auto; }
      .property-detail .property-information .heading h2 > span,
      .property-detail .property-information .heading h3.section-title > span {
        font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
        font-weight: 300;
        font-style: normal;
        text-transform: uppercase;
        font-size: 22px;
        line-height: 1.31818;
        color: #6c7678;
        display: block;
        text-align: center;
        padding-top: 20px; }
        @media (min-width: 0px) and (max-width: 766px) {
          .property-detail .property-information .heading h2 > span,
          .property-detail .property-information .heading h3.section-title > span {
            font-size: 18px; } }
    @media (min-width: 0px) and (max-width: 1024px) {
      .property-detail .property-information .heading {
        padding-left: 0;
        padding-right: 0; } }
    .property-detail .property-information .heading .icon {
      margin-bottom: 60px;
      position: relative;
      height: auto;
      text-align: center; }
      .property-detail .property-information .heading .icon img {
        margin: 0;
        display: block;
        margin: auto;
        width: auto;
        max-height: 200px;
        max-width: 100%; }
      .property-detail .property-information .heading .icon .lazyloader-icon {
        position: absolute;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%); }
  .property-detail .property-information .content::after {
    content: "";
    display: table;
    clear: both; }
  .property-detail .property-information .key-figures .price span {
    font-size: 28px;
    line-height: 1.7;
    vertical-align: middle; }
    @media (min-width: 0px) and (max-width: 766px) {
      .property-detail .property-information .key-figures .price span {
        font-size: 20px; } }
    @media (min-width: 0px) and (max-width: 479px) {
      .property-detail .property-information .key-figures .price span {
        font-size: 16px; } }
  .lang-rtl .property-detail .property-information .property-description {
    display: flex; }
  .lang-rtl .property-detail .property-information .property-description {
    flex-flow: row wrap; }
  @media (min-width: 0px) and (max-width: 766px) {
    .zbl-section-ci .property-detail .property-information .property-description {
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -moz-box-orient: vertical;
      box-orient: vertical;
      -webkit-box-direction: normal;
      -moz-box-direction: normal;
      box-direction: normal;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column;
      -ms-flex-direction: column; }
      .zbl-section-ci .property-detail .property-information .property-description .right-side {
        -webkit-box-ordinal-group: 1;
        -moz-box-ordinal-group: 1;
        box-ordinal-group: 1;
        -webkit-order: 1;
        -moz-order: 1;
        order: 1;
        -ms-flex-order: 1; }
      .zbl-section-ci .property-detail .property-information .property-description .left-side {
        -webkit-box-ordinal-group: 2;
        -moz-box-ordinal-group: 2;
        box-ordinal-group: 2;
        -webkit-order: 2;
        -moz-order: 2;
        order: 2;
        -ms-flex-order: 2; } }
  @media (min-width: 768px) {
    .property-detail .property-information .left-side,
    .property-detail .property-information .right-side {
      width: 50%;
      clear: right;
      float: left;
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-detail .property-information .left-side,
    .property-detail .property-information .right-side {
      width: 100%;
      clear: right;
      float: right;
      padding-left: 3.6rem;
      padding-right: 3.6rem; }
      .property-detail .property-information .left-side .centered-links,
      .property-detail .property-information .right-side .centered-links {
        margin-left: 0;
        margin-right: 0; } }
  .property-detail .property-information .left-side.richtext img, .property-detail .property-information body.front .left-side.view-header img, body.front .property-detail .property-information .left-side.view-header img {
    margin-top: 7px;
    margin-right: 12px; }
  .property-detail .property-information .right-side.richtext img, .property-detail .property-information body.front .right-side.view-header img, body.front .property-detail .property-information .right-side.view-header img {
    margin-top: 7px;
    margin-left: 12px; }
  @media (min-width: 768px) and (max-width: 1023px) {
    .property-detail .property-information .right-side {
      width: 55%; }
    .property-detail .property-information .left-side {
      width: 45%; } }

@media (min-width: 768px) {
  .property-detail .entity-paragraphs-item .richtext .quotes-author, .property-detail .entity-paragraphs-item body.front .view-header .quotes-author, body.front .property-detail .entity-paragraphs-item .view-header .quotes-author {
    width: 66.66%;
    margin: 0 auto; } }

.property-detail .ds-bottom .file-video {
  margin-top: 0;
  max-width: none;
  padding-left: calc(10% + 3.6rem);
  padding-right: calc(10% + 3.6rem); }
  @media (min-width: 0px) and (max-width: 1358px) {
    .property-detail .ds-bottom .file-video {
      padding-left: 3.6rem;
      padding-right: 3.6rem; } }

.property-detail .ds-bottom .panel-pane-show-object-link-true .detail-link {
  display: block !important; }

.property-detail .ds-bottom .paragraphs-items {
  margin-top: 80px; }
  .property-detail .ds-bottom .paragraphs-items.paragraphs-items-field-zbl-property-content-top-full {
    margin-top: 0; }
  .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units {
    background: #556977;
    color: #ffffff; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units p, .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units h1, .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .block--office-how-to-find .pane-title, .block--office-how-to-find .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .pane-title, .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units h2 {
      color: inherit; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 {
      color: #ffffff; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2:after {
        color: #ffffff;
        background: #ffffff; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 span {
        color: #ffffff; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .slick-dots button {
      background-color: #fff;
      border-color: #fff; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .slick-dots button:hover {
        background: rgba(255, 255, 255, 0.8);
        border-color: rgba(255, 255, 255, 0.8); }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .slick-dots .slick-active button {
      background: transparent; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teaser--4col {
      background: #ffffff; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox {
      background: #ffffff;
      color: #333333; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox h3, .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox span {
        color: #333333; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox .zbl-currency {
        color: #333333; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox .label,
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox .value {
        color: #333333; }
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox .label *,
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .infobox .value * {
          color: #333333; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 50px;
      line-height: 1.2;
      color: #13375b;
      padding-left: 3.6rem;
      padding-right: 3.6rem;
      text-align: center;
      position: relative;
      padding-bottom: 34px;
      margin-bottom: 60px;
      overflow: hidden;
      margin-top: 0;
      color: #ffffff !important; }
      @media (min-width: 0px) and (max-width: 766px) {
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 {
          font-size: 30px; } }
      @media (min-width: 0) and (max-width: 766px) {
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 {
          overflow: visible; } }
      @media (min-width: 0px) and (max-width: 766px) {
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 {
          margin-bottom: 40px; } }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2:after {
        content: "";
        width: 170px;
        height: 1px;
        background: #cccccc;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin-left: auto;
        margin-right: auto; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 > span {
        font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
        font-weight: 300;
        font-style: normal;
        text-transform: uppercase;
        font-size: 22px;
        line-height: 1.31818;
        color: #6c7678;
        display: block;
        text-align: center;
        padding-top: 20px; }
        @media (min-width: 0px) and (max-width: 766px) {
          .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 > span {
            font-size: 18px; } }
      @media (min-width: 0px) and (max-width: 766px) {
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .heading h2 {
          font-size: 25px; } }
    @media (min-width: 768px) {
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .richtext .quotes-author, .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units body.front .view-header .quotes-author, body.front .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .view-header .quotes-author {
        width: 66.66%;
        margin: 0 auto; } }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .enquire-now-button-wrapper {
      margin-bottom: 0; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col .view-content {
      padding-top: 0;
      padding-bottom: 0; }
    @media (min-width: 0) and (max-width: 766px) {
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content {
        padding-bottom: 0; } }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row {
      width: 33.3333%; }
      .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
        clear: left; }
      @media (min-width: 1024px) and (max-width: 1358px) {
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row {
          width: 50%; }
          .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
            clear: none; }
          .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(2n+1) {
            clear: left; } }
      @media (min-width: 0) and (max-width: 1023px) {
        .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row {
          width: 100%; }
          .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
            clear: none; } }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teasers--4col.hide-centered-links .infobox {
      padding-bottom: 35px; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teaser--4col .centered-links {
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      overflow: visible; }
    .property-detail .ds-bottom .paragraphs-items .paragraphs-item-zbl-lp-property-units .property-teaser--4col .detail-link {
      display: none; }

.property-detail .centered-links {
  clear: both;
  overflow: hidden;
  text-align: center;
  width: 40%;
  margin: 40px auto; }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-detail .centered-links {
      width: auto;
      margin-left: 3.6rem;
      margin-right: 3.6rem;
      margin-bottom: 40px; } }

.property-detail .property-description .centered-links {
  margin-bottom: 0; }

.property-detail .property-teaser--4col .centered-links {
  overflow: visible; }

.property-detail #property-map {
  border-top: 1px solid white; }
  @media (min-width: 0px) and (max-width: 479px) {
    .property-detail #property-map {
      height: 300px !important; } }

.property-detail .view-id-zbl_gmap .ip-geoloc-map {
  position: relative;
  height: auto;
  max-height: none; }

.property-detail .view-id-zbl_gmap .filters {
  float: right; }
  @media (min-width: 0) and (max-width: 1023px) {
    .property-detail .view-id-zbl_gmap .filters {
      float: none;
      text-align: right;
      padding: 6px 8px;
      height: 46px; } }
  .property-detail .view-id-zbl_gmap .filters h3 {
    border: 0 none;
    border-radius: 0;
    border-top: 1px solid #c8c8c8;
    margin: 0;
    background: transparent;
    padding: 15px 20px 15px 35px;
    font-size: 16px; }
    .property-detail .view-id-zbl_gmap .filters h3:first-child {
      border: 0 none; }
    .property-detail .view-id-zbl_gmap .filters h3.colored {
      color: #c4000b; }
    .property-detail .view-id-zbl_gmap .filters h3 span {
      background-image: url(../images/fa-angle-double-down-black.png);
      background-repeat: no-repeat;
      background-size: 15px;
      background-position: center;
      background-color: transparent; }
    .property-detail .view-id-zbl_gmap .filters h3.colored {
      color: #c4000b; }
    .property-detail .view-id-zbl_gmap .filters h3.ui-state-active span {
      background-image: url(../images/fa-angle-double-up-black.png); }
  .property-detail .view-id-zbl_gmap .filters .ui-accordion-content {
    border: 0 none;
    padding: 0 10px 10px 35px; }
  .property-detail .view-id-zbl_gmap .filters .filter-item {
    margin-bottom: 4px; }
    .property-detail .view-id-zbl_gmap .filters .filter-item.colored label {
      color: #c4000b; }
    .property-detail .view-id-zbl_gmap .filters .filter-item input,
    .property-detail .view-id-zbl_gmap .filters .filter-item label {
      display: inline;
      font-weight: 300; }
    .property-detail .view-id-zbl_gmap .filters .filter-item.colored label {
      color: #c4000b; }
    .property-detail .view-id-zbl_gmap .filters .filter-item input {
      margin-right: 5px; }

.property-detail .view-id-zbl_gmap .filters__inner {
  background: white;
  min-width: 400px;
  padding: 0 35px 10px;
  text-align: left; }
  @media (min-width: 0) and (max-width: 1023px) {
    .property-detail .view-id-zbl_gmap .filters__inner {
      position: absolute;
      z-index: 1;
      top: 0;
      bottom: 0; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-detail .view-id-zbl_gmap .filters__inner {
      min-width: 320px;
      padding-left: 20px;
      padding-right: 20px; } }
  @media (min-width: 0px) and (max-width: 479px) {
    .property-detail .view-id-zbl_gmap .filters__inner {
      min-width: 260px;
      padding-left: 15px;
      padding-right: 15px; } }

.property-detail .view-id-zbl_gmap .filters__toggle {
  display: none;
  text-align: center; }
  @media (min-width: 0) and (max-width: 1023px) {
    .property-detail .view-id-zbl_gmap .filters__toggle {
      display: inline-block; } }

.property-detail .paragraphs-items-field-zbl-property-content-last {
  border-top: 1px solid white; }

.property-detail .submit-message {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  background: rgba(255, 255, 255, 0.8); }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-detail .submit-message {
      font-size: 19px;
      line-height: 1.61111; } }

.bg-location .l-indent {
  padding-left: 10%;
  padding-right: 10%; }
  @media (min-width: 0px) and (max-width: 1024px) {
    .bg-location .l-indent {
      padding-left: 0;
      padding-right: 0; } }

.bg-location .centered-links {
  float: right;
  width: 50%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  text-align: right;
  margin-bottom: 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .bg-location .centered-links {
      width: 100%; } }

.node-type-zbl-property-fh > .section-content-item,
.node-type-zbl-property-fh .section-content-item:last-child,
.node-type-zbl-property-ci > .section-content-item,
.node-type-zbl-property-ci .section-content-item:last-child {
  margin-bottom: 40px; }

.lang-rtl .property-detail .property-description .left-side {
  -webkit-box-ordinal-group: 1;
  -moz-box-ordinal-group: 1;
  box-ordinal-group: 1;
  -webkit-order: 1;
  -moz-order: 1;
  order: 1;
  -ms-flex-order: 1; }

.lang-rtl .property-detail .property-description .right-side {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  box-ordinal-group: 2;
  -webkit-order: 2;
  -moz-order: 2;
  order: 2;
  -ms-flex-order: 2; }

.node-zbl-page .paragraphs-items-field-zbl-s-section .panel-pane-show-object-link-true .detail-link {
  display: block !important; }

.node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units {
  background: #556977;
  color: #ffffff; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units p, .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units h1, .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .block--office-how-to-find .pane-title, .block--office-how-to-find .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .pane-title, .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units h2 {
    color: inherit; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 {
    color: #ffffff; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2:after {
      color: #ffffff;
      background: #ffffff; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 span {
      color: #ffffff; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .slick-dots button {
    background-color: #fff;
    border-color: #fff; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .slick-dots button:hover {
      background: rgba(255, 255, 255, 0.8);
      border-color: rgba(255, 255, 255, 0.8); }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .slick-dots .slick-active button {
    background: transparent; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teaser--4col {
    background: #ffffff; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox {
    background: #ffffff;
    color: #333333; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox h3, .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox span {
      color: #333333; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox .zbl-currency {
      color: #333333; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox .label,
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox .value {
      color: #333333; }
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox .label *,
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .infobox .value * {
        color: #333333; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 50px;
    line-height: 1.2;
    color: #13375b;
    padding-left: 3.6rem;
    padding-right: 3.6rem;
    text-align: center;
    position: relative;
    padding-bottom: 34px;
    margin-bottom: 60px;
    overflow: hidden;
    margin-top: 0;
    color: #ffffff !important; }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 {
        font-size: 30px; } }
    @media (min-width: 0) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 {
        overflow: visible; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 {
        margin-bottom: 40px; } }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2:after {
      content: "";
      width: 170px;
      height: 1px;
      background: #cccccc;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin-left: auto;
      margin-right: auto; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 > span {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 22px;
      line-height: 1.31818;
      color: #6c7678;
      display: block;
      text-align: center;
      padding-top: 20px; }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 > span {
          font-size: 18px; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .heading h2 {
        font-size: 25px; } }
  @media (min-width: 768px) {
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .richtext .quotes-author, .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units body.front .view-header .quotes-author, body.front .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .view-header .quotes-author {
      width: 66.66%;
      margin: 0 auto; } }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .enquire-now-button-wrapper {
    margin-bottom: 0; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col .view-content {
    padding-top: 0;
    padding-bottom: 0; }
  @media (min-width: 0) and (max-width: 766px) {
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content {
      padding-bottom: 0; } }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row {
    width: 33.3333%; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
      clear: left; }
    @media (min-width: 1024px) and (max-width: 1358px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row {
        width: 50%; }
        .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
          clear: none; }
        .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(2n+1) {
          clear: left; } }
    @media (min-width: 0) and (max-width: 1023px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row {
        width: 100%; }
        .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
          clear: none; } }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teasers--4col.hide-centered-links .infobox {
    padding-bottom: 35px; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teaser--4col {
    padding: 0; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teaser--4col .centered-links {
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      overflow: visible; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units .property-teaser--4col .detail-link {
      display: none; }
  @media (min-width: 0px) and (max-width: 479px) {
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units {
      margin-top: 25.6px; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units {
      margin-top: 38.4px; } }
  @media (min-width: 768px) and (max-width: 1358px) {
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units {
      margin-top: 51.2px; } }
  @media (min-width: 1359px) {
    .node-zbl-page .paragraphs-items-field-zbl-s-section .paragraphs-item-zbl-lp-property-units {
      margin-top: 64px; } }

.node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) {
  background: none; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 {
    color: #13375b !important; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .view-mode-property_column {
    border: 1px solid #D4D2D2; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading {
    position: relative;
    padding-top: 50px; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 50px;
      line-height: 1.2;
      color: #13375b;
      padding-left: 3.6rem;
      padding-right: 3.6rem;
      text-align: center;
      position: relative;
      padding-bottom: 34px;
      margin-bottom: 60px;
      overflow: hidden;
      margin-top: 0; }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 {
          font-size: 30px; } }
      @media (min-width: 0) and (max-width: 766px) {
        .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 {
          overflow: visible; } }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 {
          margin-bottom: 40px; } }
      .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2:after {
        content: "";
        width: 170px;
        height: 1px;
        background: #cccccc;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin-left: auto;
        margin-right: auto; }
      .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 > span {
        font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
        font-weight: 300;
        font-style: normal;
        text-transform: uppercase;
        font-size: 22px;
        line-height: 1.31818;
        color: #6c7678;
        display: block;
        text-align: center;
        padding-top: 20px; }
        @media (min-width: 0px) and (max-width: 766px) {
          .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 > span {
            font-size: 18px; } }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 {
          font-size: 25px; } }
      .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2:after {
        content: "";
        width: 170px;
        height: 1px;
        background: #ccc;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin-left: auto;
        margin-right: auto;
        color: #13375b;
        background: #13375b; }
      .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-unchecked-blue-paragraph:not(.paragraphs-item-zbl-affiliates):not(.paragraphs-item-zbl-awards) .heading h2 span {
        color: #6c7678;
        font-weight: 300;
        font-style: normal;
        text-transform: uppercase;
        font-size: 22px;
        line-height: 1.31818;
        display: block;
        text-align: center;
        padding-top: 20px; }

.node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph {
  background: #556977; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph h2, .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph p, .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph .ds-ds-text h2, .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph .ds-ds-text p {
    color: #ffffff !important; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-media-text, .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-text {
    padding-top: 29px;
    margin-top: -1px; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-media-text h2, .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-text h2 {
      margin-top: -1px; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-media {
    margin-top: -1px;
    padding-top: 29px; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-media .ds-ds-media img {
      margin-top: 0 !important; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-text-media, .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-content-text-text {
    margin-top: -1px; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .entity-paragraphs-item.zbl-checked-blue-paragraph.paragraphs-item-zbl-lp-property-units {
    margin-top: -1px; }

.node-zbl-page .paragraphs-items-field-zbl-s-section .heading {
  position: relative;
  padding-top: 50px; }
  .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 50px;
    line-height: 1.2;
    color: #13375b;
    padding-left: 3.6rem;
    padding-right: 3.6rem;
    text-align: center;
    position: relative;
    padding-bottom: 34px;
    margin-bottom: 60px;
    overflow: hidden;
    margin-top: 0; }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 {
        font-size: 30px; } }
    @media (min-width: 0) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 {
        overflow: visible; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 {
        margin-bottom: 40px; } }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2:after {
      content: "";
      width: 170px;
      height: 1px;
      background: #cccccc;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin-left: auto;
      margin-right: auto; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 > span {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 22px;
      line-height: 1.31818;
      color: #6c7678;
      display: block;
      text-align: center;
      padding-top: 20px; }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 > span {
          font-size: 18px; } }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 {
        font-size: 25px; } }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2:after {
      content: "";
      width: 170px;
      height: 1px;
      background: #ccc;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin-left: auto;
      margin-right: auto;
      color: #ffffff;
      background: #ffffff; }
    .node-zbl-page .paragraphs-items-field-zbl-s-section .heading h2 span {
      color: #ffffff;
      font-weight: 300;
      font-style: normal;
      text-transform: uppercase;
      font-size: 22px;
      line-height: 1.31818;
      display: block;
      text-align: center;
      padding-top: 20px; }

.node-type-master-property.landing-page.lp-unit .l-content .section-item.property-detail .content .left-side {
  width: 100%; }

.node-type-master-property.landing-page.lp-unit .l-content .section-item.property-detail .content .right-side {
  display: none; }

.node-type-master-property .paragraphs-item-zbl-lp-floorplan {
  text-align: center; }
  .node-type-master-property .paragraphs-item-zbl-lp-floorplan .media--image img {
    width: 100%;
    height: auto; }

.node-type-master-property.landing-page .heading h2 {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 50px;
  line-height: 1.2;
  color: #13375b;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  text-align: center;
  position: relative;
  padding-bottom: 34px;
  margin-bottom: 60px;
  overflow: hidden;
  margin-top: 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      font-size: 30px; } }
  @media (min-width: 0) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      overflow: visible; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      margin-bottom: 40px; } }
  .node-type-master-property.landing-page .heading h2:after {
    content: "";
    width: 170px;
    height: 1px;
    background: #cccccc;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto; }
  .node-type-master-property.landing-page .heading h2 > span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1.31818;
    color: #6c7678;
    display: block;
    text-align: center;
    padding-top: 20px; }
    @media (min-width: 0px) and (max-width: 766px) {
      .node-type-master-property.landing-page .heading h2 > span {
        font-size: 18px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .node-type-master-property.landing-page .heading h2 {
      font-size: 25px; } }

.node-type-master-property.landing-page .l-content .section-item.property-detail {
  margin-bottom: 80px; }
  @media (min-width: 0) and (max-width: 1023px) {
    .node-type-master-property.landing-page .l-content .section-item.property-detail {
      margin-bottom: 0;
      margin-top: 0; } }

@media (min-width: 768px) {
  .node-type-master-property.landing-page .entity-paragraphs-item .richtext .quotes-author, .node-type-master-property.landing-page .entity-paragraphs-item body.front .view-header .quotes-author, body.front .node-type-master-property.landing-page .entity-paragraphs-item .view-header .quotes-author {
    width: 66.66%;
    margin: 0 auto; } }

.node-type-master-property.landing-page .entity-paragraphs-item .enquire-now-button-wrapper {
  margin-bottom: 0; }

.node-type-master-property.landing-page .entity-paragraphs-item .property-teasers--4col .view-content {
  padding-top: 0;
  padding-bottom: 0; }

.node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item {
  padding-bottom: 64px;
  padding-top: 64px; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.last {
    padding-bottom: 80px; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item img {
    max-width: 100%;
    height: auto; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd {
    background: #556977;
    color: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd p, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd h1, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .pane-title, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd h2 {
      color: inherit; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .heading h2 {
      color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .heading h2:after {
        color: #ffffff;
        background: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .heading h2 span {
        color: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .slick-dots button {
      background-color: #fff;
      border-color: #fff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .slick-dots button:hover {
        background: rgba(255, 255, 255, 0.8);
        border-color: rgba(255, 255, 255, 0.8); }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .slick-dots .slick-active button {
      background: transparent; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .property-teaser--4col {
      background: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox {
      background: #ffffff;
      color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox h3, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox span {
        color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .zbl-currency {
        color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .label,
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .value {
        color: #333333; }
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .label *,
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.odd .infobox .value * {
          color: #333333; }
  .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even {
    background: #ffffff;
    color: inherit; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even h1, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .pane-title {
      color: #13375b; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even p, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even h2 {
      color: #333333; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .heading h2 {
      color: #13375b; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .heading h2:after {
        color: #13375b;
        background: #13375b; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .heading span {
      color: #6c7678; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .slick-dots button {
      background-color: #333333;
      border-color: #333333; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .slick-dots button:hover {
        background: #848484;
        border-color: #848484; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .slick-dots .slick-active button {
      background: #ffffff; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .property-teaser--4col {
      background: #556977; }
    .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox {
      background: #556977;
      color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox h3, .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox span {
        color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .zbl-currency {
        color: #ffffff; }
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .label,
      .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .value {
        color: #ffffff; }
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .label *,
        .node-type-master-property.landing-page .ds-bottom .entity-paragraphs-item.even .infobox .value * {
          color: #ffffff; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan {
  text-align: center; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick {
    margin-left: -3.6rem;
    margin-right: -3.6rem; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track {
    display: flex;
    align-items: stretch; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track .slick-slide {
      display: flex;
      height: auto;
      align-items: center;
      justify-content: center;
      padding-left: 60px;
      padding-right: 60px;
      padding-bottom: 60px;
      overflow: hidden; }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track .slick-slide {
          padding-bottom: 0; } }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .slick-track .slide__content {
      height: auto; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header {
    max-width: 895px;
    margin: 0 auto;
    padding-left: 3.6rem;
    padding-right: 3.6rem; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext > *, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header > *, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header > * {
      margin-bottom: 45px; }
      @media (min-width: 0px) and (max-width: 766px) {
        .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext > *, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header > *, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header > * {
          margin-bottom: 15px; } }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext p, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header p, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header p {
      clear: both;
      text-align: center;
      margin-bottom: 11px; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext .button--large, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header .button--large, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header .button--large {
      margin: 40px 0 0;
      max-width: 460px;
      padding-left: 3.6rem;
      padding-right: 3.6rem; }
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext ul, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header ul, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header ul,
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .richtext li,
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan body.front .view-header li, body.front
    .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .view-header li {
      padding: 0;
      margin: 0;
      list-style: none; }
  .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-floorplan .button {
    margin-bottom: 20px;
    max-width: 460px; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .richtext.l-half-media h1, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media body.front .l-half-media.view-header h1, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-half-media.view-header h1, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .richtext.l-half-media .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .richtext.l-half-media .pane-title, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media body.front .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media body.front .l-half-media.view-header .pane-title, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-half-media.view-header .pane-title,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext.l-half-media h1,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .l-half-media.view-header h1, body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .l-half-media.view-header h1,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext.l-half-media .block--office-how-to-find .pane-title, .block--office-how-to-find
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext.l-half-media .pane-title,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .l-half-media.view-header .pane-title, body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .l-half-media.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .l-half-media.view-header .pane-title {
  padding-left: 10px;
  padding-right: 10px; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .richtext ul, .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text body.front .view-header ul, body.front .node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-content-media-text .view-header ul,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-lp-titles-media-text .richtext ul,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-lp-titles-media-text body.front .view-header ul, body.front
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-lp-titles-media-text .view-header ul {
  display: block; }

@media (min-width: 0) and (max-width: 766px) {
  .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content {
    padding-bottom: 0; } }

.node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row {
  width: 33.3333%; }
  .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
    clear: left; }
  @media (min-width: 1024px) and (max-width: 1358px) {
    .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row {
      width: 50%; }
      .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
        clear: none; }
      .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(2n+1) {
        clear: left; } }
  @media (min-width: 0) and (max-width: 1023px) {
    .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row {
      width: 100%; }
      .node-type-master-property.landing-page .ds-bottom .property-teasers--4col > .view-content > .views-row:nth-of-type(3n+1) {
        clear: none; } }

.node-type-master-property.landing-page .ds-bottom .property-teasers--4col.hide-centered-links .infobox {
  padding-bottom: 35px; }

.node-type-master-property.landing-page .ds-bottom .property-teaser--4col .centered-links {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  overflow: visible; }

.node-type-master-property.landing-page .ds-bottom .property-teaser--4col .detail-link {
  display: none; }

.node-type-master-property.landing-page .ds-bottom .panel-pane-show-object-link-true .property-teaser--4col .detail-link {
  display: inline-block; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-text .button--large {
  margin: 40px 0; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-bottom p,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-text .l-bottom p {
  clear: both;
  text-align: center; }

.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-media .l-bottom .button--large,
.node-type-master-property.landing-page .ds-bottom .paragraphs-item-zbl-lp-titles-text-text .l-bottom .button--large {
  margin: 40px 0 0;
  max-width: 460px;
  padding-left: 3.6rem;
  padding-right: 3.6rem; }

.node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form {
  color: #ffffff; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h1, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .pane-title, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h2, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h3, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h4, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h5, .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form h6,
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form p {
    color: inherit; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .button--large {
    margin: 40px 0; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .heading h2 {
    color: inherit; }
    .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .heading h2 > span {
      color: inherit; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .l-bottom p {
    clear: both;
    text-align: center; }
  .node-type-master-property.landing-page .bean-zbl-lp-titles-text-text-form .l-bottom .button--large {
    margin: 40px 0 0;
    max-width: 460px;
    padding-left: 3.6rem;
    padding-right: 3.6rem; }

.node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd {
  background: #ffffff;
  color: inherit; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd h1, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .pane-title {
    color: #13375b; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd p, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd h2 {
    color: #333333; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .heading h2 {
    color: #13375b; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .heading h2:after {
      color: #13375b;
      background: #13375b; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .heading span {
    color: #6c7678; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .slick-dots button {
    background-color: #333333;
    border-color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .slick-dots button:hover {
      background: #848484;
      border-color: #848484; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .slick-dots .slick-active button {
    background: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .property-teaser--4col {
    background: #556977; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox {
    background: #556977;
    color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox h3, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox span {
      color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .zbl-currency {
      color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .label,
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .value {
      color: #ffffff; }
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .label *,
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.odd .infobox .value * {
        color: #ffffff; }

.node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even {
  background: #556977;
  color: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even p, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even h1, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .block--office-how-to-find .pane-title, .block--office-how-to-find .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .pane-title, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even h2 {
    color: inherit; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .heading h2 {
    color: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .heading h2:after {
      color: #ffffff;
      background: #ffffff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .heading h2 span {
      color: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .slick-dots button {
    background-color: #fff;
    border-color: #fff; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .slick-dots button:hover {
      background: rgba(255, 255, 255, 0.8);
      border-color: rgba(255, 255, 255, 0.8); }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .slick-dots .slick-active button {
    background: transparent; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .property-teaser--4col {
    background: #ffffff; }
  .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox {
    background: #ffffff;
    color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox h3, .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox span {
      color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .zbl-currency {
      color: #333333; }
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .label,
    .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .value {
      color: #333333; }
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .label *,
      .node-type-master-property.landing-page.lp-unit .ds-bottom .entity-paragraphs-item.even .infobox .value * {
        color: #333333; }

.node-type-master-property.landing-page.lp-unit .ds-bottom .panel-pane-show-object-link-true .detail-link {
  display: block !important; }

.l-full .view-content {
  width: 100%; }

.l-content .view-content {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 479px) {
    .l-content .view-content {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .l-content .view-content {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .l-content .view-content {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .l-content .view-content {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .l-content .view-content {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .l-content .view-content {
      max-width: 100%;
      width: 1536px; } }

.awards-teaser-inner,
.affiliations-teaser-inner,
.decade-group-inner,
.news-teaser-inner,
.employee-group-inner {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 479px) {
    .awards-teaser-inner,
    .affiliations-teaser-inner,
    .decade-group-inner,
    .news-teaser-inner,
    .employee-group-inner {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .awards-teaser-inner,
    .affiliations-teaser-inner,
    .decade-group-inner,
    .news-teaser-inner,
    .employee-group-inner {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .awards-teaser-inner,
    .affiliations-teaser-inner,
    .decade-group-inner,
    .news-teaser-inner,
    .employee-group-inner {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .awards-teaser-inner,
    .affiliations-teaser-inner,
    .decade-group-inner,
    .news-teaser-inner,
    .employee-group-inner {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .awards-teaser-inner,
    .affiliations-teaser-inner,
    .decade-group-inner,
    .news-teaser-inner,
    .employee-group-inner {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .awards-teaser-inner,
    .affiliations-teaser-inner,
    .decade-group-inner,
    .news-teaser-inner,
    .employee-group-inner {
      max-width: 100%;
      width: 1536px; } }

.panel-pane-property-list-title h2.pane-title {
  padding: 45px 0px 0px 0px !important; }

.panel-pane-show-object-link-false .centered-links .detail-link {
  display: none; }

.pane-zbl-properties-pane-unpromoted .view-header {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.25;
  color: #333333;
  margin-top: 52px;
  margin-bottom: 52px;
  text-align: center; }
  @media (min-width: 0px) and (max-width: 766px) {
    .pane-zbl-properties-pane-unpromoted .view-header {
      font-size: 20px; } }
  .zbl-section-fh .pane-zbl-properties-pane-unpromoted .view-header {
    color: white; }
  .zbl-section-ci .pane-zbl-properties-pane-unpromoted .view-header {
    color: #333333; }
  .zbl-section-pg .pane-zbl-properties-pane-unpromoted .view-header {
    color: #333333; }

.view-display-id-pane_promoted > .view-content {
  position: relative; }

.zbl-section-fh .modal label,
.zbl-section-ci .modal label {
  cursor: pointer;
  margin-bottom: 0; }

.zbl-section-fh .modal label img,
.zbl-section-ci .modal label img {
  border-radius: 150px;
  display: block;
  max-width: 300px; }

.zbl-section-fh .modal .modal-state,
.zbl-section-ci .modal .modal-state {
  display: none; }

.zbl-section-fh .modal .modal-trigger,
.zbl-section-ci .modal .modal-trigger {
  padding: 0.8em 1em; }

.zbl-section-fh .modal .modal-fade-screen,
.zbl-section-ci .modal .modal-fade-screen {
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.85);
  opacity: 0;
  padding-top: 0.6em;
  text-align: left;
  visibility: hidden;
  z-index: 99999999999; }
  .zbl-section-fh .modal .modal-fade-screen .modal-bg,
  .zbl-section-ci .modal .modal-fade-screen .modal-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer; }

.zbl-section-fh .modal .modal-close,
.zbl-section-ci .modal .modal-close {
  position: absolute;
  top: 1em;
  right: 1em;
  height: 30px;
  width: 30px;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%; }
  .zbl-section-fh .modal .modal-close:after, .zbl-section-fh .modal .modal-close:before,
  .zbl-section-ci .modal .modal-close:after,
  .zbl-section-ci .modal .modal-close:before {
    position: absolute;
    top: 7px;
    right: 7px;
    bottom: 0;
    left: 50%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    height: 21px;
    width: 2px;
    background: #ddd;
    content: '';
    display: block;
    margin: -3px 0 0 -1px; }
  .zbl-section-fh .modal .modal-close:hover:after, .zbl-section-fh .modal .modal-close:hover:before,
  .zbl-section-ci .modal .modal-close:hover:after,
  .zbl-section-ci .modal .modal-close:hover:before {
    background: #c4c4c4; }
  .zbl-section-fh .modal .modal-close:before,
  .zbl-section-ci .modal .modal-close:before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }

.zbl-section-fh .modal .modal-inner,
.zbl-section-ci .modal .modal-inner {
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  background: #fff;
  margin-top: 0;
  top: 0;
  margin: auto;
  max-height: 85vh;
  overflow: auto;
  position: relative;
  width: 90%; }
  @media (min-width: 0px) and (max-width: 479px) {
    .zbl-section-fh .modal .modal-inner,
    .zbl-section-ci .modal .modal-inner {
      width: 100%; } }
  .zbl-section-fh .modal .modal-inner .modal-content,
  .zbl-section-ci .modal .modal-inner .modal-content {
    color: #333; }
  .zbl-section-fh .modal .modal-inner a.cta,
  .zbl-section-ci .modal .modal-inner a.cta {
    color: #fff;
    display: inline-block;
    margin-right: 0.5em;
    margin-top: 1em; }
    .zbl-section-fh .modal .modal-inner a.cta:last-child,
    .zbl-section-ci .modal .modal-inner a.cta:last-child {
      padding: 0 2em; }

.zbl-section-fh .modal .modal-state:checked + .modal-fade-screen,
.zbl-section-ci .modal .modal-state:checked + .modal-fade-screen {
  opacity: 1;
  visibility: visible; }

.zbl-section-fh .modal .modal-state:checked + .modal-fade-screen .modal-inner,
.zbl-section-ci .modal .modal-state:checked + .modal-fade-screen .modal-inner {
  top: 0.5em; }

.zbl-section-fh .modal-open,
.zbl-section-ci .modal-open {
  overflow: hidden; }

.l-full .case-study-detail {
  width: 100%; }

.l-content .case-study-detail {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  margin-top: 40px;
  margin-bottom: 40px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .l-content .case-study-detail {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .l-content .case-study-detail {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .l-content .case-study-detail {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .l-content .case-study-detail {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .l-content .case-study-detail {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .l-content .case-study-detail {
      max-width: 100%;
      width: 1536px; } }

.case-study-info-inner {
  overflow: visible; }
  .case-study-info-inner .l-indent {
    overflow: visible; }
    .case-study-info-inner .l-indent::after {
      content: " ";
      display: block;
      height: 0;
      clear: both;
      visibility: hidden; }

.case-study-detail {
  word-break: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: none;
  -ms-hyphens: auto;
  /*.key-figures .price-range-from {
    float: left;
  }*/
  /*.key-figures .price-range-from,
  .key-figures .price-range-to {
    width: 47.5%;
  }*/ }
  .case-study-detail .infobox {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none; }
  .case-study-detail .infobox-heading h2 {
    font-weight: 400; }
  .case-study-detail .priceinfo {
    display: block; }
  .zbl-section-fh .currency-converter {
    display: block; }
  .case-study-detail .key-figures {
    display: table;
    width: 100%;
    clear: both;
    text-align: left;
    border-collapse: collapse; }
    .case-study-detail .key-figures,
    .case-study-detail .key-figures li {
      list-style: none !important;
      list-style-image: none !important; }
    .case-study-detail .key-figures li {
      font-size: 0;
      border-bottom: 1px solid #cccccc;
      width: 100%;
      display: table-row;
      clear: both; }
    .case-study-detail .key-figures .label,
    .case-study-detail .key-figures .value {
      display: table-cell;
      padding-top: 7px;
      padding-bottom: 7px; }
    .case-study-detail .key-figures .label {
      width: 33%; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .case-study-detail .key-figures .label {
          width: 42%; } }
    .case-study-detail .key-figures .value {
      width: 66%;
      padding-left: 1.2rem; }
      @media (min-width: 0px) and (max-width: 1358px) {
        .case-study-detail .key-figures .value {
          width: 58%; } }
  .case-study-detail .priceinfo {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 36px;
    line-height: 1.22222; }
    @media (min-width: 0px) and (max-width: 766px) {
      .case-study-detail .priceinfo {
        font-size: 28px; } }
  .case-study-detail .centered-links {
    width: 100%;
    float: left;
    clear: both; }
  .case-study-detail .key-figures,
  .case-study-detail .centered-links {
    list-style: none;
    padding: 0; }
  .case-study-detail .key-figures {
    list-style: none; }
    .lang-rtl .case-study-detail .key-figures {
      text-align: right; }
  .case-study-detail .key-figures span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 16px;
    line-height: 1.5;
    color: #333333; }
  .case-study-detail .key-figures .label {
    text-transform: uppercase; }
  .case-study-detail .property-price .price span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1.25;
    color: #bd9f85; }
    .case-study-detail .property-price .price span.price-request {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: none;
      font-size: 16px;
      line-height: 1.5;
      color: #333333; }
  .case-study-detail .property-price {
    text-align: center; }
    .case-study-detail .property-price span {
      font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
      font-weight: 300;
      font-style: normal;
      text-transform: none;
      font-size: 16px;
      line-height: 1.5;
      color: #333333; }
  .case-study-detail .property-price .price-range-from,
  .case-study-detail .property-price .divider,
  .case-study-detail .property-price .price-range-to {
    display: inline-block;
    float: none;
    text-align: center; }
  .case-study-detail .property-price .price span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1.25;
    color: #bd9f85; }
  .case-study-detail .key-figures .divider {
    vertical-align: top;
    padding-left: 20px;
    padding-right: 20px;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 1.14286;
    color: #333333;
    line-height: 35px !important;
    font-size: 14px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .case-study-detail .key-figures .price-range-from,
    .case-study-detail .key-figures .divider,
    .case-study-detail .key-figures .price-range-to {
      display: block;
      width: 100%; } }
  .case-study-detail .case-study-info {
    background: #34495d; }
    .case-study-detail .case-study-info .key-figures span {
      color: white; }
  .case-study-detail .heading .icon {
    margin-bottom: 60px;
    position: relative;
    height: auto;
    text-align: center; }
    .case-study-detail .heading .icon img {
      display: block;
      margin: auto;
      width: auto;
      max-height: 200px;
      max-width: 100%; }
  .case-study-detail .key-figures-left,
  .case-study-detail .key-figures-right {
    float: left;
    padding-left: 3.6rem;
    padding-right: 3.6rem; }
    @media (min-width: 0px) and (max-width: 766px) {
      .case-study-detail .key-figures-left,
      .case-study-detail .key-figures-right {
        width: 100%; } }
    @media (min-width: 768px) {
      .case-study-detail .key-figures-left,
      .case-study-detail .key-figures-right {
        width: 50%;
        float: left; } }

.property-data-headline h2 {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333;
  color: white;
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 20px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .property-data-headline h2 {
      font-size: 19px;
      line-height: 1.61111; } }

.contact-page .paragraphs-items .entity.last {
  padding-bottom: 64px; }

.contact-page .paragraphs-item-zbl-content-text .ds-ds-text {
  margin-right: -100px;
  width: auto; }

.contact-page .l-content .pane-node-field-zbl-s-section:first-child {
  margin-bottom: 0; }

.contact-page .l-content .pane-node-field-zbl-s-section:last-child {
  margin-top: 0; }

.section-item.office-header .office-address-item {
  margin: 120px 0;
  word-wrap: break-word;
  padding: 0;
  width: 250px;
  margin-right: 50px;
  display: inline-block; }
  @media (min-width: 0) and (max-width: 766px) {
    .section-item.office-header .office-address-item {
      width: 100%;
      margin: 20px 0; } }
  @media (min-width: 1024px) and (max-width: 1358px) {
    .section-item.office-header .office-address-item {
      width: 49%;
      margin: 40px 0; } }
  @media (min-width: 768px) and (max-width: 1023px) {
    .section-item.office-header .office-address-item {
      width: 46%;
      margin: 40px 0; } }
  @media (min-width: 1359px) and (max-width: 1551px) {
    .section-item.office-header .office-address-item {
      margin-right: 15px; } }

@media (min-width: 0px) and (max-width: 766px) {
  .section-item.office-header .office-description,
  .section-item.office-header .view-zbl-offices {
    width: 100%;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

@media (min-width: 768px) {
  .section-item.office-header .office-description,
  .section-item.office-header .view-zbl-offices {
    width: 50%;
    float: left;
    padding-left: 3.6rem;
    padding-right: 3.6rem; } }

.section-item.office-header .view-zbl-offices {
  line-height: 1.75; }
  @media (min-width: 0px) and (max-width: 766px) {
    .section-item.office-header .view-zbl-offices {
      margin-top: 40px; } }
  .section-item.office-header .view-zbl-offices .office-info h3 + p {
    padding-top: 12px; }
  .section-item.office-header .view-zbl-offices .office-info + .office-info {
    margin-top: 40px; }

.section-item.office-header .button-wrapper {
  margin-top: 40px;
  padding-left: 3.6rem;
  padding-right: 3.6rem; }
  @media (min-width: 0px) and (max-width: 766px) {
    .section-item.office-header .button-wrapper {
      text-align: center; } }
  @media (min-width: 768px) {
    .section-item.office-header .button-wrapper {
      width: 50%;
      float: right; } }

h3.h1-like {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 50px;
  line-height: 1.2;
  color: #13375b;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  text-align: center;
  position: relative;
  padding-bottom: 34px;
  margin-bottom: 60px;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 766px) {
    h3.h1-like {
      font-size: 30px; } }
  @media (min-width: 0) and (max-width: 766px) {
    h3.h1-like {
      overflow: visible; } }
  @media (min-width: 0px) and (max-width: 766px) {
    h3.h1-like {
      margin-bottom: 40px; } }
  h3.h1-like:after {
    content: "";
    width: 170px;
    height: 1px;
    background: #cccccc;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto; }
  h3.h1-like > span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1.31818;
    color: #6c7678;
    display: block;
    text-align: center;
    padding-top: 20px; }
    @media (min-width: 0px) and (max-width: 766px) {
      h3.h1-like > span {
        font-size: 18px; } }

.section-item.contact-form {
  background: #556977; }
  .section-item.contact-form .webform-outer-wrapper-contact {
    padding-bottom: 0; }
    .section-item.contact-form .webform-outer-wrapper-contact form {
      margin-left: 0;
      margin-right: 0; }
    .section-item.contact-form .webform-outer-wrapper-contact .webform-client-form .form-actions > input {
      margin-bottom: 0; }

.section-item.contact-form,
.section-item.contact-form label,
.section-item.contact-form .richtext h1,
.section-item.contact-form body.front .view-header h1, body.front
.section-item.contact-form .view-header h1,
.section-item.contact-form .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find
.section-item.contact-form .richtext .pane-title,
.section-item.contact-form body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find
.section-item.contact-form body.front .view-header .pane-title, body.front
.section-item.contact-form .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front
.section-item.contact-form .view-header .pane-title,
.section-item.contact-form .richtext h1 > span,
.section-item.contact-form body.front .view-header h1 > span, body.front
.section-item.contact-form .view-header h1 > span,
.section-item.contact-form .richtext .block--office-how-to-find .pane-title > span, .block--office-how-to-find
.section-item.contact-form .richtext .pane-title > span,
.section-item.contact-form body.front .view-header .block--office-how-to-find .pane-title > span, .block--office-how-to-find
.section-item.contact-form body.front .view-header .pane-title > span, body.front
.section-item.contact-form .view-header .block--office-how-to-find .pane-title > span, .block--office-how-to-find body.front
.section-item.contact-form .view-header .pane-title > span {
  color: white; }

.section-item.contact-form .richtext h1, .section-item.contact-form body.front .view-header h1, body.front .section-item.contact-form .view-header h1, .section-item.contact-form .richtext .block--office-how-to-find .pane-title, .block--office-how-to-find .section-item.contact-form .richtext .pane-title, .section-item.contact-form body.front .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find .section-item.contact-form body.front .view-header .pane-title, body.front .section-item.contact-form .view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .section-item.contact-form .view-header .pane-title {
  margin-bottom: 60px; }

.l-full .panel-pane.pane-entityform-type {
  width: 100%; }

.l-content .panel-pane.pane-entityform-type {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 479px) {
    .l-content .panel-pane.pane-entityform-type {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .l-content .panel-pane.pane-entityform-type {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .l-content .panel-pane.pane-entityform-type {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .l-content .panel-pane.pane-entityform-type {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .l-content .panel-pane.pane-entityform-type {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .l-content .panel-pane.pane-entityform-type {
      max-width: 100%;
      width: 1536px; } }

.contact-page .pane-entityform-type > .clearfix > h2 {
  display: none; }

.view-gl-zbl-offices.view-display-id-pane_map .views-exposed-form {
  display: none; }

@media (min-width: 0px) and (max-width: 479px) {
  .view-zbl-offices.view-display-id-pane_map > .view-content > div {
    height: 300px !important; } }

.block--office-how-to-find,
.how-to-find-section,
.pane-gl-zbl-offices-pane-map {
  display: none; }

.contact-page .footer {
  border-top: 0 none; }

.brochure-page {
  font-size: 24px; }
  @media (min-width: 0) and (max-width: 1025px) {
    .brochure-page {
      width: 100%; } }
  .brochure-page .l-content-region {
    background-image: url(../../images/jll_red_brush_bg.png);
    background-size: 1039px 427px;
    background-repeat: no-repeat;
    background-position: 100% 100%; }
    @media (min-width: 0) and (max-width: 750px) {
      .brochure-page .l-content-region {
        background-size: 425px 175px; } }
    @media (min-width: 0) and (max-width: 375px) {
      .brochure-page .l-content-region {
        background-size: 375px 154px; } }
  .brochure-page .section-item {
    background: none; }
    .brochure-page .section-item .panel-pane.pane-node-content.zbl_page {
      width: 100%;
      margin: auto; }
      @media (min-width: 0) and (max-width: 750px) {
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page {
          width: 100%; } }
      @media (min-width: 0) and (max-width: 1025px) {
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page {
          width: 100%; } }
      @media (min-width: 1025px) {
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page {
          width: 966px; } }
      .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-title {
        font-family: 'jll_handregular';
        font-size: 6.25em;
        color: #ed1c24;
        font-weight: 400;
        line-height: 1.3;
        margin-top: 40px;
        text-align: left; }
        @media (min-width: 0) and (max-width: 1025px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-title {
            width: 100%;
            margin: 0;
            padding: 80px 30px 0 30px;
            font-size: 4.55em; } }
        @media (min-width: 0) and (max-width: 750px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-title {
            padding: 19px 20px 0 20px;
            font-size: 13.3vw; } }
        @media (min-width: 0) and (max-width: 375px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-title {
            padding: 16px 18px 0 18px;
            font-size: 1.78em;
            text-align: left; } }
      .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item {
        margin: 0; }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right {
          padding: 0; }
          @media (min-width: 0) and (max-width: 750px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right {
              padding: 0 20px; } }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right {
              padding: 0 30px; } }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right {
              padding: 0 18px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext h1, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header h1, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header h1, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .block--office-how-to-find .pane-title, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .pane-title, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .pane-title, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .block--office-how-to-find .pane-title, .block--office-how-to-find body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .pane-title {
            padding: 0;
            margin: 0; }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header h1 span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .pane-title span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .pane-title span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .pane-title span {
              text-align: left;
              color: #ed1c24;
              text-transform: none;
              font-weight: 700;
              padding-top: 5px;
              font-family: "Source Sans Pro";
              font-size: 24px; }
              @media (min-width: 0) and (max-width: 1025px) {
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header h1 span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .pane-title span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .pane-title span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .pane-title span {
                  padding: 0;
                  font-size: 0.48em;
                  margin-top: 5px; } }
              @media (min-width: 0) and (max-width: 750px) {
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header h1 span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .pane-title span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .pane-title span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .pane-title span {
                  font-size: 0.568em;
                  margin-top: -1px; } }
              @media (min-width: 0) and (max-width: 375px) {
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header h1 span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header h1 span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .pane-title span, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .pane-title span, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .block--office-how-to-find .pane-title span, .block--office-how-to-find body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .pane-title span {
                  font-size: 0.488em;
                  text-align: left;
                  margin-left: -2px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext h1:after, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header h1:after, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header h1:after, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .block--office-how-to-find .pane-title:after, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.richtext .pane-title:after, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .block--office-how-to-find .pane-title:after, .block--office-how-to-find .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right body.front .l-indent.view-header .pane-title:after, body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .block--office-how-to-find .pane-title:after, .block--office-how-to-find body.front .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .section-item .section-content-item.section-content-margin-top-large.section-add-padding-left-right .l-indent.view-header .pane-title:after {
            display: none; }
      .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .field-name-field-brochure-circles .field-item {
        background-image: url("../../images/jll_red_circle.png");
        background-position: center;
        background-size: cover; }
      .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area {
        padding-top: 25px; }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area img {
          display: inline;
          -webkit-filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 0.6)) !important;
          filter: url(#drop-shadow);
          -ms-filter: "progid:DXImageTransform.Microsoft.Dropshadow(OffX=1, OffY=1, Color='#444')"  !important;
          filter: "progid:DXImageTransform.Microsoft.Dropshadow(OffX=1, OffY=1, Color='#444')" !important; }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area img {
              width: 97vw;
              height: 72.75vw; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area .field-name-field-brochure-circles .field-items {
          bottom: 85px;
          right: 0;
          position: absolute; }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area .field-name-field-brochure-circles .field-items {
              bottom: 64px;
              right: 7px; } }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area .field-name-field-brochure-circles .field-items {
              padding-top: 30px; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area .field-name-field-brochure-circles .field-item {
          width: 123px;
          height: 123px;
          font-size: 0.67917em;
          font-family: "Source Sans Pro";
          color: #FFF;
          text-align: center;
          line-height: 119px;
          display: inline-block;
          margin-right: 25px; }
          @media (min-width: 0) and (max-width: 750px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area .field-name-field-brochure-circles .field-item {
              display: none; } }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area .field-name-field-brochure-circles .field-item {
              width: 13vw;
              height: 13vw;
              line-height: 13vw;
              font-size: 1.8vw;
              margin-right: 3vw;
              font-weight: 400; } }
        @media (min-width: 0) and (max-width: 1025px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area {
            padding: 21px 14px 0 14px; } }
        @media (min-width: 0) and (max-width: 750px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area {
            padding: 24px 10px 0 10px; } }
        @media (min-width: 0) and (max-width: 375px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .image-area {
            padding: 20px 5px 0 5px; } }
      .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area {
        margin-top: -5px; }
        @media (min-width: 0) and (max-width: 1025px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area {
            margin-top: 18px; } }
        @media (min-width: 0) and (max-width: 750px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area {
            margin-top: 6px; } }
        @media (min-width: 0) and (max-width: 375px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area {
            margin-top: 6px; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area .field-name-field-brochure-circles .field-items {
          display: flex;
          justify-content: space-around;
          margin-top: 21px;
          padding: 0 13px; }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area .field-name-field-brochure-circles .field-items {
              display: flex;
              justify-content: space-between;
              margin-top: 15px;
              padding: 0px 17px; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area .field-name-field-brochure-circles .field-item {
          width: 26vw;
          height: 26vw;
          font-size: 0.65em;
          font-family: "Source Sans Pro";
          color: #FFF;
          text-align: center;
          line-height: 26vw;
          display: none; }
          @media (min-width: 0) and (max-width: 750px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area .field-name-field-brochure-circles .field-item {
              display: inline-block; } }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area .field-name-field-brochure-circles .field-item {
              width: 26vw;
              height: 26vw;
              line-height: 26vw;
              font-size: 12px;
              margin-right: 0;
              font-weight: 400; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area > p {
          margin-bottom: 21px;
          width: 680px;
          font-size: 0.75em;
          font-family: "Source Sans Pro";
          line-height: 23px;
          font-weight: 400;
          color: black; }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area > p {
              padding: 0 30px;
              width: 100%; } }
          @media (min-width: 0) and (max-width: 750px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area > p {
              padding: 0px 20px;
              font-size: 0.6em;
              line-height: 19px;
              margin-bottom: 7px; } }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area > p {
              padding: 0 17px;
              font-size: 12px;
              line-height: 16px;
              margin-bottom: 6px; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul {
          width: 680px;
          list-style-type: disc;
          margin-top: -7px; }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul {
              padding: 0 54px;
              width: 100%; } }
          @media (min-width: 0) and (max-width: 750px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul {
              padding-left: 44px;
              padding-right: 16px;
              margin-top: 15px;
              font-weight: 100; } }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul {
              margin-top: 0px;
              /* padding: 0 17px; */
              padding-right: 17px;
              padding-left: 38px;
              padding-top: 6px;
              font-size: 14px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul li {
            font-size: 0.75em;
            color: black;
            padding-left: 37px;
            text-indent: -24.5px;
            line-height: 25px; }
            @media (min-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul li {
                list-style-position: inside; } }
            @media (min-width: 0) and (max-width: 750px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul li {
                font-size: 0.57em;
                padding-left: 10.5px;
                line-height: 19px;
                font-weight: 100;
                text-indent: -0.5px; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .body-area ul li {
                list-style-position: outside;
                font-size: 11px;
                line-height: 16px;
                padding-left: 9px; } }
      .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area {
        display: flex;
        margin-bottom: 50px;
        margin-top: 60px; }
        @media (min-width: 0) and (max-width: 1025px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area {
            padding: 0 30px;
            margin-top: 44px; } }
        @media (min-width: 0) and (max-width: 750px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area {
            display: block;
            padding: 0 20px;
            margin-top: 32px; } }
        @media (min-width: 0) and (max-width: 375px) {
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area {
            margin-top: 29px;
            padding: 0 17px; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left {
          width: 355px;
          margin-right: 30px; }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left {
              width: 50%; } }
          @media (min-width: 0) and (max-width: 750px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left {
              width: 100%;
              margin-bottom: 20px; } }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left {
              margin-bottom: 15px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left .field-name-field-brochure-form-area-title {
            width: 263px;
            font-size: 1.5em;
            font-family: "Source Sans Pro";
            color: #ed1c24;
            letter-spacing: -1px;
            font-weight: 600;
            line-height: 1.1;
            margin-bottom: 20px; }
            @media (min-width: 0) and (max-width: 750px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left .field-name-field-brochure-form-area-title {
                width: 100%;
                font-size: 1em;
                margin-bottom: 4px; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left .field-name-field-brochure-form-area-title {
                font-size: 21px;
                margin-bottom: 0px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left > p {
            font-family: "Source Sans Pro";
            font-size: 1em;
            color: #6b7678;
            line-height: 32px;
            letter-spacing: 0;
            font-weight: 400; }
            @media (min-width: 0) and (max-width: 750px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left > p {
                width: 100%;
                font-size: 0.71em;
                line-height: 21px; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-left > p {
                font-size: 14.6px;
                line-height: 21px;
                padding-right: 12px; } }
        .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right {
          margin-top: 4px;
          margin-left: 2px;
          width: 579px;
          background-color: #6B7678;
          color: white;
          padding: 15px; }
          @media (min-width: 0) and (max-width: 1025px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right {
              width: 50%;
              padding: 10px; } }
          @media (min-width: 0) and (max-width: 750px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right {
              margin: 0;
              width: 100%;
              padding: 10px; } }
          @media (min-width: 0) and (max-width: 375px) {
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right {
              padding: 10px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-item label {
            display: none; }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .field.field-name-field-brochure-download-form-tit {
            text-transform: uppercase;
            font-weight: 400;
            font-size: 0.9em;
            letter-spacing: 1px; }
            @media (min-width: 0) and (max-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .field.field-name-field-brochure-download-form-tit {
                margin-top: 10px; } }
            @media (min-width: 0) and (max-width: 750px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .field.field-name-field-brochure-download-form-tit {
                font-size: 0.89em;
                margin-top: 11px;
                margin-bottom: 0px; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .field.field-name-field-brochure-download-form-tit {
                font-size: 18px;
                margin: 0;
                margin-top: 8px;
                margin-bottom: -3px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right input {
            border-color: white;
            background-color: #6B7678;
            height: 46px;
            color: white; }
            @media (min-width: 0) and (max-width: 750px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right input {
                height: 47px; }
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right input::placeholder {
                  font-size: 0.7em !important; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right input {
                height: 39px; }
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right input::placeholder {
                  font-size: 14px !important; } }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right input::placeholder {
              color: white !important; }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right input::-ms-input-placeholder {
              color: white !important; }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--first-name, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--last-name {
            width: 100%; }
            @media (min-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--first-name, .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--last-name {
                display: inline-block;
                width: 268px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--first-name {
            float: left;
            margin-bottom: 21px; }
            @media (min-width: 0) and (max-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--first-name {
                margin-bottom: -2px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--last-name {
            float: right;
            margin-bottom: 21px; }
            @media (min-width: 0) and (max-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--last-name {
                margin-bottom: -2px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--e-mail {
            width: 549px; }
            @media (min-width: 0) and (max-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--e-mail {
                width: 100%;
                margin-top: 21px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-item {
            padding-top: 19px; }
            @media (min-width: 0) and (max-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-item {
                padding-top: 0px;
                margin-bottom: 19px; } }
            @media (min-width: 0) and (max-width: 750px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-item {
                margin-bottom: 18px; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-item {
                margin-bottom: 18px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement {
            margin-top: -11px; }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label {
              display: block !important; }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:before {
              background-color: #6B7678;
              color: white;
              border-color: white;
              left: -1.7rem;
              top: 0.3rem; }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:after {
              left: 1px; }
            @media (min-width: 0) and (max-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement {
                margin-top: 0; }
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement .form-type-checkbox {
                  margin-top: 59px; }
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label {
                  font-size: 13px; }
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:before {
                  left: -1.4vw; }
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:after {
                  left: 0.3vw; } }
            @media (min-width: 0) and (max-width: 750px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement .form-type-checkbox {
                margin-top: 58px; }
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label {
                font-size: 13px;
                padding-left: 31px;
                padding-right: 8px;
                line-height: 19px !important; }
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:before {
                left: 2rem;
                width: 20px;
                height: 20px;
                position: absolute; }
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:after {
                left: 0.5vw;
                top: 8px;
                right: 5px;
                width: 13px;
                height: 7px;
                border-width: 3px; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement .form-type-checkbox {
                margin-top: 74px; }
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label {
                font-size: 11px;
                padding-left: 25px;
                line-height: 15px !important; }
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:before {
                left: 2rem;
                width: 20px;
                height: 20px;
                position: absolute; }
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .webform-component--agreement label:after {
                left: 0;
                top: 8px;
                right: 5px;
                width: 13px;
                height: 7px;
                border-width: 3px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right #edit-submitted-agreement {
            margin-top: -40px;
            margin-bottom: 20px; }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right #edit-submitted-agreement label {
              color: white;
              margin-left: 4px;
              line-height: 19px; }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right #edit-submitted-agreement {
                margin-top: -59px;
                margin-bottom: 0px;
                margin-left: 0px; } }
          .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-actions {
            padding-bottom: 24px; }
            @media (min-width: 0) and (max-width: 1025px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-actions {
                padding-bottom: 32px; } }
            @media (min-width: 0) and (max-width: 375px) {
              .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-actions {
                padding-bottom: 26px; } }
            .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-actions .form-submit {
              background-color: #C5020B;
              color: white;
              border: none;
              height: 50px;
              font-size: 0.83333em;
              text-transform: uppercase;
              font-family: "Source Sans Pro";
              padding: 0;
              font-weight: 400;
              width: 544px;
              margin-left: 2px;
              margin-top: 9px; }
              @media (min-width: 0) and (max-width: 1025px) {
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-actions .form-submit {
                  margin-top: 23px;
                  margin-left: 1px; } }
              @media (min-width: 0) and (max-width: 750px) {
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-actions .form-submit {
                  width: 100%;
                  height: 47px;
                  font-size: 0.85em;
                  font-weight: 400;
                  margin-top: 9px;
                  margin-left: 1px; } }
              @media (min-width: 0) and (max-width: 375px) {
                .brochure-page .section-item .panel-pane.pane-node-content.zbl_page .pane-content .ds-ds-content .brochure-body-paragraph .form-area .form-area-right .form-actions .form-submit {
                  width: 99.5%;
                  height: 43px;
                  font-size: 17px;
                  font-weight: 400;
                  margin-top: 10px; } }
  .brochure-page .footer {
    border-top: none; }
  @media (min-width: 1025px) {
    .brochure-page #cboxLoadedContent .messages {
      display: none; } }

.zbl-section-fh .landingpage {
  background-color: #292e32; }

.zbl-section-ci .landingpage {
  background-color: #efefef; }

.zbl-section-pg .landingpage {
  background-color: #efefef; }

.landingpage .landingpage-logo {
  margin-top: 80px;
  margin-bottom: 60px;
  text-align: center; }

.landingpage .landingpage-inner .small-setcard-list-wrapper {
  float: left; }

.landingpage .landingpage-inner .section-item.units .section-content-item {
  overflow: visible; }

.landingpage .centered-links {
  padding-top: 40px;
  padding-bottom: 40px; }

.landingpage .submit-message {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1.31818;
  color: #333333;
  padding-left: 2.4rem;
  padding-right: 2.4rem;
  background: rgba(255, 255, 255, 0.8); }
  @media (min-width: 0px) and (max-width: 766px) {
    .landingpage .submit-message {
      font-size: 19px;
      line-height: 1.61111; } }

.l-content .landingpage-inner {
  padding-top: 40px;
  padding-bottom: 40px; }

.section-item.units {
  padding-top: 0px;
  padding-bottom: 40px; }
  .zbl-section-fh .section-item.units {
    background-color: #292e32; }
  .zbl-section-ci .section-item.units {
    background-color: #efefef; }
  .zbl-section-pg .section-item.units {
    background-color: #efefef; }
  .section-item.units::after {
    content: "";
    display: table;
    clear: both; }

.view-zbl-glossary,
.view-gl-glossary {
  padding-left: 10%;
  padding-right: 10%; }
  .l-content .view-zbl-glossary, .l-content
  .view-gl-glossary {
    padding: 40px 10%; }
  .view-zbl-glossary .view-content,
  .view-gl-glossary .view-content {
    max-width: 100%; }
  .view-zbl-glossary .section-item:first-child,
  .view-gl-glossary .section-item:first-child {
    padding-top: 40px; }
  .view-zbl-glossary .glossary-group,
  .view-gl-glossary .glossary-group {
    overflow: hidden;
    margin-bottom: 40px; }
  .view-zbl-glossary .glossary-group-header,
  .view-gl-glossary .glossary-group-header {
    padding-left: 3.6rem;
    padding-right: 3.6rem;
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 24px;
    line-height: 1.25;
    color: #333333; }
    @media (min-width: 0px) and (max-width: 766px) {
      .view-zbl-glossary .glossary-group-header,
      .view-gl-glossary .glossary-group-header {
        font-size: 20px; } }
  .view-zbl-glossary .glossary-group-content .left,
  .view-zbl-glossary .glossary-group-content .right,
  .view-gl-glossary .glossary-group-content .left,
  .view-gl-glossary .glossary-group-content .right {
    padding-left: 1.2rem;
    padding-right: 1.2rem; }
    @media (min-width: 0px) and (max-width: 479px) {
      .view-zbl-glossary .glossary-group-content .left,
      .view-zbl-glossary .glossary-group-content .right,
      .view-gl-glossary .glossary-group-content .left,
      .view-gl-glossary .glossary-group-content .right {
        width: 100%; } }
    @media (min-width: 768px) {
      .view-zbl-glossary .glossary-group-content .left,
      .view-zbl-glossary .glossary-group-content .right,
      .view-gl-glossary .glossary-group-content .left,
      .view-gl-glossary .glossary-group-content .right {
        width: 50%;
        float: left; } }

.l-full .view-display-id-pane_blog {
  width: 100%; }

.l-content .pane-zbl-properties-pane-blog,
.l-content .view-gl-zbl-properties-block {
  margin-top: 40px;
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden; }
  @media (min-width: 0px) and (max-width: 479px) {
    .l-content .pane-zbl-properties-pane-blog,
    .l-content .view-gl-zbl-properties-block {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .l-content .pane-zbl-properties-pane-blog,
    .l-content .view-gl-zbl-properties-block {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .l-content .pane-zbl-properties-pane-blog,
    .l-content .view-gl-zbl-properties-block {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .l-content .pane-zbl-properties-pane-blog,
    .l-content .view-gl-zbl-properties-block {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .l-content .pane-zbl-properties-pane-blog,
    .l-content .view-gl-zbl-properties-block {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .l-content .pane-zbl-properties-pane-blog,
    .l-content .view-gl-zbl-properties-block {
      max-width: 100%;
      width: 1536px; } }

.node-zbl-blog .pane-zbl-properties-pane-blog,
[class*="pane-gl-zbl-properties-block-pane"] {
  padding-bottom: 40px;
  background-color: #556977; }
  .node-zbl-blog .pane-zbl-properties-pane-blog .view-content,
  [class*="pane-gl-zbl-properties-block-pane"] .view-content {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden; }
    @media (min-width: 0px) and (max-width: 479px) {
      .node-zbl-blog .pane-zbl-properties-pane-blog .view-content,
      [class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .node-zbl-blog .pane-zbl-properties-pane-blog .view-content,
      [class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      .node-zbl-blog .pane-zbl-properties-pane-blog .view-content,
      [class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .node-zbl-blog .pane-zbl-properties-pane-blog .view-content,
      [class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      .node-zbl-blog .pane-zbl-properties-pane-blog .view-content,
      [class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .node-zbl-blog .pane-zbl-properties-pane-blog .view-content,
      [class*="pane-gl-zbl-properties-block-pane"] .view-content {
        max-width: 100%;
        width: 1536px; } }
  .node-zbl-blog .pane-zbl-properties-pane-blog .property-teaser--small,
  [class*="pane-gl-zbl-properties-block-pane"] .property-teaser--small {
    margin-bottom: 40px; }

@media (min-width: 0px) and (max-width: 479px) {
  .node-type-zbl-blog .pane-zbl-properties-pane-blog, .node-type-zbl-blog
  [class*="pane-gl-zbl-properties-block-pane"] {
    display: none; } }

.l-content .pane-zbl-properties-pane-blog, .l-content
[class*="pane-gl-zbl-properties-block-pane"] {
  margin-bottom: 40px; }

.pane-zbl-properties-pane-blog h2.pane-title,
[class*="pane-gl-zbl-properties-block-pane"] h2.pane-title {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.25;
  color: #333333;
  background-color: #556977;
  padding-top: 72px;
  padding-bottom: 72px;
  text-align: center;
  color: white; }
  @media (min-width: 0px) and (max-width: 766px) {
    .pane-zbl-properties-pane-blog h2.pane-title,
    [class*="pane-gl-zbl-properties-block-pane"] h2.pane-title {
      font-size: 20px; } }

.pane-partner-header {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  margin-top: 40px;
  padding-top: 40px;
  padding-bottom: 40px;
  background: white; }
  @media (min-width: 0px) and (max-width: 479px) {
    .pane-partner-header {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .pane-partner-header {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .pane-partner-header {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .pane-partner-header {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .pane-partner-header {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .pane-partner-header {
      max-width: 100%;
      width: 1536px; } }

.pane-zbl-partner-properties-pane-enabled {
  margin-bottom: 40px; }
  .pane-zbl-partner-properties-pane-enabled .view-content,
  .pane-zbl-partner-properties-pane-enabled .view-empty {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden;
    padding-top: 40px;
    padding-bottom: 40px; }
    @media (min-width: 0px) and (max-width: 479px) {
      .pane-zbl-partner-properties-pane-enabled .view-content,
      .pane-zbl-partner-properties-pane-enabled .view-empty {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .pane-zbl-partner-properties-pane-enabled .view-content,
      .pane-zbl-partner-properties-pane-enabled .view-empty {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      .pane-zbl-partner-properties-pane-enabled .view-content,
      .pane-zbl-partner-properties-pane-enabled .view-empty {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .pane-zbl-partner-properties-pane-enabled .view-content,
      .pane-zbl-partner-properties-pane-enabled .view-empty {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      .pane-zbl-partner-properties-pane-enabled .view-content,
      .pane-zbl-partner-properties-pane-enabled .view-empty {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .pane-zbl-partner-properties-pane-enabled .view-content,
      .pane-zbl-partner-properties-pane-enabled .view-empty {
        max-width: 100%;
        width: 1536px; } }
  .pane-zbl-partner-properties-pane-enabled .view-content {
    padding-top: 0;
    background: #556977; }
  .pane-zbl-partner-properties-pane-enabled .view-empty {
    background: white;
    text-align: center; }

.summary {
  padding-top: 40px;
  text-align: center; }

.partner-properties-back-link {
  float: left;
  margin-left: 2.4rem; }

.partner-properties-logout-link {
  float: right;
  margin-right: 2.4rem; }

.pane-zbl-partner-properties-pane-enabled h2 {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.25;
  color: #333333;
  color: white;
  padding-top: 80px;
  padding-bottom: 80px;
  background: #556977;
  text-align: center; }
  @media (min-width: 0px) and (max-width: 479px) {
    .pane-zbl-partner-properties-pane-enabled h2 {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .pane-zbl-partner-properties-pane-enabled h2 {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .pane-zbl-partner-properties-pane-enabled h2 {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .pane-zbl-partner-properties-pane-enabled h2 {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .pane-zbl-partner-properties-pane-enabled h2 {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .pane-zbl-partner-properties-pane-enabled h2 {
      max-width: 100%;
      width: 1536px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .pane-zbl-partner-properties-pane-enabled h2 {
      font-size: 20px; } }

.view-zbl-partner-properties .property-teaser--small.small-setcard {
  margin-bottom: 20px; }
  .view-zbl-partner-properties .property-teaser--small.small-setcard .push-open-4-6 {
    height: auto;
    padding-bottom: 0; }
  .view-zbl-partner-properties .property-teaser--small.small-setcard .media-wrapper,
  .view-zbl-partner-properties .property-teaser--small.small-setcard .infobox {
    position: static; }
  .view-zbl-partner-properties .property-teaser--small.small-setcard .media-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .view-zbl-partner-properties .property-teaser--small.small-setcard .infobox {
    height: 130px; }

.pane-ftp-list {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  background: white;
  margin-bottom: 40px;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 3.6rem;
  padding-right: 3.6rem; }
  @media (min-width: 0px) and (max-width: 479px) {
    .pane-ftp-list {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .pane-ftp-list {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .pane-ftp-list {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .pane-ftp-list {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .pane-ftp-list {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .pane-ftp-list {
      max-width: 100%;
      width: 1536px; } }
  .pane-ftp-list ul {
    list-style: none;
    padding: 0; }
  .pane-ftp-list li + .directory {
    margin-top: 40px; }
  .pane-ftp-list .directory + li {
    margin-top: 40px; }
  .pane-ftp-list > ul > li > ul {
    padding-left: 40px; }
  .pane-ftp-list > ul > li > ul > li > ul {
    padding-left: 40px; }
  .pane-ftp-list li.directory h3 {
    position: relative;
    padding-right: 25px;
    display: inline-block;
    cursor: pointer; }
    .pane-ftp-list li.directory h3::after {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      line-height: 29px;
      font-size: 28px; }

/*.slick-slide {
	img {
		width: 100%;
		height: auto;
	}
}*/
.sitemap-pg {
  padding-top: 64px;
  padding-bottom: 64px; }
  .sitemap-pg a {
    text-decoration: none;
    line-height: 40px; }
  .sitemap-pg > .panel-pane {
    position: relative;
    margin: 0 auto;
    clear: both;
    overflow: hidden;
    padding-left: 3.6rem;
    padding-right: 3.6rem; }
    @media (min-width: 0px) and (max-width: 479px) {
      .sitemap-pg > .panel-pane {
        max-width: 480px;
        width: 100%; } }
    @media (min-width: 480px) and (max-width: 766px) {
      .sitemap-pg > .panel-pane {
        max-width: 767px;
        width: 100%; } }
    @media (min-width: 768px) {
      .sitemap-pg > .panel-pane {
        max-width: 1008px;
        width: 100%; } }
    @media (min-width: 1167px) {
      .sitemap-pg > .panel-pane {
        max-width: 100%;
        width: 1152px; } }
    @media (min-width: 1359px) {
      .sitemap-pg > .panel-pane {
        max-width: 100%;
        width: 1344px; } }
    @media (min-width: 1551px) {
      .sitemap-pg > .panel-pane {
        max-width: 100%;
        width: 1536px; } }
  .sitemap-pg .pane-title {
    display: none; }
  .sitemap-pg .centered-links {
    text-align: left; }
    .sitemap-pg .centered-links .button {
      margin-bottom: 20px;
      font-size: 0;
      line-height: 0;
      background-color: transparent;
      color: transparent;
      width: 220px;
      height: 60px;
      background-repeat: no-repeat;
      background-position: 0 50%;
      background-size: contain; }
      .sitemap-pg .centered-links .button:hover {
        background-color: transparent; }
  .sitemap-pg .menu {
    list-style: none; }
    .sitemap-pg .menu .menu {
      padding-left: 3.6rem; }
  .sitemap-pg .menu__link {
    padding-left: 3.6rem;
    font-size: 15px;
    line-height: 40px;
    display: block;
    text-decoration: none;
    text-transform: uppercase; }
  .sitemap-pg .expanded > .menu__link::after {
    padding-left: 10px;
    font-size: 20px;
    line-height: 1;
    vertical-align: -3px; }

.sitemap-pg + .sitemap-pg {
  padding-top: 0;
  padding-bottom: 40px; }

.sitemap-pg {
  background-color: #000; }
  .sitemap-pg .centered-links .button {
    background-image: url(../images/header/logo-pg.png); }
  .sitemap-pg li > a {
    color: white; }
  .sitemap-pg a:hover {
    color: #cccccc; }
  .sitemap-pg li > a {
    background: #000; }
  .sitemap-pg a:hover {
    background: #34495d; }

.error-page .l-content-row {
  background: url(/sites/all/themes/zbl_frontend/build/images/zbl_frontpage_bg.jpg) no-repeat 50% 100%;
  background-size: cover;
  min-height: 100vh;
  position: relative; }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page .l-content-row {
      min-height: 0;
      padding-top: 0 !important; } }
  .error-page .l-content-row div {
    height: 100%; }
  .error-page .l-content-row .slick {
    max-height: none; }

.error-page .l-content-region .header-wrapper {
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  padding: 0 2.4rem 60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  position: absolute;
  z-index: 5;
  height: auto; }
  @media (min-width: 0px) and (max-width: 479px) {
    .error-page .l-content-region .header-wrapper {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .error-page .l-content-region .header-wrapper {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .error-page .l-content-region .header-wrapper {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .error-page .l-content-region .header-wrapper {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .error-page .l-content-region .header-wrapper {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .error-page .l-content-region .header-wrapper {
      max-width: 100%;
      width: 1536px; } }

.error-page .pane-block {
  display: inline-block;
  margin: 3.6rem; }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page .pane-block {
      margin: 1.2rem; } }
  .error-page .pane-block .entity p,
  .error-page .pane-block .entity .centered-links {
    display: none; }

.error-page .section-content-item {
  padding: 0 3.6rem; }

.error-page .pane-lang-dropdown-language,
.error-page .pane-gl-zbl-global-zabel-logout {
  float: right;
  margin: 10px 1.2rem; }

.error-page .lang_dropdown_form .selectric,
.error-page .pane-gl-zbl-global-zabel-logout .pane-content a,
.error-page .lang_dropdown_form .selectric-items,
.error-page .lang_dropdown_form .selectric-items li {
  background: transparent;
  border-color: #cccccc;
  color: white; }

.error-page .pane-gl-zbl-global-zabel-logout .pane-content a,
.error-page .lang_dropdown_form .label {
  color: white; }

.error-page .lang_dropdown_form {
  margin-top: 0; }

@media (min-width: 0px) and (max-width: 766px) {
  .error-page .lang_dropdown_form .selectric,
  .error-page .lang_dropdown_form .selectric-items,
  .error-page .lang_dropdown_form .selectric-items li {
    background: #000; } }

.error-page .lang_dropdown_form .selectric-items li:hover {
  background: rgba(240, 240, 240, 0.5); }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page .lang_dropdown_form .selectric-items li:hover {
      background: #023363; } }

.error-page .pane-page-title .pane-title {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.25;
  color: #333333;
  text-align: center;
  color: white;
  font-size: 0px;
  padding-top: 80px;
  padding-bottom: 120px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page .pane-page-title .pane-title {
      font-size: 20px; } }
  .error-page .pane-page-title .pane-title::before {
    content: " ";
    display: block;
    width: 300px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
    background-image: url("../images/footer/jll_logo.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .error-page .pane-page-title .pane-title::before {
    margin-bottom: 40px; }
  .error-page .pane-page-title .pane-title::after {
    margin-top: -50px; }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page .pane-page-title .pane-title {
      font-size: 14px;
      padding: 15px 65px 15px 15px;
      text-align: left;
      background: #000; }
      .error-page .pane-page-title .pane-title:before, .error-page .pane-page-title .pane-title:after {
        content: none; } }

.error-page__message {
  padding: 3.6rem;
  background: rgba(255, 255, 255, 0.6); }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page__message {
      min-height: 50vh; } }
  .error-page__message .paragraphs-items .entity {
    padding: 0; }
  .error-page__message .l-text {
    padding: 0; }
  .error-page__message .section-item {
    margin: 28px 0;
    background: none; }

.error-page .pane-bean-zbl-front-corporate-left {
  margin: 2.4rem;
  padding: 2.4rem;
  background: #000; }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page .pane-bean-zbl-front-corporate-left {
      display: block;
      margin: 0;
      padding: 3.6rem; } }
  .error-page .pane-bean-zbl-front-corporate-left .content-logo-link {
    margin-bottom: 0; }

.error-page .footer-bottom::before {
  background: none; }

.error-page .view-display-id-pane_content_top {
  position: absolute;
  z-index: 1;
  width: 100%; }
  .error-page .view-display-id-pane_content_top .paragraphs-item-slideshow {
    position: relative;
    width: 100%; }
    .error-page .view-display-id-pane_content_top .paragraphs-item-slideshow img {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      max-height: none;
      max-width: none;
      min-height: 100%;
      min-width: 100%;
      transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%); }
    .error-page .view-display-id-pane_content_top .paragraphs-item-slideshow .group-paragraph-item-titles {
      display: none; }

.error-page .view-display-id-pane_content_middle,
.error-page .view-display-id-pane_content_bottom {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  position: relative;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  padding: 0 2.4rem 60px; }
  @media (min-width: 0px) and (max-width: 479px) {
    .error-page .view-display-id-pane_content_middle,
    .error-page .view-display-id-pane_content_bottom {
      max-width: 480px;
      width: 100%; } }
  @media (min-width: 480px) and (max-width: 766px) {
    .error-page .view-display-id-pane_content_middle,
    .error-page .view-display-id-pane_content_bottom {
      max-width: 767px;
      width: 100%; } }
  @media (min-width: 768px) {
    .error-page .view-display-id-pane_content_middle,
    .error-page .view-display-id-pane_content_bottom {
      max-width: 1008px;
      width: 100%; } }
  @media (min-width: 1167px) {
    .error-page .view-display-id-pane_content_middle,
    .error-page .view-display-id-pane_content_bottom {
      max-width: 100%;
      width: 1152px; } }
  @media (min-width: 1359px) {
    .error-page .view-display-id-pane_content_middle,
    .error-page .view-display-id-pane_content_bottom {
      max-width: 100%;
      width: 1344px; } }
  @media (min-width: 1551px) {
    .error-page .view-display-id-pane_content_middle,
    .error-page .view-display-id-pane_content_bottom {
      max-width: 100%;
      width: 1536px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .error-page .view-display-id-pane_content_middle,
    .error-page .view-display-id-pane_content_bottom {
      padding: 0; } }

.partner-login .node.view-mode-full > .section-item {
  margin-bottom: 0; }

.partner-login #user-login-form,
.partner-login .pane-user-profile {
  background: white;
  margin-bottom: 40px; }
  @media (min-width: 0) and (max-width: 1023px) {
    .partner-login #user-login-form,
    .partner-login .pane-user-profile {
      margin-bottom: 0; } }
  .partner-login #user-login-form > div,
  .partner-login .pane-user-profile > div {
    width: auto;
    max-width: 600px;
    padding: 0 20px 40px; }
    @media (min-width: 0) and (max-width: 1023px) {
      .partner-login #user-login-form > div,
      .partner-login .pane-user-profile > div {
        margin-bottom: 0; } }

.partner-login .ds-ds-content {
  text-align: center; }

.partner-login .paragraphs-items .entity.last {
  padding-bottom: 40px; }

.partner-login .form-type-textfield:first-child {
  margin-top: 0; }

.partner-login .pane-page-messages {
  background: white;
  padding: 0 20px 20px; }
  .partner-login .pane-page-messages .messages.error {
    margin: 0 auto;
    max-width: 600px; }

.in-maintenance #header {
  text-align: center;
  padding: 100px; }

.in-maintenance #main {
  text-align: center; }

.thank-you-page .heading h2 {
  font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  font-size: 50px;
  line-height: 1.2;
  color: #13375b;
  padding-left: 3.6rem;
  padding-right: 3.6rem;
  text-align: center;
  position: relative;
  padding-bottom: 34px;
  margin-bottom: 60px;
  overflow: hidden;
  margin-top: 0; }
  @media (min-width: 0px) and (max-width: 766px) {
    .thank-you-page .heading h2 {
      font-size: 30px; } }
  @media (min-width: 0) and (max-width: 766px) {
    .thank-you-page .heading h2 {
      overflow: visible; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .thank-you-page .heading h2 {
      margin-bottom: 40px; } }
  .thank-you-page .heading h2:after {
    content: "";
    width: 170px;
    height: 1px;
    background: #cccccc;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto; }
  .thank-you-page .heading h2 > span {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1.31818;
    color: #6c7678;
    display: block;
    text-align: center;
    padding-top: 20px; }
    @media (min-width: 0px) and (max-width: 766px) {
      .thank-you-page .heading h2 > span {
        font-size: 18px; } }
  @media (min-width: 0px) and (max-width: 766px) {
    .thank-you-page .heading h2 {
      font-size: 25px; } }

.thank-you-page .bean-zbl-lp-titles-text-text-form {
  color: #ffffff; }
  .thank-you-page .bean-zbl-lp-titles-text-text-form h1, .thank-you-page .bean-zbl-lp-titles-text-text-form .block--office-how-to-find .pane-title, .block--office-how-to-find .thank-you-page .bean-zbl-lp-titles-text-text-form .pane-title, .thank-you-page .bean-zbl-lp-titles-text-text-form h2, .thank-you-page .bean-zbl-lp-titles-text-text-form h3, .thank-you-page .bean-zbl-lp-titles-text-text-form h4, .thank-you-page .bean-zbl-lp-titles-text-text-form h5, .thank-you-page .bean-zbl-lp-titles-text-text-form h6,
  .thank-you-page .bean-zbl-lp-titles-text-text-form p {
    color: inherit; }
  .thank-you-page .bean-zbl-lp-titles-text-text-form .button--large {
    margin: 40px 0; }
  .thank-you-page .bean-zbl-lp-titles-text-text-form .heading h2 {
    color: inherit; }
    .thank-you-page .bean-zbl-lp-titles-text-text-form .heading h2 > span {
      color: inherit; }
  .thank-you-page .bean-zbl-lp-titles-text-text-form .l-bottom p {
    clear: both;
    text-align: center; }
  .thank-you-page .bean-zbl-lp-titles-text-text-form .l-bottom .button--large {
    margin: 40px 0 0;
    max-width: 460px;
    padding-left: 3.6rem;
    padding-right: 3.6rem; }

/* Slider */
.slick {
  position: relative; }
  .slick,
  .slick .slick__slider,
  .slick .slick-list,
  .slick .slick-track,
  .slick .slick__slide,
  .slick .slide__content,
  .slick .media {
    height: 100%;
    max-height: 100vh; }
  .slick .media picture {
    display: block;
    height: 100%; }
    .slick .media picture img {
      height: auto;
      width: 100%;
      min-width: 100%; }

.slick-slider {
  cursor: ew-resize;
  margin-bottom: 0; }
  .slick-slider .slick-list {
    height: 100%; }
  .slick-slider .slick-track {
    height: 100%; }
    .slick-slider .slick-track::after {
      content: "";
      display: table;
      clear: both; }

.slick-dotted.slick-slider {
  margin-bottom: 0; }

.slick-loading .slick-list {
  background: #fff url("../images/ajax-loader.gif") center center no-repeat; }

.slick-slide img {
  display: block; }

.header-large .slick-slide img {
  width: 100%;
  height: auto; }

/* Arrows */
.slick-arrow,
.slick-down {
  border-radius: 0; }

.slick-prev,
.slick-next {
  position: absolute;
  z-index: 7;
  display: block;
  height: 50px;
  width: 50px;
  line-height: 0px;
  font-size: 0px;
  text-align: center;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  padding: 0;
  border: none;
  outline: none;
  background: rgba(255, 255, 255, 0.8) !important;
  opacity: .8; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }

.slick-prev:before, .slick-next:before {
  font-size: 50px;
  line-height: 1;
  color: #333333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  padding-right: 5px;
  left: 0; }

.slick-next {
  padding-left: 5px;
  right: 0; }

/* Dots */
.slick-dots {
  position: absolute;
  bottom: 20px;
  z-index: 7;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 3px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      width: 15px;
      height: 15px;
      display: block;
      border: 2px solid transparent;
      background-color: white;
      outline: none;
      color: transparent;
      padding: 0;
      cursor: pointer;
      border-radius: 50%; }
      .slick-dots li button:before {
        content: ""; }
      .slick-dots li button:hover {
        background: rgba(88, 88, 88, 0.7);
        outline: none; }
    .slick-dots li.slick-active button {
      border: 2px solid white;
      background-color: transparent; }

.galleria-fullscreen {
  position: absolute;
  z-index: 2;
  top: 3rem;
  right: 2.4rem; }
  .galleria-fullscreen .galleria-fullscreen-link {
    font-size: 0;
    line-height: 0;
    color: transparent;
    border: 1px solid black;
    display: none;
    cursor: pointer; }
    .galleria-fullscreen .galleria-fullscreen-link::before {
      content: "";
      width: 12px;
      height: 9px;
      border: 1px solid black;
      position: absolute;
      bottom: 2px;
      left: 2px;
      display: block; }

.galleria-theme-classic {
  background: transparent; }
  .galleria-theme-classic::after {
    content: "";
    width: 100%;
    height: 60px;
    display: block;
    bottom: 0;
    left: 0;
    background: #efefef;
    position: absolute; }
  .galleria-theme-classic .galleria-stage {
    top: 0;
    left: 0;
    right: 0;
    width: 100%; }
    .galleria-theme-classic .galleria-stage .galleria-image img {
      max-width: 100%;
      height: auto; }
  .galleria-theme-classic .galleria-thumbnails .galleria-image {
    border: none; }

.selectric-wrapper {
  position: relative;
  cursor: pointer; }

.selectric-responsive {
  width: 100%; }

.selectric {
  border: 1px solid #cccccc;
  background: white;
  position: relative; }
  .selectric .label {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 18px;
    line-height: 1.5;
    color: #333333;
    color: #6c7678;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 46px 0 10px;
    line-height: 46px;
    height: 46px; }
  .selectric .selectric-button {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 46px;
    height: 46px;
    color: #BBB;
    text-align: center;
    font: 0/0 a;
    *font: 20px/46px Lucida Sans Unicode, Arial Unicode MS, Arial; }
    .selectric .selectric-button:after {
      content: " ";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 0;
      height: 0;
      border: 4px solid transparent;
      border-top-color: #BBB;
      border-bottom: none; }

.selectric-hover .selectric {
  border-color: #c4c4c4; }
  .selectric-hover .selectric .selectric-button {
    color: #a2a2a2; }
    .selectric-hover .selectric .selectric-button:after {
      border-top-color: #a2a2a2; }

.selectric-open {
  z-index: 9999; }
  .selectric-open .selectric {
    border-color: #c4c4c4; }
  .selectric-open .selectric-items {
    display: block; }

.selectric-disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default;
  user-select: none; }

.selectric-hide-select {
  position: relative;
  overflow: hidden;
  width: 0;
  height: 0; }
  .selectric-hide-select select {
    position: absolute;
    left: -100%;
    display: none; }

.selectric-input {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  outline: none !important;
  border: none !important;
  *font: 0/0 a !important;
  background: none !important; }

.selectric-temp-show {
  position: absolute !important;
  visibility: hidden !important;
  display: block !important; }

/* Items box */
.selectric-items {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #c4c4c4;
  z-index: -1;
  box-shadow: 0 0 10px -6px; }
  .selectric-items .selectric-scroll {
    height: 100%;
    overflow: auto; }
  .selectric-above .selectric-items {
    top: auto;
    bottom: 100%; }
  .selectric-items ul, .selectric-items li {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 12px;
    line-height: 20px;
    min-height: 20px; }
  .selectric-items li {
    font-family: "ITCFranklinGothic-DE", "ITCFranklinGothic-RU", "Helvetica", "Arial";
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    font-size: 18px;
    line-height: 1.5;
    color: #333333;
    font-size: 14px;
    display: block;
    padding: 8px;
    border-top: none;
    border-bottom: none;
    color: #666;
    cursor: pointer; }
    .selectric-items li.selected {
      background: #EFEFEF;
      color: #444; }
    .selectric-items li:hover {
      background: #F0F0F0;
      color: #444; }
  .selectric-items .disabled {
    filter: alpha(opacity=50);
    opacity: 0.5;
    cursor: default !important;
    background: none !important;
    color: #666 !important;
    user-select: none; }
  .selectric-items .selectric-group .selectric-group-label {
    font-weight: bold;
    padding-left: 10px;
    cursor: default;
    user-select: none;
    background: none;
    color: #444; }
  .selectric-items .selectric-group.disabled li {
    filter: alpha(opacity=100);
    opacity: 1; }
  .selectric-items .selectric-group li {
    padding-left: 9px; }

html.no-object-fit body:not(.ios7) .slider-image picture img {
  height: auto !important;
  position: relative;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  /* Chrome, Opera 15+, Safari 3.1+ */
  -moz-transform: translateX(-50%) translateY(-50%);
  /* Firefox 3.5+ */
  -ms-transform: translateX(-50%) translateY(-50%);
  /* IE 9 */
  -o-transform: translateX(-50%) translateY(-50%);
  /* Opera 10.5+ */
  transform: translateX(-50%) translateY(-50%);
  /* Firefox 16+, IE 10+, Opera */ }

html.no-object-fit body:not(.ios7) .slider-image.slick-active picture img {
  z-index: 1; }

html.no-object-fit body:not(.ios7) .imageheader .slider-image picture img,
html.no-object-fit body:not(.ios7) .property-teaser--large .slider-image picture img {
  width: 100%; }
  @media (min-width: 0px) and (max-width: 479px) {
    html.no-object-fit body:not(.ios7) .imageheader .slider-image picture img,
    html.no-object-fit body:not(.ios7) .property-teaser--large .slider-image picture img {
      width: 480px; } }
  @media (min-width: 480px) and (max-width: 1024px) {
    html.no-object-fit body:not(.ios7) .imageheader .slider-image picture img,
    html.no-object-fit body:not(.ios7) .property-teaser--large .slider-image picture img {
      width: 1024px; } }
  @media (min-width: 1025px) and (max-width: 1920px) {
    html.no-object-fit body:not(.ios7) .imageheader .slider-image picture img,
    html.no-object-fit body:not(.ios7) .property-teaser--large .slider-image picture img {
      width: 1920px; } }

html.no-object-fit body:not(.ios7) .property-teaser--medium .slider-image picture img {
  width: 948px; }
  @media (min-width: 0px) and (max-width: 479px) {
    html.no-object-fit body:not(.ios7) .property-teaser--medium .slider-image picture img {
      width: 480px; } }
  @media (min-width: 480px) and (max-width: 720px) {
    html.no-object-fit body:not(.ios7) .property-teaser--medium .slider-image picture img {
      width: 720px; } }
  @media (min-width: 721px) and (max-width: 900px) {
    html.no-object-fit body:not(.ios7) .property-teaser--medium .slider-image picture img {
      width: 600px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jb2x1bW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19maWx0ZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2h5cGhlbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19zZWxlY3Rpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX21hcmdpbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wYWRkaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fc2V0dGluZ3Muc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX2NvbnRleHQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX2hlbHBlcnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX3BhcnNlcnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fcXVlcnkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fc2luZ2xlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvc2luZ2xlL19kZWZhdWx0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX2RvdWJsZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC1wYWlyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kb3VibGUtc3RyaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kZWZhdWx0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3RyaXBsZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL3RyaXBsZS9fZGVmYXVsdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL19yZXNvbHV0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvcmVzb2x1dGlvbi9fcmVzb2x1dGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fbm8tcXVlcnkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX3Jlc3BvbmQtdG8uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX2xlZ2FjeS1zZXR0aW5ncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9fc2luZ3VsYXJpdHlncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL19oZWxwZXJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvaGVscGVycy9fc2V0dGluZ3Muc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9oZWxwZXJzL19maW5kLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvaGVscGVycy9fc2Fzcy1saXN0cy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL2hlbHBlcnMvX2NvbHVtbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9oZWxwZXJzL19zcGFuLXNoYXJlZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL2hlbHBlcnMvX2RpcmVjdGlvbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9oZWxwZXJzL19zb3J0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvaGVscGVycy9fYmFja2dyb3VuZC1ncmlkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvaGVscGVycy9fc3RyLXJlcGxhY2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9oZWxwZXJzL19sYXlvdXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9fbGFuZ3VhZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9sYW5ndWFnZS9fcGFyc2UtbGlzdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL2xhbmd1YWdlL19wYXJzZS1hZGQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9sYW5ndWFnZS9fc3Bhbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL19tYXRoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvbWF0aC9fY29sdW1ucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL21hdGgvX2d1dHRlcnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9tYXRoL19jb250ZXh0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvbWF0aC9fZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL19ncmlkcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL2dyaWRzL19hZGQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9ncmlkcy9fZmluZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL19ndXR0ZXJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvZ3V0dGVycy9fYWRkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvZ3V0dGVycy9fZmluZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL19ndXR0ZXItc3R5bGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvZ3V0dGVyLXN0eWxlcy9fYWRkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvZ3V0dGVyLXN0eWxlcy9fZmluZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL2d1dHRlci1zdHlsZXMvX2hlbHBlcnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc2luZ3VsYXJpdHkvc3R5bGVzaGVldHMvc2luZ3VsYXJpdHlncy9fYXBpLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvYXBpL19mbG9hdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zaW5ndWxhcml0eS9zdHlsZXNoZWV0cy9zaW5ndWxhcml0eWdzL2FwaS9faXNvbGF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3MvYXBpL19jYWxjLnNjc3MiLCJnbG9iYWwvcmVzZXQvX2JveC1tb2RlbC5zY3NzIiwiZ2xvYmFsL3Jlc2V0L19ub3JtYWxpemUuc2NzcyIsImdsb2JhbC9yZXNldC9fdHlwby1yZXNldC5zY3NzIiwiZ2xvYmFsL3Jlc2V0L19kcnVwYWwtc3BlY2lmaWMuc2NzcyIsImdsb2JhbC9yZXNldC9fZHJ1cGFsLXNwZWNpZmljLXJ0bC5zY3NzIiwiZ2xvYmFsL2JyZWFrcG9pbnQvX2JyZWFrcG9pbnQtdmFyaWFibGVzLnNjc3MiLCJnbG9iYWwvYnJlYWtwb2ludC9fYnJlYWtwb2ludC1oZWxwZXIuc2NzcyIsImdsb2JhbC9ncmlkL19ncmlkLWhlbHBlci5zY3NzIiwiZ2xvYmFsL2dyaWQvX2dyaWQtdmFyaWFibGVzLnNjc3MiLCJnbG9iYWwvZ3JpZC9fZ3JpZC1kZWZpbml0aW9uLnNjc3MiLCJnbG9iYWwvY29sb3JzL19jb2xvci12YXJpYWJsZXMuc2NzcyIsImdsb2JhbC9pY29uL19pY29uLWhlbHBlci5zY3NzIiwiLi4vYnVpbGQvZm9udHMvemJsX2N1c3RvbV9pY29uZm9udC9femJsX2N1c3RvbV9pY29uZm9udC5zY3NzIiwiLi4vYnVpbGQvZm9udHMvemJsX2xpbmVhcl9pY29uZm9udC9femJsX2xpbmVhcl9pY29uZm9udC5zY3NzIiwiZ2xvYmFsL3R5cG8vX3R5cG8tZGVmaW5pdGlvbi5zY3NzIiwiZ2xvYmFsL3R5cG8vX2N1c3RvbS1mb250cy5zY3NzIiwiZ2xvYmFsL3R5cG8vX3R5cG8tdmFyaWFibGVzLnNjc3MiLCJnbG9iYWwvdHlwby9fdHlwby1oZWxwZXIuc2NzcyIsImdsb2JhbC9vdGhlci1oZWxwZXJzL19mdWxsLXNpemUtbGluay5zY3NzIiwiZ2xvYmFsL290aGVyLWhlbHBlcnMvX2hpZGUtdGV4dC5zY3NzIiwiZ2xvYmFsL290aGVyLWhlbHBlcnMvX3RoZW1lLXNwZWNpZmljLnNjc3MiLCJnbG9iYWwvb3RoZXItaGVscGVycy9fbGFuZ3VhZ2Utc3BlY2lmaWMuc2NzcyIsImdsb2JhbC9vdGhlci1oZWxwZXJzL19jbGVhcmZpeC5zY3NzIiwiZ2xvYmFsL290aGVyLWhlbHBlcnMvX2NlbnRlcmVkLWxpbmtzLnNjc3MiLCJnbG9iYWwvb3RoZXItaGVscGVycy9fYWJicmV2aWF0ZS10ZXh0LnNjc3MiLCJnbG9iYWwvZGVidWcvX2RlYnVnLWdyaWQtYmFja2dyb3VuZC5zY3NzIiwiZ2xvYmFsL2RlYnVnL19kZWJ1Zy5zY3NzIiwiX2Jhc2Uuc2NzcyIsIl9vYmplY3RzLnNjc3MiLCJsYXlvdXRzL19kZWZhdWx0LXNpdGUtdGVtcGxhdGUuc2NzcyIsImxheW91dHMvX3NlY3Rpb24tbGF5b3V0cy5zY3NzIiwibGF5b3V0cy9fc2VjdGlvbi10aGVtZXMuc2NzcyIsImxheW91dHMvX2NvbnRlbnQtc2VjdGlvbi1tYXJnaW5zLnNjc3MiLCJsYXlvdXRzL19zbWFsbC1zZXRjYXJkLWxpc3RzLnNjc3MiLCJsYXlvdXRzL3BhcmFncmFwaHMtbGF5b3V0cy8xLWNvbC9fbC1tZWRpYS5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMS1jb2wvX2wtdGV4dC5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMS1jb2wvZXhhbXBsZXMvX21lZGlhLnNjc3MiLCJsYXlvdXRzL3BhcmFncmFwaHMtbGF5b3V0cy8xLWNvbC9leGFtcGxlcy9fdGV4dC5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMS1jb2wvZXhhbXBsZXMvX3RleHQtaGVhZGluZy5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMS1jb2wvZXhhbXBsZXMvX3RleHQtcXVvdGUuc2NzcyIsImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL19sLWhhbGYtbWVkaWEuc2NzcyIsImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL19sLWhhbGYtdGV4dC5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvX21lZGlhX19tZWRpYS5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvX21lZGlhX19ub3RoaW5nLnNjc3MiLCJsYXlvdXRzL3BhcmFncmFwaHMtbGF5b3V0cy8yLWNvbC9leGFtcGxlcy9fbWVkaWFfX3RleHQuc2NzcyIsImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2V4YW1wbGVzL19ub3RoaW5nX19tZWRpYS5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvX25vdGhpbmdfX3RleHQuc2NzcyIsImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2V4YW1wbGVzL190ZXh0X19tZWRpYS5zY3NzIiwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvX3RleHRfX25vdGhpbmcuc2NzcyIsImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2V4YW1wbGVzL190ZXh0X190ZXh0LnNjc3MiLCJjb21wb25lbnRzL19odG1sLnNjc3MiLCJjb21wb25lbnRzL19ib2R5LnNjc3MiLCJjb21wb25lbnRzL19yaWNodGV4dC5zY3NzIiwiY29tcG9uZW50cy9faGVhZGluZy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19tYXBzLnNjc3MiLCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvX2FsbC1pbnB1dHMuc2NzcyIsImNvbXBvbmVudHMvZm9ybS1lbGVtZW50cy9fY2hlY2tib3gtaW5wdXRzLnNjc3MiLCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvX3JhZGlvLWlucHV0cy5zY3NzIiwiY29tcG9uZW50cy9mb3JtLWVsZW1lbnRzL19zZWxlY3QtaW5wdXRzLnNjc3MiLCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvX3RleHQtaW5wdXRzLnNjc3MiLCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvX3RleHRhcmVhLWlucHV0cy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fbmV3c2xldHRlci1mb3JtLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19lbnF1aXJlLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2NvbnRhY3QtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fbG9naW4tZm9ybS5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fZmlsdGVyLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX3Rocm9iYmVyLnNjc3MiLCJjb21wb25lbnRzL19pbWFnZWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX2xvZ28uc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19tZW51LnNjc3MiLCJjb21wb25lbnRzL2hlYWRlci9fcGhvbmUuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19idXJnZXIuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyL19oZWFkZXItbW9iaWxlLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9fZm9vdGVyLXRvcC5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci1ib3R0b20uc2NzcyIsImNvbXBvbmVudHMvcHJvcGVydHktdGVhc2VyL19wcm9wZXJ0eS10ZWFzZXItLWluZm9ib3guc2NzcyIsImNvbXBvbmVudHMvcHJvcGVydHktdGVhc2VyL19wcm9wZXJ0eS10ZWFzZXItbGFyZ2Uuc2NzcyIsImNvbXBvbmVudHMvcHJvcGVydHktdGVhc2VyL19wcm9wZXJ0eS10ZWFzZXItbWVkaXVtLnNjc3MiLCJjb21wb25lbnRzL3Byb3BlcnR5LXRlYXNlci9fcHJvcGVydHktdGVhc2VyLXNtYWxsLnNjc3MiLCJjb21wb25lbnRzL3Byb3BlcnR5LXRlYXNlci9fcHJvcGVydHktdGVhc2VyLTRjb2wuc2NzcyIsImNvbXBvbmVudHMvX2V4YW1wbGUtdW5pdHMuc2NzcyIsImNvbXBvbmVudHMvX3pibC1wcm9wZXJ0aWVzLWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL192aWV3LWZpbHRlcnMuc2NzcyIsImNvbXBvbmVudHMvX25ld3MtdGVhc2VyLnNjc3MiLCJjb21wb25lbnRzL19ibG9nLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy9fYXdhcmRzLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy9fYWZmaWxpYXRpb25zLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy9faGlzdG9yeS1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19jdXJyZW5jeS1zd2l0Y2hlci5zY3NzIiwiY29tcG9uZW50cy9fc29jaWFsLWljb25zLnNjc3MiLCJjb21wb25lbnRzL19sYW5ndWFnZS1zd2l0Y2guc2NzcyIsImNvbXBvbmVudHMvZW1wbG95ZWVzL19lbXBsb3llZS10ZWFzZXIuc2NzcyIsImNvbXBvbmVudHMvZW1wbG95ZWVzL19lbXBsb3llZS1ncm91cHMuc2NzcyIsImNvbXBvbmVudHMvZW1wbG95ZWVzL19lbXBsb3llZS1kZXRhaWwuc2NzcyIsImNvbXBvbmVudHMvX2dsb3NzYXJ5LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX3BvaS5zY3NzIiwiY29tcG9uZW50cy9fdGVhc2VyLWFib3V0LXphYmVsLnNjc3MiLCJjb21wb25lbnRzL190ZWFzZXItZW5xdWlyZS1ub3cuc2NzcyIsImNvbXBvbmVudHMvX3Byb3BlcnR5LWZpbHRlci10cmlnZ2VyLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS1maWx0ZXItb3ZlcmxheS5zY3NzIiwiY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLW5vdWkuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2VyLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS1ncm91cC5zY3NzIiwiY29tcG9uZW50cy9fc2hvd3Jvb20uc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLWdhbGxlcnktY29sdW1ucy5zY3NzIiwiY29tcG9uZW50cy9fbWFpbGNoaW1wLnNjc3MiLCJjb21wb25lbnRzL19mcm9udC1wYWdlLS1zbGlkZXNob3cuc2NzcyIsInBhZ2VzL19mcm9udC1wYWdlLnNjc3MiLCJwYWdlcy9fcHJvcGVydHktZGV0YWlsLnNjc3MiLCJwYWdlcy9fcHJvcGVydHktZGV0YWlsLWxwLnNjc3MiLCJwYWdlcy9fcGFuZWxpemVkLW5vZGUtcGFnZXMuc2NzcyIsInBhZ2VzL19wYWdlLnNjc3MiLCJwYWdlcy9fcHJvcGVydGllcy1wYWdlLnNjc3MiLCJwYWdlcy9fY2FzZS1zdHVkeS1kZXRhaWwuc2NzcyIsInBhZ2VzL19jb250YWN0LXBhZ2Uuc2NzcyIsInBhZ2VzL19icm9jaHVyZS1wYWdlLnNjc3MiLCJwYWdlcy9fbGFuZGluZ3BhZ2VzLnNjc3MiLCJwYWdlcy9fZ2xvc3NhcnktcGFnZS5zY3NzIiwicGFnZXMvX2Jsb2ctZGV0YWlsLnNjc3MiLCJwYWdlcy9fcGFydG5lci1wcm9wZXJ0aWVzLnNjc3MiLCJwYWdlcy9fc2l0ZW1hcC5zY3NzIiwicGFnZXMvX2Vycm9yLXBhZ2VzLnNjc3MiLCJwYWdlcy9fcGFydG5lci1sb2dpbi5zY3NzIiwicGFnZXMvX2luLW1haW50ZW5hbmNlLnNjc3MiLCJwYWdlcy9fdGhhbmsteW91LXBhZ2VzLnNjc3MiLCJ2ZW5kb3Ivc2xpY2svX3NsaWNrLXRoZW1lLnNjc3MiLCJ2ZW5kb3IvZ2FsbGVyaWEvX2dhbGxlcmlhLWN1c3RvbS5zY3NzIiwidmVuZG9yL3NlbGVjdHJpYy9fanF1ZXJ5LnNlbGVjdHJpYy5zY3NzIiwiX2Nyb3NzYnJvd3Nlci1hZGp1c3RtZW50cy5zY3NzIiwiX3RlbXBmaXhlcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCb3dlclxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYm91cmJvblwiO1xuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnRcIjtcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL3Npbmd1bGFyaXR5L3N0eWxlc2hlZXRzL3Npbmd1bGFyaXR5Z3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdsb2JhbFxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFJlc2V0XG5AaW1wb3J0IFwiZ2xvYmFsL3Jlc2V0L2JveC1tb2RlbFwiO1xuQGltcG9ydCBcImdsb2JhbC9yZXNldC9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJnbG9iYWwvcmVzZXQvdHlwby1yZXNldFwiO1xuQGltcG9ydCBcImdsb2JhbC9yZXNldC9kcnVwYWwtc3BlY2lmaWNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvcmVzZXQvZHJ1cGFsLXNwZWNpZmljLXJ0bFwiO1xuXG4vLyBCcmVha3BvaW50XG5AaW1wb3J0IFwiZ2xvYmFsL2JyZWFrcG9pbnQvYnJlYWtwb2ludC12YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvYnJlYWtwb2ludC9icmVha3BvaW50LWhlbHBlclwiO1xuXG4vLyBHcmlkXG5AaW1wb3J0IFwiZ2xvYmFsL2dyaWQvZ3JpZC1oZWxwZXJcIjtcbkBpbXBvcnQgXCJnbG9iYWwvZ3JpZC9ncmlkLXZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImdsb2JhbC9ncmlkL2dyaWQtZGVmaW5pdGlvblwiO1xuXG4vLyBDb2xvcnNcbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzL2NvbG9yLXZhcmlhYmxlc1wiO1xuXG4vLyBJY29uc1xuQGltcG9ydCBcImdsb2JhbC9pY29uL2ljb24taGVscGVyXCI7XG5cbi8vIEljb25zZm9udHNcbkBpbXBvcnQgXCIuLi9idWlsZC9mb250cy96YmxfY3VzdG9tX2ljb25mb250L3pibF9jdXN0b21faWNvbmZvbnRcIjtcbkBpbXBvcnQgXCIuLi9idWlsZC9mb250cy96YmxfbGluZWFyX2ljb25mb250L3pibF9saW5lYXJfaWNvbmZvbnRcIjtcblxuLy8gVHlwb1xuQGltcG9ydCBcImdsb2JhbC90eXBvL3R5cG8tZGVmaW5pdGlvblwiO1xuQGltcG9ydCBcImdsb2JhbC90eXBvL2N1c3RvbS1mb250c1wiO1xuQGltcG9ydCBcImdsb2JhbC90eXBvL3R5cG8tdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3R5cG8vdHlwby1oZWxwZXJcIjtcblxuLy8gT3RoZXIgaGVscGVyc1xuQGltcG9ydCBcImdsb2JhbC9vdGhlci1oZWxwZXJzL2Z1bGwtc2l6ZS1saW5rXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL290aGVyLWhlbHBlcnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL290aGVyLWhlbHBlcnMvdGhlbWUtc3BlY2lmaWNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvb3RoZXItaGVscGVycy9sYW5ndWFnZS1zcGVjaWZpY1wiO1xuQGltcG9ydCBcImdsb2JhbC9vdGhlci1oZWxwZXJzL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL290aGVyLWhlbHBlcnMvY2VudGVyZWQtbGlua3NcIjtcbkBpbXBvcnQgXCJnbG9iYWwvb3RoZXItaGVscGVycy9hYmJyZXZpYXRlLXRleHRcIjtcblxuLy8gRGVidWdcbkBpbXBvcnQgXCJnbG9iYWwvZGVidWcvZGVidWctZ3JpZC1iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2RlYnVnL2RlYnVnXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCYXNlXG4vLyAodGFncydzIHN0eWxlcylcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYmFzZVwiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gT2JqZWN0c1xuLy8gKGNvbW1vbiBjb21wb25lbnRzKVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJvYmplY3RzXCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIExheW91dHNcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImxheW91dHMvZGVmYXVsdC1zaXRlLXRlbXBsYXRlXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9zZWN0aW9uLWxheW91dHNcIjtcbkBpbXBvcnQgXCJsYXlvdXRzL3NlY3Rpb24tdGhlbWVzXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9jb250ZW50LXNlY3Rpb24tbWFyZ2luc1wiO1xuQGltcG9ydCBcImxheW91dHMvc21hbGwtc2V0Y2FyZC1saXN0c1wiO1xuXG5AaW1wb3J0IFwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMS1jb2wvbC1tZWRpYVwiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzEtY29sL2wtdGV4dFwiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzEtY29sL2V4YW1wbGVzL21lZGlhXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMS1jb2wvZXhhbXBsZXMvdGV4dFwiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzEtY29sL2V4YW1wbGVzL3RleHQtaGVhZGluZ1wiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzEtY29sL2V4YW1wbGVzL3RleHQtcXVvdGVcIjtcblxuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2wtaGFsZi1tZWRpYVwiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2wtaGFsZi10ZXh0XCI7XG5AaW1wb3J0IFwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvbWVkaWFfX21lZGlhXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvbWVkaWFfX25vdGhpbmdcIjtcbkBpbXBvcnQgXCJsYXlvdXRzL3BhcmFncmFwaHMtbGF5b3V0cy8yLWNvbC9leGFtcGxlcy9tZWRpYV9fdGV4dFwiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2V4YW1wbGVzL25vdGhpbmdfX21lZGlhXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvbm90aGluZ19fdGV4dFwiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2V4YW1wbGVzL3RleHRfX21lZGlhXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9wYXJhZ3JhcGhzLWxheW91dHMvMi1jb2wvZXhhbXBsZXMvdGV4dF9fbm90aGluZ1wiO1xuQGltcG9ydCBcImxheW91dHMvcGFyYWdyYXBocy1sYXlvdXRzLzItY29sL2V4YW1wbGVzL3RleHRfX3RleHRcIjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29tcG9uZW50c1xuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiY29tcG9uZW50cy9odG1sXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ib2R5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9yaWNodGV4dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGluZ1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYXBzXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvYWxsLWlucHV0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybS1lbGVtZW50cy9jaGVja2JveC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvcmFkaW8taW5wdXRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3JtLWVsZW1lbnRzL3NlbGVjdC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tZWxlbWVudHMvdGV4dGFyZWEtaW5wdXRzXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL25ld3NsZXR0ZXItZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXMvZW5xdWlyZS1mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtcy9jb250YWN0LWZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL2xvZ2luLWZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zL2ZpbHRlci1mb3JtXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL3Rocm9iYmVyXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2ltYWdlaGVhZGVyXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlci9oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlci9sb2dvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXIvbWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyL3Bob25lXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXIvYnVyZ2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLW1vYmlsZVwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXIvZm9vdGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLXRvcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1ib3R0b21cIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvcGVydHktdGVhc2VyL3Byb3BlcnR5LXRlYXNlci0taW5mb2JveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvcGVydHktdGVhc2VyL3Byb3BlcnR5LXRlYXNlci1sYXJnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvcGVydHktdGVhc2VyL3Byb3BlcnR5LXRlYXNlci1tZWRpdW1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb3BlcnR5LXRlYXNlci9wcm9wZXJ0eS10ZWFzZXItc21hbGxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb3BlcnR5LXRlYXNlci9wcm9wZXJ0eS10ZWFzZXItNGNvbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZXhhbXBsZS11bml0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvemJsLXByb3BlcnRpZXMtYmxvY2tcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvdmlldy1maWx0ZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uZXdzLXRlYXNlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvZy10ZWFzZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2F3YXJkcy10ZWFzZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FmZmlsaWF0aW9ucy10ZWFzZXJcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvaGlzdG9yeS1pdGVtXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2N1cnJlbmN5LXN3aXRjaGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zb2NpYWwtaWNvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaFwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9lbXBsb3llZXMvZW1wbG95ZWUtdGVhc2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9lbXBsb3llZXMvZW1wbG95ZWUtZ3JvdXBzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9lbXBsb3llZXMvZW1wbG95ZWUtZGV0YWlsXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2dsb3NzYXJ5LWl0ZW1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BvaVwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy90ZWFzZXItYWJvdXQtemFiZWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RlYXNlci1lbnF1aXJlLW5vd1wiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcm9wZXJ0eS1maWx0ZXItdHJpZ2dlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvcGVydHktZmlsdGVyLW92ZXJsYXlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3JhbmdlLXNsaWRlci1ub3VpXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdlclwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcm9wZXJ0eS1ncm91cFwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaG93cm9vbVwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbWFnZS1nYWxsZXJ5LWNvbHVtbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21haWxjaGltcFwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9mcm9udC1wYWdlLS1zbGlkZXNob3dcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFBhZ2VzXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJwYWdlcy9mcm9udC1wYWdlXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvcGVydHktZGV0YWlsXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvcGVydHktZGV0YWlsLWxwXCI7XG5AaW1wb3J0IFwicGFnZXMvcGFuZWxpemVkLW5vZGUtcGFnZXNcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvcGVydGllcy1wYWdlXCI7XG5AaW1wb3J0IFwicGFnZXMvY2FzZS1zdHVkeS1kZXRhaWxcIjtcbkBpbXBvcnQgXCJwYWdlcy9jb250YWN0LXBhZ2VcIjtcbkBpbXBvcnQgXCJwYWdlcy9icm9jaHVyZS1wYWdlXCI7XG5AaW1wb3J0IFwicGFnZXMvbGFuZGluZ3BhZ2VzXCI7XG5AaW1wb3J0IFwicGFnZXMvZ2xvc3NhcnktcGFnZVwiO1xuQGltcG9ydCBcInBhZ2VzL2Jsb2ctZGV0YWlsXCI7XG5AaW1wb3J0IFwicGFnZXMvcGFydG5lci1wcm9wZXJ0aWVzXCI7XG5AaW1wb3J0IFwicGFnZXMvc2l0ZW1hcFwiO1xuQGltcG9ydCBcInBhZ2VzL2Vycm9yLXBhZ2VzXCI7XG5AaW1wb3J0IFwicGFnZXMvcGFydG5lci1sb2dpblwiO1xuQGltcG9ydCBcInBhZ2VzL2luLW1haW50ZW5hbmNlXCI7XG5AaW1wb3J0IFwicGFnZXMvdGhhbmsteW91LXBhZ2VzXCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFZlbmRvclxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL0BpbXBvcnQgXCJ2ZW5kb3Ivc2xpY2svc2xpY2tcIjtcbkBpbXBvcnQgXCJ2ZW5kb3Ivc2xpY2svc2xpY2stdGhlbWVcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvZ2FsbGVyaWEvZ2FsbGVyaWEtY3VzdG9tXCI7XG5AaW1wb3J0IFwidmVuZG9yL3NlbGVjdHJpYy9qcXVlcnkuc2VsZWN0cmljXCI7XG5cblxuQGltcG9ydCBcImNyb3NzYnJvd3Nlci1hZGp1c3RtZW50c1wiO1xuQGltcG9ydCBcInRlbXBmaXhlc1wiO1xuIiwiLy8gQm91cmJvbiA0LjIuN1xuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcblxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkbmV3LXByb3BzOiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KSB7XG4gICRvZmZzZXQ6IG51bGw7XG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHVuaXQtbG9uZzogICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcbiAgICAgICgkdW5pdC1sb25nID09IFwidHVyblwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xuICB9XG5cbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIiwgLTkwICogMywgMS42cmFkKTtcbiAgfVxuXG4gIEBpZiAkb2Zmc2V0IHtcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcblxuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XG4gICRoYXMtYW5nbGU6IGlzLW51bWJlcihzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgMSkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHRvcCwgYm90dG9tLCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XG59XG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDEsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxyXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XHJcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICAgIH1cclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQ6Oi1tb3otc2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xyXG4gIEBpZiAkY3VycmVudC1zZWxlY3RvciB7XHJcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJHZhbHVlKSB7XG4vLyA8dGV4dC1kZWNvcmF0aW9uLWxpbmU+IHx8IDx0ZXh0LWRlY29yYXRpb24tc3R5bGU+IHx8IDx0ZXh0LWRlY29yYXRpb24tY29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbiwgJHZhbHVlLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWxpbmUoJGxpbmU6IG5vbmUpIHtcbi8vIG5vbmUgfHwgdW5kZXJsaW5lIHx8IG92ZXJsaW5lIHx8IGxpbmUtdGhyb3VnaFxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tbGluZSwgJGxpbmUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tc3R5bGUoJHN0eWxlOiBzb2xpZCkge1xuLy8gc29saWQgfHwgZG91YmxlIHx8IGRvdHRlZCB8fCBkYXNoZWQgfHwgd2F2eVxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tc3R5bGUsICRzdHlsZSwgbW96IHdlYmtpdCk7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tY29sb3IoJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbi8vIGN1cnJlbnRDb2xvciB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1jb2xvciwgJGNvbG9yLCBtb3opO1xufVxuIiwiQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDx0cmFuc2Zvcm0tZnVuY3Rpb24+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgJHByb3BlcnR5LCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRheGVzOiA1MCUpIHtcbiAgLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbiAgLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbiAgLy8gei1heGlzIC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYXhlcywgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwid2Via2l0XCIpO1xuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWU6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItbGVmdC1jb2xvcjogI2U4YWUxYTtcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNzZjZDljO1xuLy8vICAgICBib3JkZXItdG9wLWNvbG9yOiAjYTYwYjU1O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLWNvbG9yYFxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggY29ybmVycyBvbiB0aGUgc2lkZSBvZiBhIGJveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaWlcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDVweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygzcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuLy8vICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1yYWRpdXNgXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZGFzaGVkIG51bGwgc29saWQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXN0eWxlYFxuXG5AbWl4aW4gYm9yZGVyLXN0eWxlKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci13aWR0aGAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXdpZHRoKDFlbSBudWxsIDIwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMHB4O1xuLy8vICAgICBib3JkZXItdG9wLXdpZHRoOiAxZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItd2lkdGhgXG5cbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIGJ1dHRvbnMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLWJ1dHRvbnN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLWJ1dHRvbnN9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtZm9jdXN9LFxuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtYWN0aXZlfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBidXR0b24sXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuLy8vICAgYnV0dG9uOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGRvdWJsZSBhc3NpZ25lZCB2YXJpYWJsZXMgKExpbmVzIDU54oCTNjIpIGluIHY1LjAuMFxuXG4kYnV0dG9ucy1saXN0OiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicmVzZXRcIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nO1xuXG4kYWxsLWJ1dHRvbnM6ICAgICAgICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QpO1xuJGFsbC1idXR0b25zLWFjdGl2ZTogYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBhY3RpdmUpO1xuJGFsbC1idXR0b25zLWZvY3VzOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBmb2N1cyk7XG4kYWxsLWJ1dHRvbnMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGhvdmVyKTtcblxuJGFsbC1idXR0b24taW5wdXRzOiAgICAgICAgJGFsbC1idXR0b25zO1xuJGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZTogJGFsbC1idXR0b25zLWFjdGl2ZTtcbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogICRhbGwtYnV0dG9ucy1mb2N1cztcbiRhbGwtYnV0dG9uLWlucHV0cy1ob3ZlcjogICRhbGwtYnV0dG9ucy1ob3ZlcjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcnVuY2F0ZXMgdGV4dCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB0byByZXByZXNlbnQgb3ZlcmZsb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsxMDAlXVxuLy8vICAgTWF4LXdpZHRoIGZvciB0aGUgc3RyaW5nIHRvIHJlc3BlY3QgYmVmb3JlIGJlaW5nIHRydW5jYXRlZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGVsbGlwc2lzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuLy8vICAgfVxuXG5AbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlb3JnaWEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGdlb3JnaWE6IFwiR2VvcmdpYVwiLCBcIkNhbWJyaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcblxuLy8vIEhlbHZldGljYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIlRhaG9tYVwiLCBcIlZlcmRhbmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTW9ub3NwYWNlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcblxuLy8vIFZlcmRhbmEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHZlcmRhbmE6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xuIiwiLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZS4gU29tZSBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZW1vdmUgaGVpZ2h0IGFyZ3VtZW50IGluIHY1LjAuMFxuXG5AbWl4aW4gaGlkZS10ZXh0KCRoZWlnaHQ6IG51bGwpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmICRoZWlnaHQge1xuICAgIEB3YXJuIFwiVGhlIGBoaWRlLXRleHRgIG1peGluIGhhcyBjaGFuZ2VkIGFuZCBubyBsb25nZXIgcmVxdWlyZXMgYSBoZWlnaHQuIFRoZSBoZWlnaHQgYXJndW1lbnQgd2lsbCBubyBsb25nZXIgYmUgYWNjZXB0ZWQgaW4gdjUuMC4wXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYG1hcmdpbmAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMTBweCAzZW0gMjB2aCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDIwdmg7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYG1hcmdpbmBcblxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBwYWRkaW5nYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nKDEydmggbnVsbCAxMHB4IDUlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4vLy8gICAgIHBhZGRpbmctbGVmdDogNSU7XG4vLy8gICAgIHBhZGRpbmctdG9wOiAxMnZoO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgcGFkZGluZ2BcblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge1Bvc2l0aW9ufSAkcG9zaXRpb24gW3JlbGF0aXZlXVxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGNvb3JkaW5hdGVzIFtudWxsIG51bGwgbnVsbCBudWxsXVxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBsZWZ0OiAxMGVtO1xuLy8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLy8gICAgIHRvcDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxuICApO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgVmFsdWUgdG8gdXNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwcmVmaXhlc1xuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXJhZGl1cywgMTBweCwgd2Via2l0IG1zIHNwZWMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itd2Via2l0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1taWNyb3NvZnRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW9wZXJhXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXG5cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW9wZXJhIHtcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNpemVcbi8vLyAgIEEgbGlzdCBvZiBhdCBtb3N0IDIgc2l6ZSB2YWx1ZXMuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgdmFsdWUgaW4gYCRzaXplYCBpdCBpcyB1c2VkIGZvciBib3RoIHdpZHRoIGFuZCBoZWlnaHQuIEFsbCB1bml0cyBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZShhdXRvIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMmVtO1xuLy8vICAgICBoZWlnaHQ6IDJlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IGF1dG87XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlZmFjdG9yIGluIDUuMC4wIHRvIHVzZSBhIGNvbW1hLXNlcGFyYXRlZCBhcmd1bWVudFxuXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcbiAgJHdpZHRoOiBudGgoJHZhbHVlLCAxKTtcbiAgJGhlaWdodDogJHdpZHRoO1xuXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJGhlaWdodCkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skd2lkdGh9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJHdpZHRoYCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VuZXJhdGVzIHZhcmlhYmxlcyBmb3IgYWxsIHRleHQtYmFzZWQgaW5wdXRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC10ZXh0LWlucHV0c31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfSxcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1ob3Zlcn0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4vLy8gICB0ZXh0YXJlYSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbi8vLyAgIHRleHRhcmVhOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmhvdmVyLFxuLy8vICAgdGV4dGFyZWE6aG92ZXIge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSxcbi8vLyAgIHRleHRhcmVhOmFjdGl2ZSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR0ZXh0LWlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibW9udGhcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZWxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInVybFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXQ6bm90KFt0eXBlXSknLFxuICAgICAgICAgICAgICAgICAgICd0ZXh0YXJlYSc7XG5cbiRhbGwtdGV4dC1pbnB1dHM6ICAgICAgICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0KTtcbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGZvY3VzKTtcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vL1xuLy8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW9lZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Jlc291cmNlcy9kZW1vcy9lZmZlY3QvZWFzaW5nLmh0bWxcbi8vL1xuLy8vIEB0eXBlIGN1YmljLWJlemllclxuXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsICAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGVhc2UtaW4tb3V0LWV4cG86ICBjdWJpYy1iZXppZXIoMS4wMDAsICAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBjaGFuZ2UgdGhlIGB3b3JkLXdyYXBgIHByb3BlcnR5LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3cmFwIFticmVhay13b3JkXVxuLy8vICAgVmFsdWUgZm9yIHRoZSBgd29yZC1icmVha2AgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgQGluY2x1ZGUgd29yZC13cmFwKGJyZWFrLXdvcmQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuLy8vICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLy8gICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbi8vLyAgIH1cblxuQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xuICBvdmVyZmxvdy13cmFwOiAkd3JhcDtcbiAgd29yZC13cmFwOiAkd3JhcDtcblxuICBAaWYgJHdyYXAgPT0gYnJlYWstd29yZCB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9IEBlbHNlIHtcbiAgICB3b3JkLWJyZWFrOiAkd3JhcDtcbiAgfVxufVxuIiwiLy8gVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IE1BSk9SIHZlcnNpb24gcmVsZWFzZVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIEB3YXJuIFwiVGhlIGlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBtaXhpbiBidXR0b24gKCRzdHlsZTogc2ltcGxlLCAkYmFzZS1jb2xvcjogIzQyOTRmMCwgJHRleHQtc2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkYmFzZS1jb2xvcjtcbiAgICAkdGV4dC1zaXplOiAkc3R5bGU7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gIzQyOTRmMCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICBAd2FybiBcIlRoZSBidXR0b24gbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBTZWxlY3RvciBTdHlsZSBCdXR0b25cbkBtaXhpbiBidXR0b25zdHlsZSgkdHlwZSwgJGItY29sb3IsICR0LXNpemUsICRwYWQpIHtcbiAgLy8gR3JheXNjYWxlIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHNoaW55IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gcGlsbCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gZmxhdCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICAvLyBDb2xvcmVkIGJ1dHRvblxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIHtcbiAgICBAaW5jbHVkZSBzaW1wbGUoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHNoaW55IHtcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gcGlsbCB7XG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gZmxhdCB7XG4gICAgQGluY2x1ZGUgZmxhdCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG59XG5cbi8vIFNpbXBsZSBCdXR0b25cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEzLCAkZ3JlZW46IC0xNSwgJGJsdWU6IC0xOCk7XG4gICAgJHNlY29uZC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC02NiwgJGdyZWVuOiAtNjIsICRibHVlOiAtNTEpO1xuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcbiAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAkZ3JlZW46IC04MCwgJGJsdWU6IC02Myk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCRmaXJzdC1zdG9wLWhvdmVyKTtcbiAgICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRzZWNvbmQtc3RvcC1ob3Zlcik7XG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XG4gICAgICAkZm91cnRoLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkZm91cnRoLXN0b3AtaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRmaXJzdC1zdG9wLWhvdmVyICAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kLXN0b3AtaG92ZXIgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlyZC1zdG9wLWhvdmVyICA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyIDEwMCUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBQaWxsIEJ1dHRvblxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNiwgICRzYXR1cmF0aW9uOiAtMi41JSwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDExLCAkc2F0dXJhdGlvbjogIDYlLCAgICRsaWdodG5lc3M6IC0zMSUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA1LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGdyYXlzY2FsZSgkYWN0aXZlLWNvbG9yKTtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbS1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCAzcHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBGbGF0IEJ1dHRvblxuQG1peGluIGZsYXQoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEZsZXhpYmxlIGdyaWRcbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xuXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3JpZCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIEZsZXhpYmxlIGd1dHRlclxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xuXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3V0dGVyIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG5cbiAgQHdhcm4gXCJUaGUgZ3JpZC13aWR0aCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBnb2xkZW4tcmF0aW8oJHZhbHVlLCAkaW5jcmVtZW50KSB7XG4gIEByZXR1cm4gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWUsICRyYXRpbzogJGdvbGRlbik7XG5cbiAgQHdhcm4gXCJUaGUgZ29sZGVuLXJhdGlvIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFBsZWFzZSB1c2UgdGhlIG1vZHVsYXItc2NhbGUgZnVuY3Rpb24sIGluc3RlYWQuXCI7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRib3gpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXNpemluZywgJGJveCwgd2Via2l0IG1veiBzcGVjKTtcblxuICBAd2FybiBcIlRoZSBib3gtc2l6aW5nIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIFRoaXMgcHJvcGVydHkgY2FuIG5vdyBiZSB1c2VkIHVuLXByZWZpeGVkLlwiO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFzIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludCwgJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCRzZXR0aW5nKSB7XG4gIEBpZiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludCwgJHNldHRpbmcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJyZWFrcG9pbnQtU2V0dGluZ3MsICRzZXR0aW5nKTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaWYgKHN0ci1pbmRleCgkc2V0dGluZywgJy0nKSBvciBzdHItaW5kZXgoJHNldHRpbmcsICdfJykpIGFuZCBzdHItaW5kZXgoJHNldHRpbmcsICcgJykgPT0gbnVsbCB7XG4gICAgQHdhcm4gXCJXb3JkcyBpbiBCcmVha3BvaW50IHNldHRpbmdzIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBub3QgZGFzaGVzIG9yIHVuZGVyc2NvcmVzLiBQbGVhc2UgcmVwbGFjZSBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzIGJldHdlZW4gd29yZHMgd2l0aCBzcGFjZXMuIFNldHRpbmdzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgdW50aWwgY2hhbmdlZC5cIjtcbiAgfVxuICAkYnJlYWtwb2ludDogbWFwLW1lcmdlKCRicmVha3BvaW50LCAoJHNldHRpbmc6ICR2YWx1ZSkpICFnbG9iYWw7XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgJGJyZWFrcG9pbnQtY2hhbmdlOiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBia3B0LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuQG1peGluIGJrcHQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVtb3ZlIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAxIHtcbiAgICAkc2V0dGluZ3M6IG50aCgkc2V0dGluZ3MsIDEpO1xuICB9XG5cbiAgQGVhY2ggJHNldHRpbmcgaW4gJHNldHRpbmdzIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLXJlbW92ZSgkYnJlYWtwb2ludCwgJHNldHRpbmcpICFnbG9iYWw7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn1cblxuQG1peGluIGJrcHQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIEJyZWFrcG9pbnQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpO1xuJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEhhcyBDb250ZXh0XG4vLyBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHlvdSBhcmUgaW5zaWRlIGEgQnJlYWtwb2ludCBxdWVyeVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIHtcbiAgQGlmIGxlbmd0aCgkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50KSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBHZXQgQ29udGV4dFxuLy8gJGZlYXR1cmU6IElucHV0IGZlYXR1cmUgdG8gZ2V0IGl0J3MgY3VycmVudCBNUSBjb250ZXh0LiBSZXR1cm5zIGZhbHNlIGlmIG5vIGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGZlYXR1cmUpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJGdldDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgLy8gU3BlY2lhbCBoYW5kbGluZyBvZiBuby1xdWVyeSBmcm9tIGdldCBzaWRlIHNvIC9mYWxzZS8gcHJlcGVuZHMgYXJlbid0IHJldHVybmVkXG4gICAgQGlmICRmZWF0dXJlID09ICduby1xdWVyeScge1xuICAgICAgQGlmIHR5cGUtb2YoJGdldCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJGdldCkgPiAxIGFuZCBudGgoJGdldCwgMSkgPT0gZmFsc2Uge1xuICAgICAgICAkZ2V0OiBudGgoJGdldCwgbGVuZ3RoKCRnZXQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkZ2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIGFuZCAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgIEByZXR1cm4gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSkge1xuICBAaWYgJHZhbHVlID09ICdtb25vY2hyb21lJyB7XG4gICAgJGZlYXR1cmU6ICdtb25vY2hyb21lJztcbiAgfVxuXG4gICRjdXJyZW50OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgQGlmICRjdXJyZW50IGFuZCBsZW5ndGgoJGN1cnJlbnQpID09ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgIEB3YXJuIFwiWW91IGhhdmUgYWxyZWFkeSBxdWVyaWVkIGFnYWluc3QgYCN7JGZlYXR1cmV9YC4gVW5leHBlY3RlZCB0aGluZ3MgbWF5IGhhcHBlbiBpZiB5b3UgcXVlcnkgYWdhaW5zdCB0aGUgc2FtZSBmZWF0dXJlIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIGBhbmRgIHF1ZXJ5LiBCcmVha3BvaW50IGlzIG92ZXJ3cml0aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgd2l0aCBgI3skdmFsdWV9YFwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICR2LWhvbGRlcjogKCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHYtaG9sZGVyOiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IC0gMSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHJlc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cyB7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBCYXNlIEVNc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSkge1xuICAkdmFsdWUtdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIFdpbGwgY29udmVydCByZWxhdGl2ZSBFTXMgaW50byByb290IEVNcy5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIGFuZCB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSA9PSAnbnVtYmVyJyBhbmQgJHZhbHVlLXVuaXQgPT0gJ2VtJyB7XG4gICAgJGJhc2UtdW5pdDogdW5pdChicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSk7XG5cbiAgICBAaWYgJGJhc2UtdW5pdCA9PSAncHgnIG9yICRiYXNlLXVuaXQgPT0gJyUnIG9yICRiYXNlLXVuaXQgPT0gJ2VtJyBvciAkYmFzZS11bml0ID09ICdwdCcge1xuICAgICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSAvIGJhc2UtY29udmVyc2lvbihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgKiAxZW07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICcje2JyZWFrcG9pbnQtZ2V0KFxcJ2Jhc2UgZm9udCBzaXplXFwnKX0gaXMgbm90IHNldCBpbiB2YWxpZCB1bml0cyBmb3IgZm9udCBzaXplISc7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkge1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIEBpZiAkdW5pdCA9PSAncHgnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDE2cHggKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJyUnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEwMCUgKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ2VtJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ3B0JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMnB0ICogMWVtO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbi8vICAgIEB3YXJuICdFdmVyeXRoaW5nIGlzIHRlcnJpYmxlISBXaGF0IGhhdmUgeW91IGRvbmU/ISc7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBtaW4vbWF4IHBhaXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2Utd2lkdGgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb2x1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4tbWF4KCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgc3RyaW5nIHZhbHVlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlczogICdvcmllbnRhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbHVtaW5vc2l0eSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiBicmVha3BvaW50LW1pbi1tYXgoJGl0ZW0pIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWluLSN7JGl0ZW19JyBvciAkZmVhdHVyZSA9PSAnbWF4LSN7JGl0ZW19JyB7XG4gICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBpcyBhIG1lZGlhIHR5cGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXM6ICAnYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyYWlsbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnZW1ib3NzZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFuZGhlbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvamVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc3BlZWNoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dic7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRtZWRpYSBpbiAkYnJlYWtwb2ludC1tZWRpYS10eXBlcyB7XG4gICAgQGlmICgkZmVhdHVyZSA9PSAkbWVkaWEpIG9yICgkZmVhdHVyZSA9PSAnbm90ICN7JG1lZGlhfScpIG9yICgkZmVhdHVyZSA9PSAnb25seSAjeyRtZWRpYX0nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIHN0YW5kIGFsb25lXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dyaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpIHtcbiAgJHJlc29sdXRpb25zOiAnZGV2aWNlLXBpeGVsLXJhdGlvJywgJ2Rwcic7XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgJHJlc29sdXRpb25zOiBhcHBlbmQoJHJlc29sdXRpb25zLCAncmVzb2x1dGlvbicpO1xuICB9XG5cbiAgQGVhY2ggJHJlc28gaW4gJHJlc29sdXRpb25zIHtcbiAgICBAaWYgaW5kZXgoJGZlYXR1cmUsICRyZXNvKSBvciBpbmRleCgkZmVhdHVyZSwgJ21pbi0jeyRyZXNvfScpIG9yIGluZGV4KCRmZWF0dXJlLCAnbWF4LSN7JHJlc299Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQYXJzZXIgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJwYXJzZXJzL3F1ZXJ5XCI7XG5AaW1wb3J0IFwicGFyc2Vycy9zaW5nbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL2RvdWJsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvdHJpcGxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9yZXNvbHV0aW9uXCI7XG5cbiRNZW1vLUV4aXN0czogZnVuY3Rpb24tZXhpc3RzKG1lbW8tZ2V0KSBhbmQgZnVuY3Rpb24tZXhpc3RzKG1lbW8tc2V0KTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50KCRxdWVyeSwgJGNvbnRleHRzLi4uKSB7XG4gICRydW46IHRydWU7XG4gICRyZXR1cm46ICgpO1xuXG4gIC8vIEdyYWIgdGhlIE1lbW8gT3V0cHV0IGlmIE1lbW9pemF0aW9uIGNhbiBiZSBhIHRoaW5nXG4gIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICRyZXR1cm46IG1lbW8tZ2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cyk7XG5cbiAgICBAaWYgJHJldHVybiAhPSBudWxsIHtcbiAgICAgICRydW46IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJE1lbW8tRXhpc3RzIG9yICRydW4ge1xuICAgIC8vIEludGVybmFsIFZhcmlhYmxlc1xuICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICRxdWVyeS1mYWxsYmFjazogZmFsc2U7XG4gICAgJHJldHVybjogKCk7XG5cbiAgICAvLyBSZXNlcnZlIEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRob2xkZXItY29udGV4dDogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjtcbiAgICAkaG9sZGVyLXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50O1xuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cblxuICAgIC8vIFRlc3QgdG8gc2VlIGlmIGl0J3MgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuICAgICRvci1saXN0OiBpZihsaXN0LXNlcGFyYXRvcigkcXVlcnkpID09ICdjb21tYScsIHRydWUsIGZhbHNlKTtcblxuXG4gICAgQGlmICgkb3ItbGlzdCA9PSBmYWxzZSBhbmQgYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSBmYWxzZSkge1xuICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICAgICAgJGxhc3Q6IG50aCgkcXVlcnksICRsZW5ndGgpO1xuICAgICAgJHF1ZXJ5LWZhbGxiYWNrOiBicmVha3BvaW50LW5vLXF1ZXJ5KCRsYXN0KTtcblxuICAgICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIHtcbiAgICAgICAgJGxlbmd0aDogJGxlbmd0aCAtIDE7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSB0cnVlKSB7XG4gICAgICAgICRtcTogKCk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkbXE6IGFwcGVuZCgkbXEsIG50aCgkcXVlcnksICRpKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkbXEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkcXVlcnktc3RyaW5nOiAkcXVlcnktc3RyaW5nICsgaWYoJGkgPT0gMSwgJycsICcsICcpICsgYnJlYWtwb2ludC1wYXJzZShudGgoJHF1ZXJ5LCAkaSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHJldHVybjogKCdxdWVyeSc6ICRxdWVyeS1zdHJpbmcsXG4gICAgICAgICdmYWxsYmFjayc6ICRxdWVyeS1mYWxsYmFjayxcbiAgICAgICAgJ2NvbnRleHQgaG9sZGVyJzogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcixcbiAgICAgICAgJ3F1ZXJ5IGNvdW50JzogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudFxuICAgICk7XG4gICAgQGlmIGxlbmd0aCgkY29udGV4dHMpID4gMCBhbmQgbnRoKCRjb250ZXh0cywgMSkgIT0gZmFsc2Uge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAkY29udGV4dC1tYXA6ICgpO1xuICAgICAgQGVhY2ggJGNvbnRleHQgaW4gJGNvbnRleHRzIHtcbiAgICAgICAgJGNvbnRleHQtbWFwOiBtYXAtbWVyZ2UoJGNvbnRleHQtbWFwLCAoJGNvbnRleHQ6IGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGNvbnRleHQpKSk7XG4gICAgICB9XG4gICAgICAkcmV0dXJuOiBtYXAtbWVyZ2UoJHJldHVybiwgKGNvbnRleHQ6ICRjb250ZXh0LW1hcCkpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG4gICAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgICAkaG9sZGVyOiBtZW1vLXNldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMsICRyZXR1cm4pO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZW5lcmFsIEJyZWFrcG9pbnQgUGFyc2VyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSkge1xuICAvLyBJbmNyZWFzZSBudW1iZXIgb2YgJ2FuZCcgcXVlcmllc1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50ICsgMSAhZ2xvYmFsO1xuXG4gIC8vIFNldCB1cCBNZWRpYSBUeXBlXG4gICRxdWVyeS1wcmludDogJyc7XG5cbiAgJGZvcmNlLWFsbDogKChicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSA9PSB0cnVlKSBhbmQgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgPT0gJ2FsbCcpKTtcbiAgJGVtcHR5LW1lZGlhOiB0cnVlO1xuICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgIT0gJ2FsbCcpIHtcbiAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcbiAgfVxuXG5cbiAgJHF1ZXJ5LXJlc29sdXRpb246IGZhbHNlO1xuXG4gICRxdWVyeS1ob2xkZXI6IGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KTtcblxuXG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggcGFyc2VkIG91dCBxdWVyeSBhbmQgd3JpdGUgaXQgdG8gJHF1ZXJ5LXByaW50XG4gICRmaXJzdDogdHJ1ZTtcblxuICBAZWFjaCAkZmVhdHVyZSBpbiAkcXVlcnktaG9sZGVyIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGZlYXR1cmUpO1xuXG4gICAgLy8gUGFyc2UgYSBzaW5nbGUgZmVhdHVyZVxuICAgIEBpZiAoJGxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBGZWF0dXJlIGlzIGN1cnJlbnRseSBhIGxpc3QsIGdyYWIgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgJGZlYXR1cmU6IG50aCgkZmVhdHVyZSwgMSk7XG5cbiAgICAgIC8vIE1lZGlhIFR5cGUgbXVzdCBieSBjb252ZW50aW9uIGJlIHRoZSBmaXJzdCBpdGVtLCBzbyBpdCdzIHNhZmUgdG8gZmxhdCBvdmVycmlkZSAkcXVlcnktcHJpbnQsIHdoaWNoIHJpZ2h0IG5vdyBzaG91bGQgb25seSBiZSB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpKSB7XG4gICAgICAgIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoJGZlYXR1cmUgIT0gJ2FsbCcpIHtcbiAgICAgICAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICRmZWF0dXJlO1xuICAgICAgICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG5cbiAgICAgICAgICAvLyBTZXQgQ29udGV4dFxuICAgICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1lZGlhLCAkcXVlcnktcHJpbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSBkb3VibGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSAhPSBmYWxzZSkge1xuICAgICAgICAkcXVlcnktcmVzb2x1dGlvbjogJGZlYXR1cmU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IG51bGw7XG4gICAgICAgIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsXG4gICAgICAgIC8vIHdlIGNoZWNrIHRvIHNlZSBpZiBvbmUgaXMgYSBzaW5nbGUtc3RyaW5nIHZhbHVlLFxuICAgICAgICAvLyB0aGVuIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICAgICAgICAkYWxwaGE6IG50aCgkZmVhdHVyZSwgMSk7XG4gICAgICAgICRiZXRhOiBudGgoJGZlYXR1cmUsIDIpO1xuICAgICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRhbHBoYSkgb3IgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRiZXRhKSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGFscGhhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGJldGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSB0cmlwbGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgQGlmICgkcXVlcnktcmVzb2x1dGlvbiAhPSBmYWxzZSkge1xuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGZlYXR1cmUgdGhhdCdzIGJlZW4gZGV0ZWN0ZWQgc28gZmFyIGFuZCBhcHBlbmQgJ2ZhbHNlJyB0byB0aGUgdGhlIHZhbHVlIGxpc3QgdG8gaW5jcmVtZW50IHRoZWlyIGNvdW50ZXJzXG4gIEBlYWNoICRmLCAkdiBpbiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyIHtcbiAgICAkdi1ob2xkZXI6ICR2O1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBpZiBsZW5ndGgoJHYtaG9sZGVyKSA8ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICAgIEBpZiAkZiA9PSAnbWVkaWEnIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpIHtcbiAgLy8gUGFyc2UgZmVhdHVyZXMgb3V0IG9mIGFuIGluZGl2aWR1YWwgcXVlcnlcbiAgJGZlYXR1cmUtaG9sZGVyOiAoKTtcbiAgJHF1ZXJ5LWhvbGRlcjogKCk7XG4gICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCBhIHN0cmluZy9udW1iZXIsIG51bWJlci9zdHJpbmcsIGNoZWNrIHRvIHNlZSBpZiBpdCdzIGEgdmFsaWQgc3RyaW5nL251bWJlciBwYWlyIG9yIHR3byBzaW5nbGVzXG4gICAgQGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIG9yICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcblxuICAgICAgJG51bWJlcjogJyc7XG4gICAgICAkdmFsdWU6ICcnO1xuXG4gICAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMSk7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMik7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgdmFsdWUgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBjaGVjayB0byBzZWUgaWYgdGhlIG51bWJlciBwYXNzZWQgaW4gaXMgYSB2YWxpZCBpbnB1dCBmb3Igc2FpZCBzaW5nbGUgdmFsdWUuIEZvcnR1bmF0ZWx5LCBhbGwgY3VycmVudCBzaW5nbGUtdmFsdWUgb3B0aW9ucyBvbmx5IGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLCBzbyB0aGlzIGNoZWNrIGlzIGVhc3kuXG4gICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCR2YWx1ZSkge1xuICAgICAgICBAaWYgdW5pdGxlc3MoJG51bWJlcikge1xuICAgICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgYSBtZWRpYSB0eXBlLCBzcGxpdCB0aGUgcXVlcnlcbiAgICAgIEBpZiBicmVha3BvaW50LWlzLW1lZGlhKCR2YWx1ZSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMikpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBJZiBpdCdzIG5vdCBhIHNpbmdsZSBmZWF0dXJlLCB3ZSdyZSBqdXN0IGdvaW5nIHRvIGFzc3VtZSBpdCdzIGEgcHJvcGVyIHN0cmluZy92YWx1ZSBwYWlyLCBhbmQgcm9sbCB3aXRoIGl0LlxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIG51bWJlcnMsIHdlIGFzc3VtZSBpdCdzIGEgZG91YmxlIGFuZCByb2xsIHdpdGggdGhhdFxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIHtcbiAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggc3RyaW5ncyBhbmQgbmVpdGhlciBhcmUgc2luZ2xlcywgd2Ugcm9sbCB3aXRoIHRoYXQuXG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgdGhyZWUgaXRlbXMgYW5kIG5vbmUgaXMgYSBsaXN0LCB3ZSBjaGVjayB0byBzZWVcbiAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMykpICE9ICdsaXN0JyB7XG4gICAgICAvLyBJZiBub25lIG9mIHRoZSBpdGVtcyBhcmUgc2luZ2xlIHN0cmluZyB2YWx1ZXMgYW5kIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgbWVkaWEgdmFsdWVzLCB3ZSdyZSBnb29kLlxuICAgICAgQGlmIChub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMykpKSBhbmQgICgobm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDMpKSkpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCRmZWF0dXJlLWhvbGRlciwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBsZXQncyBjaGVjayB0byBzZWUgaWYgdGhlIGZpcnN0IGl0ZW0gaXMgYSBtZWRpYSB0eXBlXG4gICAgICBAZWxzZSBpZiBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDIpLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgaXRlbSwgb3IgaWYgaXQncyBub3QgYSBzcGVjaWFsIGNhc2UgZG91YmxlIG9yIHRyaXBsZSwgd2UgY2FuIHNpbXBseSByZXR1cm4gdGhlIHF1ZXJ5LlxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ2xlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgZmVhdHVyZSB0aGF0IGNhbiBzdGFuZCBhbG9uZSwgd2UgbGV0IGl0XG4gIEBpZiAoYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSkge1xuICAgICRwYXJzZWQ6ICRmZWF0dXJlO1xuICAgIC8vIFNldCBDb250ZXh0XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICRmZWF0dXJlKTtcbiAgfVxuICAvLyBJZiBpdCdzIG5vdCBhIHN0YW5kIGFsb25lIGZlYXR1cmUsIHdlIHBhc3MgaXQgb2ZmIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJygnICsgJHBhcnNlZCArICcpJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZGVmYXVsdCwgJGZlYXR1cmUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIGFuZCAodHlwZS1vZigkZmVhdHVyZSkgPT0gJ251bWJlcicpIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3ticmVha3BvaW50LXRvLWJhc2UtZW0oJGZlYXR1cmUpfSc7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAjeyRmZWF0dXJlfSc7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHQtcGFpclwiO1xuQGltcG9ydCBcImRvdWJsZS9kb3VibGUtc3RyaW5nXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gICRmaXJzdDogbnRoKCRmZWF0dXJlLCAxKTtcbiAgJHNlY29uZDogbnRoKCRmZWF0dXJlLCAyKTtcblxuICAvLyBJZiB3ZSd2ZSBnb3QgdHdvIG51bWJlcnMsIHdlIGtub3cgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgcGFpciBiZWNhdXNlIHRoZXJlIGFyZSBubyBtZWRpYSBxdWVyaWVzIHRoYXQgaGFzIGEgbWVkaWEgZmVhdHVyZSB0aGF0IGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ251bWJlcicge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgdGhleSBhcmUgYm90aCBzdHJpbmdzLCB3ZSBzZW5kIGl0IHRocm91Z2ggdGhlIHN0cmluZyBwYXJzZXJcbiAgQGVsc2UgaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdzdHJpbmcnIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLCB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBwYWlyJyk7XG4gICRtaW46ICcnO1xuICAkbWF4OiAnJztcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRkZWZhdWx0fSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRkZWZhdWx0fSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRkZWZhdWx0fTogI3skbWlufSkgYW5kIChtYXgtI3skZGVmYXVsdH06ICN7JG1heH0pJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICAvLyBUZXN0IHRvIHNlZSB3aGljaCBpcyB0aGUgZmVhdHVyZSBhbmQgd2hpY2ggaXMgdGhlIHZhbHVlXG4gIEBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZpcnN0KSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQHJldHVybiAnKCN7JGZlYXR1cmV9OiAjeyR2YWx1ZX0pJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICR2YWx1ZTogYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSk7XG4gIH1cblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInRyaXBsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuXG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIHNlcGFyYXRlIHRoZSBzdHJpbmcgZmVhdHVyZXMgZnJvbSB0aGUgdmFsdWUgbnVtYmVyc1xuICAkc3RyaW5nOiBudWxsO1xuICAkbnVtYmVyczogbnVsbDtcbiAgQGVhY2ggJHZhbCBpbiAkZmVhdHVyZSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gc3RyaW5nIHtcbiAgICAgICRzdHJpbmc6ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRudW1iZXJzKSA9PSAnbnVsbCcge1xuICAgICAgICAkbnVtYmVyczogJHZhbDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcnM6IGFwcGVuZCgkbnVtYmVycywgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkc3RyaW5nLCBudGgoJG51bWJlcnMsIDEpLCBudGgoJG51bWJlcnMsIDIpKTtcblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xuXG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkZmVhdHVyZSwgJGZpcnN0LCAkc2Vjb25kKSB7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZmVhdHVyZX0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZmVhdHVyZX0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZmVhdHVyZX06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGZlYXR1cmV9OiAjeyRtYXh9KSc7XG59XG4iLCJAaW1wb3J0IFwicmVzb2x1dGlvbi9yZXNvbHV0aW9uXCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykgYW5kICRxdWVyeS1yZXNvbHV0aW9uIHtcbiAgICAkcmVzb2x1dGlvbnM6IGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcXVlcnktcmVzb2x1dGlvbik7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9ucyk7XG4gICAgJHF1ZXJ5LWhvbGRlcjogJyc7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgJHF1ZXJ5OiAnI3skcXVlcnktcHJpbnR9ICN7JGxlYWRlcn0je250aCgkcmVzb2x1dGlvbnMsICRpKX0nO1xuICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAkcXVlcnk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICcjeyRxdWVyeS1ob2xkZXJ9LCAjeyRxdWVyeX0nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmV0dXJuIHdpdGggYXR0YWNoZWQgcmVzb2x1dGlvblxuICAgIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xuICB9XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRyZXNvbHV0aW9uKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbik7XG5cbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgJGZlYXR1cmU6ICcnO1xuICAgICR2YWx1ZTogJyc7XG5cbiAgICAvLyBGaW5kIHdoaWNoIGlzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKG50aCgkcmVzb2x1dGlvbiwgMSkpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAxKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDIpO1xuICAgIH1cblxuICAgIC8vIERldGVybWluZSBtaW4vbWF4L3N0YW5kYXJkXG4gICAgQGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWluLXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21pbi0nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21heC1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtYXgtJztcbiAgICB9XG5cbiAgICAkc3RhbmRhcmQ6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZX0pJztcblxuICAgIC8vIElmIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggZHBweCxcbiAgICBAaWYgdW5pdCgkdmFsdWUpICE9ICdkcHB4JyB7XG4gICAgICAkYmFzZTogOTZkcGk7XG4gICAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdkcGNtJyB7XG4gICAgICAgICRiYXNlOiAyNDMuODRkcGNtO1xuICAgICAgfVxuICAgICAgLy8gV3JpdGUgb3V0IGZlYXR1cmUgdGVzdHNcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRmYWxsYmFjazogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlIC8gMWRwcHggKiA5NmRwaX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRmYWxsYmFjaywgc3BhY2UpO1xuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbm8tcXVlcnkoJHF1ZXJ5KSB7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gJ2xpc3QnIHtcbiAgICAka2V5d29yZDogbnRoKCRxdWVyeSwgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigka2V5d29yZCkgPT0gJ3N0cmluZycgYW5kICgka2V5d29yZCA9PSAnbm8tcXVlcnknIG9yICRrZXl3b3JkID09ICdubyBxdWVyeScgb3IgJGtleXdvcmQgPT0gJ2ZhbGxiYWNrJykge1xuICAgICAgQHJldHVybiBudGgoJHF1ZXJ5LCAyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCB0aGUgQnJlYWtwb2ludHMgdmFyaWFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiRCUkVBS1BPSU5UUzogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVzcG9uZC10byBBUEkgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHJlc3BvbmQtdG8oJGNvbnRleHQsICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID4gMCBhbmQgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1lc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gYWRkIGJyZWFrcG9pbnRzIGZvciByZXNwb25kLXRvLiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoKWAgdG8gYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KClgLiBUaGUgYGFkZC1icmVha3BvaW50KClgIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiO1xuICAgICRCUkVBS1BPSU5UUzogJGJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJEJSRUFLUE9JTlRTKSAhPSAnbWFwJyB7XG4gICAgLy8gSnVzdCBpbiBjYXNlIHNvbWVvbmUgd3JpdGVzIGdpYmJlcmlzaCB0byB0aGUgJGJyZWFrcG9pbnRzIHZhcmlhYmxlLlxuICAgIEB3YXJuIFwiWW91ciBicmVha3BvaW50cyBhcmVuJ3QgYSBtYXAhIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc251Z3VnL3Jlc3BvbmQtdG8jYXBpIGlmIHlvdSdkIGxpa2UgYSByZW1pbmRlciBvbiBob3cgdG8gdXNlIFJlc3BvbmQtdG9cIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpLCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEB3YXJuIFwiYCN7JGNvbnRleHR9YCBpc24ndCBhIGRlZmluZWQgYnJlYWtwb2ludCEgUGxlYXNlIGFkZCBpdCB1c2luZyBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludChgI3skY29udGV4dH1gLCAkdmFsdWUpO2BcIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZW4ndCBjcmVhdGVkIGFueSBicmVha3BvaW50cyB5ZXQhIE1ha2Ugc29tZSBhbHJlYWR5ISBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3NudWd1Zy9yZXNwb25kLXRvI2FwaSBpZiB5b3UnZCBsaWtlIGEgcmVtaW5kZXIgb24gaG93IHRvIHVzZSBSZXNwb25kLXRvXCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBZGQgQnJlYWtwb2ludCB0byBCcmVha3BvaW50c1xuLy8gVE9ETzogUmVtb3ZlIGZ1bmN0aW9uIGluIG5leHQgcmVsZWFzZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0LCAkb3ZlcndyaXRlOiBmYWxzZSkge1xuICAkb3V0cHV0OiAoJG5hbWU6ICRia3B0KTtcblxuICBAaWYgbGVuZ3RoKCRicmVha3BvaW50cykgPT0gMCB7XG4gICAgQHJldHVybiAkb3V0cHV0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgIEByZXR1cm4gJGJyZWFrcG9pbnRzO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkgb3IgJG92ZXJ3cml0ZSA9PSB0cnVlIHtcbiAgICAgIEByZXR1cm4gbWFwLW1lcmdlKCRicmVha3BvaW50cywgJG91dHB1dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJEJSRUFLUE9JTlRTKSA9PSAwIHtcbiAgICAkQlJFQUtQT0lOVFM6ICRvdXRwdXQgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJG5hbWUpIGFuZCAkb3ZlcndyaXRlICE9IHRydWUge1xuICAgICAgQHdhcm4gXCJZb3UgYWxyZWFkeSBoYXZlIGEgYnJlYWtwb2ludCBuYW1lZCBgI3skbmFtZX1gLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgYnJlYWtwb2ludCBuYW1lLCBvciBwYXNzIGluIGAkb3ZlcndyaXRlOiB0cnVlYCB0byBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIGJyZWFrcG9pbnQuXCI7XG4gICAgICAkQlJFQUtQT0lOVFM6ICRCUkVBS1BPSU5UUyAhZ2xvYmFsO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgb3IgJG92ZXJ3cml0ZSA9PSB0cnVlIHtcbiAgICAgICRCUkVBS1BPSU5UUzogbWFwLW1lcmdlKCRCUkVBS1BPSU5UUywgJG91dHB1dCkgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn0iLCJAbWl4aW4gbGVnYWN5LXNldHRpbmdzLXdhcm5pbmcge1xuICAkbGVnYWN5VmFyczogKFxuICAgICdkZWZhdWx0LW1lZGlhJzogJ2RlZmF1bHQgbWVkaWEnLFxuICAgICdkZWZhdWx0LWZlYXR1cmUnOiAnZGVmYXVsdCBmZWF0dXJlJyxcbiAgICAnZm9yY2UtbWVkaWEtYWxsJzogJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJyxcbiAgICAndG8tZW1zJzogJ3RvIGVtcycsXG4gICAgJ3Jlc29sdXRpb25zJzogJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsXG4gICAgJ25vLXF1ZXJpZXMnOiAnbm8gcXVlcmllcycsXG4gICAgJ25vLXF1ZXJ5LWZhbGxiYWNrcyc6ICdubyBxdWVyeSBmYWxsYmFja3MnLFxuICAgICdiYXNlLWZvbnQtc2l6ZSc6ICdiYXNlIGZvbnQgc2l6ZScsXG4gICAgJ2xlZ2FjeS1zeW50YXgnOiAnbGVnYWN5IHN5bnRheCdcbiAgKTtcblxuICBAZWFjaCAkbGVnYWN5LCAkbmV3IGluICRsZWdhY3lWYXJzIHtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC0nICsgJGxlZ2FjeSkge1xuICAgICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1zcGFjZSBjb2xsaXNpb25zLCB3ZSBoYXZlIHVwZGF0ZWQgdGhlIHdheSB0byBjaGFuZ2Ugc2V0dGluZ3MgZm9yIEJyZWFrcG9pbnQuIFBsZWFzZSBjaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBgJGJyZWFrcG9pbnQtI3skbGVnYWN5fToge3tzZXR0aW5nfX1gIHRvIGBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnI3skbmV3fScsIHt7c2V0dGluZ319KWAuIFZhcmlhYmxlIHNldHRpbmdzLCBhcyB3ZWxsIGFzIHRoaXMgd2FybmluZyB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIlxuICAgIH1cbiAgfTtcblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSGFuZCBjb3JyZWN0IGVhY2ggc2V0dGluZ1xuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhICE9IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IG1lZGlhJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlJykgYW5kICRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBmZWF0dXJlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IGZlYXR1cmUnLCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCcpIGFuZCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwgIT0gYnJlYWtwb2ludC1nZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScsICRicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtdG8tZW1zJykgYW5kICRicmVha3BvaW50LXRvLWVtcyAhPSBicmVha3BvaW50LWdldCgndG8gZW1zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0byBlbXMnLCAkYnJlYWtwb2ludC10by1lbXMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXJlc29sdXRpb25zJykgYW5kICRicmVha3BvaW50LXJlc29sdXRpb25zICE9IGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsICRicmVha3BvaW50LXJlc29sdXRpb25zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyaWVzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJpZXMgIT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJpZXMnLCAkYnJlYWtwb2ludC1uby1xdWVyaWVzKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MnKSBhbmQgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycsICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtYmFzZS1mb250LXNpemUnKSBhbmQgJGJyZWFrcG9pbnQtYmFzZS1mb250LXNpemUgIT0gYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdiYXNlIGZvbnQgc2l6ZScsICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4JykgYW5kICRicmVha3BvaW50LWxlZ2FjeS1zeW50YXggIT0gYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2xlZ2FjeSBzeW50YXgnLCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4KTtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kU2luZ3VsYXJpdHktU2V0dGluZ3M6IChcbiAgJ2dyaWRzJzogKC0xcHg6IDEyKSxcbiAgJ2d1dHRlcnMnOiAoLTFweDogLjI1KSxcbiAgJ2d1dHRlciBzdHlsZXMnOiAoLTFweDogJ29wcG9zaXRlJyksXG4gICdvdXRwdXQnOiAnaXNvbGF0aW9uJyxcbiAgJ2RpcmVjdGlvbic6ICdsdHInLFxuICAnbW9iaWxlIGZpcnN0JzogdHJ1ZSxcbiAgJ2luY2x1ZGUgYm9yZGVyIGJveCc6IGZhbHNlLFxuICAnaW5jbHVkZSBjbGVhcmZpeCc6IGZhbHNlLFxuICAnYmFja2dyb3VuZCBncmlkIGNvbG9yJzogY2hvY29sYXRlLFxuICAnYXN5bW1ldHJpYyBvdXRwdXQnOiAnaXNvbGF0aW9uJyxcbiAgJ2NhbGMgaW5jbHVkZSBtaW4td2lkdGgnOiB0cnVlLFxuICAnZGVidWcnOiBmYWxzZVxuKTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVc2VyIFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRzaW5ndWxhcml0eTogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IEdlbmVyYWwgSGVscGVyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ3VsYXJpdHlncy9oZWxwZXJzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IExhbmd1YWdlIEhlbHBlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInNpbmd1bGFyaXR5Z3MvbGFuZ3VhZ2VcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgTWF0aFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ3VsYXJpdHlncy9tYXRoXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IEdyaWQgSGVscGVyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ3VsYXJpdHlncy9ncmlkc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBHdXR0ZXJzIEhlbHBlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInNpbmd1bGFyaXR5Z3MvZ3V0dGVyc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBHdXR0ZXIgU3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJzaW5ndWxhcml0eWdzL2d1dHRlci1zdHlsZXNcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgQVBJc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ3VsYXJpdHlncy9hcGlcIjsiLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldHRpbmcgSGVscGVyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiaGVscGVycy9zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvZGUgSGVscGVyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiaGVscGVycy9maW5kXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zYXNzLWxpc3RzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zcGFuLXNoYXJlZFwiO1xuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc29ydFwiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVJIEhlbHBlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImhlbHBlcnMvYmFja2dyb3VuZC1ncmlkXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTGF5b3V0IEhlbHBlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImhlbHBlcnMvbGF5b3V0XCI7IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIYXMgU2V0dGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gc2dzLWhhcygkc2V0dGluZykge1xuICBAaWYgbWFwLWhhcy1rZXkoJHNpbmd1bGFyaXR5LCAkc2V0dGluZykge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gc2dzLWdldCgkc2V0dGluZykge1xuICBAaWYgc2dzLWhhcygkc2V0dGluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkc2luZ3VsYXJpdHksICRzZXR0aW5nKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRTaW5ndWxhcml0eS1TZXR0aW5ncywgJHNldHRpbmcpO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2V0IFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBzZ3Mtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGlmIChzdHItaW5kZXgoJHNldHRpbmcsICctJykgb3Igc3RyLWluZGV4KCRzZXR0aW5nLCAnXycpKSBhbmQgc3RyLWluZGV4KCRzZXR0aW5nLCAnICcpID09IG51bGwge1xuICAgIEB3YXJuIFwiV29yZHMgaW4gU2luZ3VsYXJpdHkgc2V0dGluZ3Mgc2hvdWxkIGJlIHNwYWNlcywgbm90IGRhc2hlcyBvciB1bmRlcnNjb3Jlcy4gUGxlYXNlIHJlcGxhY2UgZGFzaGVzIGFuZCB1bmRlcnNjb3JlcyBiZXR3ZWVuIHdvcmRzIHdpdGggc3BhY2VzLiBTZXR0aW5ncyB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkIHVudGlsIGNoYW5nZWQuXCI7XG4gIH1cbiAgJHNpbmd1bGFyaXR5OiBtYXAtbWVyZ2UoJHNpbmd1bGFyaXR5LCAoJHNldHRpbmc6ICR2YWx1ZSkpICFnbG9iYWw7XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIHNncy1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSkge1xuICAkc2dzLWNoYW5nZTogc2dzLXNldCgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIHNncy1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBzZ3MtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlbW92ZSBTZXR0aW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBzZ3MtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAxIHtcbiAgICAkc2V0dGluZ3M6IG50aCgkc2V0dGluZ3MsIDEpO1xuICB9XG5cbiAgQGVhY2ggJHNldHRpbmcgaW4gJHNldHRpbmdzIHtcbiAgICAkc2luZ3VsYXJpdHk6IG1hcC1yZW1vdmUoJHNpbmd1bGFyaXR5LCAkc2V0dGluZykgIWdsb2JhbDtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbkBtaXhpbiBzZ3MtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRzZ3MtcmVzZXQ6IHNncy1yZXNldCgkc2V0dGluZ3MpO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmluZCBPYmplY3QgS2V5c1xuLy9cbi8vIFJldHVybnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGZpbmQtb2JqZWN0LWtleXMoJGhheXN0YWNrKSB7XG4gICRLZXlzOiBtYXAta2V5cygkaGF5c3RhY2spO1xuICAkTGlzdDogKCk7XG4gIEBlYWNoICRLZXkgaW4gJEtleXMge1xuICAgIEBpZiAkS2V5ICE9IC0xcHgge1xuICAgICAgQGlmIHVuaXQoJEtleSkgPT0gJ2VtJyB7XG4gICAgICAgICRLZXk6ICRLZXkgLyAxZW0gKiAxNnB4O1xuICAgICAgfVxuICAgICAgJExpc3Q6IGFwcGVuZCgkTGlzdCwgJEtleSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gcXVpY2tzb3J0KCRMaXN0KTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBGaW5kIE9iamVjdFxuLy9cbi8vIEZpbmRzIHJlbGV2YW50IG9iamVjdFxuLy8gTXVzdCBiZSB1c2luZyBCcmVha3BvaW50IHRvIHdvcmsgcHJvcGVybHlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGZpbmQtb2JqZWN0KCRoYXlzdGFjaywgJHVzZXItb2JqZWN0OiBudWxsKSB7XG4gIC8vIElmIGEgdXNlciBvYmplY3QgaGFzIGJlZW4gcGFzc2VkIGluLCBieXBhc3MgdGhlIHdob2xlIGZ1bmN0aW9uIGFuZCBqdXN0IHJldHVybiB0aGF0IG9iamVjdC5cbiAgQGlmICR1c2VyLW9iamVjdCAhPSBudWxsIGFuZCAkdXNlci1vYmplY3QgIT0gZmFsc2Uge1xuICAgIEByZXR1cm4gJHVzZXItb2JqZWN0O1xuICB9XG5cbiAgJExlbmd0aDogbGVuZ3RoKCRoYXlzdGFjayk7XG4gICRNb2JpbGUtRmlyc3Q6IHNncy1nZXQoJ21vYmlsZSBmaXJzdCcpO1xuXG4gIC8vIEhheXN0YWNrIG11c3QgYmUgbWFwXG4gIEBpZiB0eXBlLW9mKCRoYXlzdGFjaykgIT0gJ21hcCcge1xuICAgIEB3YXJuIFwiREVQUkVDQVRJT046IEluIG9yZGVyIHRvIHJlbW92ZSBnbG9iYWwgdmFyaWFibGUgbmFtaW5nIGNvbmZsaWN0cywgU2luZ3VsYXJpdHkncyBzZXR0aW5ncyBoYXZlIGJlZW4gbW92ZWQgaW50byB0aGUgc2luZ2xlIGAkc2luZ3VsYXJpdHlgIHZhcmlhYmxlLiBQbGVhc2UgcmVmZXIgdG8gb3VyIGRvY3VtZW50YXRpb24gKGh0dHBzOi8vZ2l0aHViLmNvbS9UZWFtLVNhc3MvU2luZ3VsYXJpdHkvd2lraSkgb24gaG93IHRvIHVwZGF0ZSB5b3VyIHNldHRpbmdzLiBJbiB0aGUgbmV4dCB2ZXJzaW9uIG9mIFNpbmd1bGFyaXR5LCB0aGlzIHdhcm5pbmcgd2lsbCBiZSByZW1vdmVkLiAje250aCgkaGF5c3RhY2ssIDEpfSBoYXMgYmVlbiByZXR1cm5lZC5cIjtcbiAgICBAcmV0dXJuIG50aCgkaGF5c3RhY2ssIDEpO1xuICB9XG5cbiAgLy8gR3JhYiBCcmVha3BvaW50IENvbnRleHRcbiAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMoYnJlYWtwb2ludC1nZXQtY29udGV4dCkge1xuICAgIEB3YXJuIFwiUmVzcG9uc2l2ZSBjb250ZXh0cyByZXF1aXJlIEJyZWFrcG9pbnQgKGh0dHBzOi8vZ2l0aHViLmNvbS9UZWFtLVNhc3MvYnJlYWtwb2ludCkuIFBsZWFzZSBlbnN1cmUgdGhhdCBCcmVha3BvaW50IGlzIGltcG9ydGVkIGFuZCBhdmFpbGFibGUgZm9yIFNpbmd1bGFyaXR5IHRvIHVzZS4gRmlyc3QgaXRlbSB1c2VkLlwiO1xuICAgIEByZXR1cm4gbWFwLWdldCgkaGF5c3RhY2ssIC0xcHgpO1xuICB9XG4gIC8vIEdldCBCcmVha3BvaW50IENvbnRleHRzXG4gICRRdWVyeS1NaW46IGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJ21pbi13aWR0aCcpO1xuICAkUXVlcnktTWF4OiBicmVha3BvaW50LWdldC1jb250ZXh0KCdtYXgtd2lkdGgnKTtcblxuICBAaWYgbGVuZ3RoKCRRdWVyeS1NaW4pID09IDEge1xuICAgICRRdWVyeS1NaW46IG50aCgkUXVlcnktTWluLCAxKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJFF1ZXJ5LU1pbikgPiAxIHtcbiAgICBAd2FybiBcIlJlc3BvbnNpdmUgY29udGV4dHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIGBvcmAgcXVlcmllcyBhcyB3aGljaCBxdWVyeSB0byB1c2UgaXMgYW1iaWd1b3VzLiBQbGVhc2Ugb25seSB1c2Ugc2luZ2xlIGNvbnRleHQgcXVlcmllcy4gRGVmYXVsdCBjb250ZXh0IGlzIHVzZWQuXCI7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRoYXlzdGFjaywgLTFweCk7XG4gIH1cblxuXG4gIEBpZiAkTGVuZ3RoID4gMSB7XG4gICAgQGlmIGxlbmd0aCgkUXVlcnktTWF4KSA9PSAxIHtcbiAgICAgICRRdWVyeS1NYXg6IG50aCgkUXVlcnktTWF4LCAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbGVuZ3RoKCRRdWVyeS1NYXgpID4gMSB7XG4gICAgICBAd2FybiBcIlJlc3BvbnNpdmUgY29udGV4dHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIGBvcmAgcXVlcmllcyBhcyB3aGljaCBxdWVyeSB0byB1c2UgaXMgYW1iaWd1b3VzLiBQbGVhc2Ugb25seSB1c2Ugc2luZ2xlIGNvbnRleHQgcXVlcmllcy4gRGVmYXVsdCBjb250ZXh0IGlzIHVzZWQuXCI7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJGhheXN0YWNrLCAtMXB4KTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBubyBtaW4gb3IgbWF4IGNvbnRleHQsIHJldHVybiBmaXJzdCBpdGVtXG4gICAgQGlmICRRdWVyeS1NaW4gPT0gZmFsc2UgYW5kICRRdWVyeS1NYXggPT0gZmFsc2Uge1xuICAgICAgJFJFVFVSTjogbWFwLWdldCgkaGF5c3RhY2ssIC0xcHgpO1xuICAgICAgQHJldHVybiAkUkVUVVJOO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgdG8gUFhcbiAgICBAaWYgJFF1ZXJ5LU1pbiAhPSBmYWxzZSBhbmQgIHVuaXQoJFF1ZXJ5LU1pbikgPT0gJ2VtJyB7XG4gICAgICAkUXVlcnktTWluOiAkUXVlcnktTWluIC8gMWVtICogMTZweDtcbiAgICB9XG4gICAgQGlmICRRdWVyeS1NYXggIT0gZmFsc2UgYW5kIHVuaXQoJFF1ZXJ5LU1heCkgPT0gJ2VtJyB7XG4gICAgICAkUXVlcnktTWF4OiAkUXVlcnktTWF4IC8gMWVtICogMTZweDtcbiAgICB9XG5cbiAgICAkRmluZC1IYXlzdGFjazogZmluZC1vYmplY3Qta2V5cygkaGF5c3RhY2spO1xuICAgICRSZXZlcnNlLUhheXN0YWNrOiByZXZlcnNlKCRGaW5kLUhheXN0YWNrKTtcblxuICAgICRTbWFsbGVzdDogbnRoKCRGaW5kLUhheXN0YWNrLCAxKTtcbiAgICAkTGFyZ2VzdDogbnRoKCRSZXZlcnNlLUhheXN0YWNrLCAxKTtcbiAgICAkQ29udGV4dDogJFF1ZXJ5LU1pbjtcblxuICAgIEBpZiBub3QgJE1vYmlsZS1GaXJzdCB7XG4gICAgICAkQ29udGV4dDogJFF1ZXJ5LU1heDtcbiAgICB9XG5cbiAgICAvLyBMb29wIG92ZXIgZWFjaCBpdGVtIGluIENvbnRleHQgdG8gZmluZCBpZiBhbnkgb2YgdGhlIGl0ZW1zIHBhc3MuXG4gICAgQGVhY2ggJFF1ZXJ5LUNvbnRleHQgaW4gJENvbnRleHQge1xuICAgICAgQGlmICRRdWVyeS1Db250ZXh0ICE9IGZhbHNlIHtcbiAgICAgICAgLy8gSWYgaXQncyBzbWFsbGVzdCB0aGFuIHRoZSBzbWFsbGVzdCBNUSwgdXNlIHRoZSAxc3QgZ3JpZFxuICAgICAgICBAaWYgJFF1ZXJ5LUNvbnRleHQgPCAkU21hbGxlc3Qge1xuICAgICAgICAgICRSRVRVUk46IG1hcC1nZXQoJGhheXN0YWNrLCAtMXB4KTtcbiAgICAgICAgICBAcmV0dXJuICRSRVRVUk47XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgaXQncyBsYXJnZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgbGFyZ2VzdCBNUSwgdXNlIHRoZSBsYXN0IGdyaWRcbiAgICAgICAgQGVsc2UgaWYgJFF1ZXJ5LUNvbnRleHQgPj0gJExhcmdlc3Qge1xuICAgICAgICAgICRSRVRVUk46IG1hcC1nZXQoJGhheXN0YWNrLCAkTGFyZ2VzdCk7XG4gICAgICAgICAgQHJldHVybiAkUkVUVVJOO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIGl0J3MgaW4gYmV0d2VlbiB0aGUgc21hbGxlc3QgYW5kIGxhcmdlc3QsIGdvIHJ1biBhIGNoZWNrLlxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggTVEuXG4gICAgICAgICAgQGZvciAkaiBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJFJldmVyc2UtSGF5c3RhY2spIHtcbiAgICAgICAgICAgICRRdWVyeTogbnRoKCRSZXZlcnNlLUhheXN0YWNrLCAkaik7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZSBNUSBpcyBncmVhdGhlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSB0aGUgTVEgaW4gcXVlc3Rpb24sIHVzZSBpdCEgKG1vYmlsZSBmaXJzdClcbiAgICAgICAgICAgIEBpZiAoJE1vYmlsZS1GaXJzdCkge1xuICAgICAgICAgICAgICBAaWYgJFF1ZXJ5LUNvbnRleHQgPj0gJFF1ZXJ5IHtcbiAgICAgICAgICAgICAgICAkUkVUVVJOOiBtYXAtZ2V0KCRoYXlzdGFjaywgbnRoKCRSZXZlcnNlLUhheXN0YWNrLCAkaikpO1xuICAgICAgICAgICAgICAgIEByZXR1cm4gJFJFVFVSTjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhlIE1RIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgdGhlIE1RIGluIHF1ZXN0aW9uLCB1c2UgaXQhIChub3QgbW9iaWxlIGZpcnN0KVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICBAaWYgJFF1ZXJ5LUNvbnRleHQgPD0gJFF1ZXJ5IHtcbiAgICAgICAgICAgICAgICAkUkVUVVJOOiBtYXAtZ2V0KCRoYXlzdGFjaywgbnRoKCRSZXZlcnNlLUhheXN0YWNrLCAkaikpO1xuICAgICAgICAgICAgICAgIEByZXR1cm4gJFJFVFVSTjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBbGwgZWxzZSBmYWlscywgcmV0dXJuIHRoZSBmaXJzdCBpdGVtXG4gIEBlbHNlIHtcbiAgICAkUkVUVVJOOiBtYXAtZ2V0KCRoYXlzdGFjaywgLTFweCk7XG4gICAgQHJldHVybiAkUkVUVVJOO1xuICB9XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYXNzIExpc3QgSGVscGVyc1xuLy9cbi8vIC0gbGlzdC1zdW0oKVxuLy8gLSBxdWVyeS1saXN0KClcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGdW5jdGlvbnNcblxuLy8gUmV0dXJuIHRoZSBzdW0gb2YgYWxsIGl0ZW1zIGluIGEgbGlzdC5cbi8vXG4vLyBsaXN0LXN1bSgkbGlzdClcbi8vIC0gJGxpc3QgIDogPGxpc3Q+XG5AZnVuY3Rpb24gbGlzdC1zdW0oJGxpc3QpIHtcbiAgJHN1bTogMDtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICRzdW06ICRzdW0gKyAkaXRlbTtcbiAgfVxuICBAcmV0dXJuICRzdW07XG59XG5cbi8vIFJldHVybiBsaXN0IG9mIGluZGV4IGxvY2F0aW9ucyB3aGVyZSBhIHF1ZXJ5IGFwcGVhcnMgaW4gYSBsaXN0LFxuLy8gaW5jbHVkaW5nIHVuaXQgcXVlcmllcy5cbi8vXG4vLyBxdWVyeS1saXN0KCRsaXN0LCAkcXVlcnkgWywgJG1vZGVdKVxuLy8gLSAkbGlzdCAgICA6IDxsaXN0PlxuLy8gLSAkcXVlcnkgICA6IDxhbnl0aGluZz5cbi8vIC0gJG1vZGUgICAgOiBub25lIHwgdW5pdFxuLy8gICAgICAgICAgICAtIFwibm9uZVwiIChkZWZhdWx0KSBydW5zIGEgc3RhbmRhcmQgcXVlcnkuXG4vLyAgICAgICAgICAgIC0gXCJ1bml0XCIgZmluZHMgYWxsIGl0ZW1zIHdpdGggdGhlIHNhbWUgdW5pdC5cbkBmdW5jdGlvbiBxdWVyeS1saXN0KFxuICAkbGlzdCxcbiAgJHF1ZXJ5LFxuICAkbW9kZTogbm9uZVxuKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gIC8vIGxvb3AgdGhyb3VnaCAkbGlzdFxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuICAgIEBpZiAkbW9kZSA9PSB1bml0IHtcbiAgICAgIC8vIGlmIHRoZSBsaXN0IGl0ZW0gbWF0Y2hlcyB0aGUgcXVlcnksIHdyaXRlIHdoZXJlIGl0IGlzIHRvIHRoZSBsaXN0LlxuICAgICAgQGlmIHVuaXQobnRoKCRsaXN0LCAkaSkpID09ICRxdWVyeSB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkaSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIGlmIHRoZSBsaXN0IGl0ZW0gbWF0Y2hlcyB0aGUgcXVlcnksIHdyaXRlIHdoZXJlIGl0IGlzIHRvIHRoZSBsaXN0LlxuICAgICAgQGlmIG50aChudGgoJGxpc3QsICRpKSwgMSkgPT0gJHF1ZXJ5IHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBpZiBub3RoaW5nIG1hdGNoZXMgdGhlbiByZXR1cm4gZmFsc2UuXG4gIEBpZiAkcmV0dXJuID09ICgpIHtcbiAgICAkcmV0dXJuOiBmYWxzZTtcbiAgfVxuXG4gIC8vIHJldHVybiBsaXN0LlxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIFJldmVyc2VzIGRpcmVjdGlvbiBvZiBhIGxpc3RcbkBmdW5jdGlvbiByZXZlcnNlKCRsaXN0KSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkbGlzdCk7XG4gICRyZXR1cm46ICgpO1xuICBAZm9yICRpIGZyb20gMCB0byAkbGVuZ3RoIHtcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbnRoKCRsaXN0LCAkbGVuZ3RoIC0gJGkpKTtcbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59IiwiQGZ1bmN0aW9uIGVuZC1yb3coJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpIHtcbiAgQGlmICRsb2NhdGlvbiA9PSAnbGFzdCcgb3IgJGxvY2F0aW9uID09ICdvbWVnYScge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRsb2NhdGlvbiArICgkc3BhbiAtIDEpID09IGNvbHVtbi1jb3VudCgkY29sdW1ucykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gc3RhcnQtcm93KCRsb2NhdGlvbikge1xuICBAaWYgJGxvY2F0aW9uID09ICdmaXJzdCcgb3IgJGxvY2F0aW9uID09ICdhbHBoYScge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSBpZiAkbG9jYXRpb24gPT0gMSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59IiwiQG1peGluIHNwYW4tc2hhcmVkIHtcbiAgJGluY2x1ZGUtYm9yZGVyLWJveDogc2dzLWdldCgnaW5jbHVkZSBib3JkZXIgYm94Jyk7XG4gICRpbmNsdWRlLWNsZWFyZml4OiBzZ3MtZ2V0KCdpbmNsdWRlIGNsZWFyZml4Jyk7XG5cbiAgQGlmICRpbmNsdWRlLWJvcmRlci1ib3gge1xuICAgIEBpZiBtaXhpbi1leGlzdHMoYm94LXNpemluZykge1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICBAaWYgJGluY2x1ZGUtY2xlYXJmaXgge1xuICAgIEBpZiBtaXhpbi1leGlzdHMoY2xlYXJmaXgpIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmluZCBPcHBvc2l0ZSBEaXJlY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIG9wcG9zaXRlLWRpcmVjdGlvbigkZGlyKSB7XG4gIEBpZiAkZGlyID09ICdsZWZ0JyB7XG4gICAgQHJldHVybiByaWdodDtcbiAgfVxuICBAZWxzZSBpZiAgJGRpciA9PSAncmlnaHQnIHtcbiAgICBAcmV0dXJuIGxlZnQ7XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSAnbHRyJyB7XG4gICAgQHJldHVybiBydGw7XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSAncnRsJyB7XG4gICAgQHJldHVybiBsdHI7XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSAndG9wJyB7XG4gICAgQHJldHVybiBib3R0b207XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSAnYm90dG9tJyB7XG4gICAgQHJldHVybiB0b3A7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiI3skZGlyfSBpcyBub3QgYSBkaXJlY3Rpb24hIE1ha2Ugc3VyZSB5b3VyIGRpcmVjdGlvbiBpcyBhbGwgbG93ZXJjYXNlIVwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBGaW5kIERpcmVjdGlvbiBOYW1lXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBuYW1lZC1kaXJlY3Rpb24oJGRpcikge1xuICBAaWYgJGRpciA9PSAnbHRyJyB7XG4gICAgQHJldHVybiBsZWZ0O1xuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gJ3J0bCcge1xuICAgIEByZXR1cm4gcmlnaHQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiI3skZGlyfSBpcyBub3QgYSB2YWxpZCBIVE1MIGRpcmVjdGlvbiEgTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSB2YWxpZCBIVE1MIGRpcmVjdGlvblwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFF1aWNrc29ydFxuLy8gaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL1NvcnRpbmdfYWxnb3JpdGhtcy9RdWlja3NvcnRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIHF1aWNrc29ydCgkbGlzdCkge1xuXG4gICRRUy1MZXNzOiAoKTtcbiAgJFFTLUVxdWFsOiAoKTtcbiAgJFFTLUxhcmdlOiAoKTtcblxuICAkUVMtTGVuZ3RoOiBsZW5ndGgoJGxpc3QpO1xuXG4gICRRUy1TZWVkOiByb3VuZCgkUVMtTGVuZ3RoIC8gMik7XG5cbiAgQGlmICRRUy1MZW5ndGggPiAxIHtcbiAgICAkUVMtU2VlZDogbnRoKCRsaXN0LCAkUVMtU2VlZCk7XG4gICAgQGVhY2ggJEl0ZW0gaW4gJGxpc3Qge1xuICAgICAgQGlmICRJdGVtIDwgJFFTLVNlZWQge1xuICAgICAgICAkUVMtTGVzczogYXBwZW5kKCRRUy1MZXNzLCAkSXRlbSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkSXRlbSA9PSAkUVMtU2VlZCB7XG4gICAgICAgICRRUy1FcXVhbDogYXBwZW5kKCRRUy1FcXVhbCwgJEl0ZW0pO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkUVMtTGFyZ2U6IGFwcGVuZCgkUVMtTGFyZ2UsICRJdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJFFTLUxlc3M6IHF1aWNrc29ydCgkUVMtTGVzcyk7XG4gICAgJFFTLUxhcmdlOiBxdWlja3NvcnQoJFFTLUxhcmdlKTtcblxuICAgICRRUy1SZXR1cm46IGpvaW4oJFFTLUxlc3MsICRRUy1FcXVhbCk7XG4gICAgJFFTLVJldHVybjogam9pbigkUVMtUmV0dXJuLCAkUVMtTGFyZ2UpO1xuXG4gICAgQHJldHVybiAkUVMtUmV0dXJuO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTb3J0IE1hcCBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gc29ydC1tYXAoJG1hcCwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICRTb3J0LU1hcC1LZXlzOiBxdWlja3NvcnQobWFwLWtleXMoJG1hcCkpO1xuICAkU29ydC1NYXAtTWFwOiAoKTtcblxuICBAaWYgJHJldmVyc2Uge1xuICAgICRTb3J0LU1hcC1LZXlzOiByZXZlcnNlKCRTb3J0LU1hcC1LZXlzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXkgaW4gJFNvcnQtTWFwLUtleXMge1xuICAgICRTb3J0LU1hcC1NYXA6IG1hcC1tZXJnZSgkU29ydC1NYXAtTWFwLCAoJGtleTogbWFwLWdldCgkbWFwLCAka2V5KSkpO1xuICB9XG5cbiAgQHJldHVybiAkU29ydC1NYXAtTWFwO1xufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHcmlkIEJhY2tncm91bmRcblxuQGltcG9ydCAnc3RyLXJlcGxhY2UnO1xuXG5AbWl4aW4gYmFja2dyb3VuZC1ncmlkKFxuICAkY29sdW1uczogbnVsbCxcbiAgJGd1dHRlcjogbnVsbCxcbiAgJGd1dHRlci1zdHlsZTogbnVsbCxcbiAgJGNvbG9yOiBudWxsXG4pIHtcblxuICAkY29sb3I6IGlmKCRjb2xvciAhPSBudWxsLCAkY29sb3IsIHNncy1nZXQoJ2JhY2tncm91bmQgZ3JpZCBjb2xvcicpKTtcblxuICBAaWYgc2dzLWdldCgnZGVidWcnKSAhPSBmYWxzZSB7XG4gICAgJGNvbHVtbnM6IGlmKCRjb2x1bW5zICE9IG51bGwsICRjb2x1bW5zLCBzZ3MtZ2V0KCdncmlkcycpKTtcbiAgICAkZ3V0dGVyOiBpZigkZ3V0dGVyICE9IG51bGwsICRndXR0ZXIsIHNncy1nZXQoJ2d1dHRlcnMnKSk7XG4gICAgJGd1dHRlci1zdHlsZTogaWYoJGd1dHRlci1zdHlsZSAhPSBudWxsLCAkZ3V0dGVyLXN0eWxlLCBzZ3MtZ2V0KCdndXR0ZXIgc3R5bGVzJykpO1xuXG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1idWlsZCgkY29sdW1ucywgJGd1dHRlciwgJGd1dHRlci1zdHlsZSwgJGNvbG9yKVxuICB9XG59XG5cbkBmdW5jdGlvbiBiYWNrZ3JvdW5kLW1hcCgkY29sdW1ucywgJGd1dHRlcnMsICRndXR0ZXItc3R5bGVzKSB7XG4gICRHcmlkczogKCk7XG4gICRHdXR0ZXJzOiAoKTtcbiAgJFN0eWxlczogKCk7XG5cbiAgQGlmICRjb2x1bW5zIGFuZCB0eXBlLW9mKCRjb2x1bW5zKSAhPSAnbWFwJyB7XG4gICAgJEdyaWRzOiAoLTFweDogJGNvbHVtbnMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkR3JpZHM6IHNncy1nZXQoJ2dyaWRzJyk7XG4gIH1cblxuICBAaWYgJGd1dHRlcnMgYW5kIHR5cGUtb2YoJGd1dHRlcnMpICE9ICdtYXAnIHtcbiAgICAkR3V0dGVyczogKC0xcHg6ICRndXR0ZXJzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJEd1dHRlcnM6IHNncy1nZXQoJ2d1dHRlcnMnKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLXN0eWxlcyBhbmQgdHlwZS1vZigkZ3V0dGVyLXN0eWxlcykgIT0gJ21hcCcge1xuICAgICRTdHlsZXM6ICgtMXB4OiAkZ3V0dGVyLXN0eWxlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRTdHlsZXM6IHNncy1nZXQoJ2d1dHRlciBzdHlsZXMnKTtcbiAgfVxuXG4gIC8vIEJ1aWxkIDFzdCBEZXB0aCBNYXBcbiAgJEhvbGRlcjogKCk7XG5cbiAgLy8gR3JpZHNcbiAgQGVhY2ggJGssICR2IGluICRHcmlkcyB7XG4gICAgJEhvbGRlcjogbWFwLW1lcmdlKCRIb2xkZXIsICgkazogKCdncmlkJzogJHYpKSk7XG4gIH1cbiAgLy8gR3V0dGVyc1xuICBAZWFjaCAkaywgJHYgaW4gJEd1dHRlcnMge1xuICAgICRHcmlkOiBtYXAtZ2V0KCRIb2xkZXIsICRrKTtcblxuICAgICRNYXA6ICgnZ3V0dGVyJzogJHYpO1xuICAgIEBpZiAkR3JpZCAhPSBudWxsIHtcbiAgICAgICRHcmlkOiBtYXAtZ2V0KCRHcmlkLCAnZ3JpZCcpO1xuICAgICAgQGlmICRHcmlkICE9IG51bGwge1xuICAgICAgICAkTWFwOiBtYXAtbWVyZ2UoJE1hcCwgKCdncmlkJzogJEdyaWQpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkSG9sZGVyOiBtYXAtbWVyZ2UoJEhvbGRlciwgKCRrOiAkTWFwKSk7XG4gIH1cbiAgLy8gU3R5bGVcbiAgQGVhY2ggJGssICR2IGluICRTdHlsZXMge1xuICAgICRHcmlkOiBtYXAtZ2V0KCRIb2xkZXIsICRrKTtcbiAgICAkR3V0dGVyOiBtYXAtZ2V0KCRIb2xkZXIsICRrKTtcblxuICAgICRNYXA6ICgnc3R5bGUnOiAkdik7XG4gICAgQGlmICRHcmlkICE9IG51bGwge1xuICAgICAgJEdyaWQ6IG1hcC1nZXQoJEdyaWQsICdncmlkJyk7XG4gICAgICBAaWYgJEdyaWQgIT0gbnVsbCB7XG4gICAgICAgICRNYXA6IG1hcC1tZXJnZSgkTWFwLCAoJ2dyaWQnOiAkR3JpZCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJEd1dHRlciAhPSBudWxsIHtcbiAgICAgICRHdXR0ZXI6IG1hcC1nZXQoJEd1dHRlciwgJ2d1dHRlcicpO1xuICAgICAgQGlmICRHdXR0ZXIgIT0gbnVsbCB7XG4gICAgICAgICRNYXA6IG1hcC1tZXJnZSgkTWFwLCAoJ2d1dHRlcic6ICRHdXR0ZXIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkSG9sZGVyOiBtYXAtbWVyZ2UoJEhvbGRlciwgKCRrOiAkTWFwKSk7XG4gIH1cblxuICAkSG9sZGVyOiBzb3J0LW1hcCgkSG9sZGVyKTtcbiAgJFJldHVybjogKCk7XG5cbiAgLy8gQnVpbGQgZnVsbCBzdGFjayBmb3IgZWFjaCBicmVha3BvaW50XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRIb2xkZXIpIHtcbiAgICAkS2V5OiBudGgobnRoKCRIb2xkZXIsICRpKSwgMSk7XG4gICAgJFZhbHVlOiBudGgobnRoKCRIb2xkZXIsICRpKSwgMik7XG5cbiAgICAkUHJldmlvdXM6ICgpO1xuICAgIEBpZiAkaSA+IDEge1xuICAgICAgJFByZXZpb3VzOiBudGgobnRoKCRSZXR1cm4sICRpIC0gMSksIDIpO1xuICAgIH1cblxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJFZhbHVlLCAnZ3JpZCcpIHtcbiAgICAgICRTb3J0LUdyaWQ6IG1hcC1nZXQoJFByZXZpb3VzLCAnZ3JpZCcpO1xuICAgICAgJFZhbHVlOiBtYXAtbWVyZ2UoJFZhbHVlLCAoJ2dyaWQnOiAkU29ydC1HcmlkKSk7XG4gICAgfVxuXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkVmFsdWUsICdndXR0ZXInKSB7XG4gICAgICAkU29ydC1HdXR0ZXI6IG1hcC1nZXQoJFByZXZpb3VzLCAnZ3V0dGVyJyk7XG4gICAgICAkVmFsdWU6IG1hcC1tZXJnZSgkVmFsdWUsICgnZ3V0dGVyJzogJFNvcnQtR3V0dGVyKSk7XG4gICAgfVxuXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkVmFsdWUsICdzdHlsZScpIHtcbiAgICAgICRTb3J0LVN0eWxlOiBtYXAtZ2V0KCRQcmV2aW91cywgJ3N0eWxlJyk7XG4gICAgICAkVmFsdWU6IG1hcC1tZXJnZSgkVmFsdWUsICgnc3R5bGUnOiAkU29ydC1TdHlsZSkpO1xuICAgIH1cblxuICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJEtleTogJFZhbHVlKSk7XG4gIH1cblxuICBAcmV0dXJuICRSZXR1cm47XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWJ1aWxkKCRjb2x1bW5zLCAkZ3V0dGVycywgJGd1dHRlci1zdHlsZXMsICRjb2xvcikge1xuICAkQmFja2dyb3VuZC1NYXA6IGJhY2tncm91bmQtbWFwKCRjb2x1bW5zLCAkZ3V0dGVycywgJGd1dHRlci1zdHlsZXMpO1xuICAkRGlzcGxheTogdHJ1ZTtcblxuICAkQ29sdW1uLUNvbG9yOiAkY29sb3I7XG4gICRJbnZlcnNlLUNvbHVtbi1Db2xvcjogbWl4KGJsYWNrLCAkY29sb3IsIDE1JSk7XG4gICRHdXR0ZXItQ29sb3I6IG1peCh3aGl0ZSwgJGNvbG9yLCAyNSUpO1xuICAkRGlyZWN0aW9uOiBuYW1lZC1kaXJlY3Rpb24oc2dzLWdldCgnZGlyZWN0aW9uJykpO1xuXG4gIEBlYWNoICRia3B0LCAkZGVmIGluICRCYWNrZ3JvdW5kLU1hcCB7XG4gICAgJEdyaWQ6IG1hcC1nZXQoJGRlZiwgJ2dyaWQnKTtcbiAgICAkR3V0dGVyOiBtYXAtZ2V0KCRkZWYsICdndXR0ZXInKTtcbiAgICAkU3R5bGU6IG1hcC1nZXQoJGRlZiwgJ3N0eWxlJyk7XG5cbiAgICAkR3JpZC1Db3VudDogY29sdW1uLWNvdW50KCRHcmlkKTtcblxuICAgICRTVkc6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4nO1xuXG4gICAgJEd1dHRlci1XaWR0aDogZ3V0dGVyLXNwYW4oJEd1dHRlciwgJEdyaWQsICRTdHlsZSk7XG4gICAgQGlmIHVuaXQoJEd1dHRlci1XaWR0aCkgIT0gJyUnIGFuZCB1bml0KCRHdXR0ZXItV2lkdGgpICE9ICcnIHtcbiAgICAgICRHdXR0ZXItV2lkdGg6IDAlO1xuICAgIH1cblxuICAgIEBpZiAkU3R5bGUgPT0gJ2ZpeGVkJyB7XG4gICAgICAkR3V0dGVyLVdpZHRoOiAwJTtcbiAgICB9XG4gICAgJENvdW50ZXItV2lkdGg6IDAlO1xuICAgICRob2xkZXI6ICgpO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkR3JpZC1Db3VudCB7XG4gICAgICAkSG9sZGVyLUdyYWRpZW50OiAoKTtcbiAgICAgICRMb29wLVdpZHRoOiBjb2x1bW4tc3BhbigxLCAkaSwgJEdyaWQsICRHdXR0ZXIsICRTdHlsZSk7XG5cbiAgICAgIEBpZiBpbmRleCgkU3R5bGUsICdzcGxpdCcpIGFuZCAkaSA9PSAxIHtcbiAgICAgICAgJFNWRzogJFNWRyArICc8cmVjdCB4PVwiI3skQ291bnRlci1XaWR0aH1cIiBmaWxsPVwiI3skR3V0dGVyLUNvbG9yfVwiIHdpZHRoPVwiI3skR3V0dGVyLVdpZHRoIC8gMn1cIiBoZWlnaHQ9XCIxMDAlXCIvPic7XG4gICAgICAgICRDb3VudGVyLVdpZHRoOiAoJEd1dHRlci1XaWR0aCAvIDIpO1xuICAgICAgfVxuXG4gICAgICAkTG9vcC1Db2xvcjogJENvbHVtbi1Db2xvcjtcbiAgICAgIEBpZiAoaW5kZXgoJFN0eWxlLCAnZml4ZWQnKSBvciAkR3V0dGVyLVdpZHRoID09IDAlKSBhbmQgKCRpICUgMiA9PSAwICkge1xuICAgICAgICAkTG9vcC1Db2xvcjogJEludmVyc2UtQ29sdW1uLUNvbG9yO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGkgIT0gJEdyaWQtQ291bnQge1xuICAgICAgICBAaWYgdW5pdCgkQ291bnRlci1XaWR0aCkgPT0gdW5pdCgkTG9vcC1XaWR0aCkge1xuICAgICAgICAgICRTVkc6ICRTVkcgKyAnPHJlY3QgeD1cIiN7JENvdW50ZXItV2lkdGh9XCIgZmlsbD1cIiN7JExvb3AtQ29sb3J9XCIgd2lkdGg9XCIjeyRMb29wLVdpZHRofVwiIGhlaWdodD1cIjEwMCVcIi8+JztcbiAgICAgICAgICAkQ291bnRlci1XaWR0aDogJENvdW50ZXItV2lkdGggKyAkTG9vcC1XaWR0aDtcbiAgICAgICAgICAkU1ZHOiAkU1ZHICsgJzxyZWN0IHg9XCIjeyRDb3VudGVyLVdpZHRofVwiIGZpbGw9XCIjeyRHdXR0ZXItQ29sb3J9XCIgd2lkdGg9XCIjeyRHdXR0ZXItV2lkdGh9XCIgaGVpZ2h0PVwiMTAwJVwiLz4nO1xuICAgICAgICAgICRDb3VudGVyLVdpZHRoOiAkQ291bnRlci1XaWR0aCArICRHdXR0ZXItV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICREaXNwbGF5OiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkaSA9PSAxIHtcbiAgICAgICAgQGlmIHVuaXQoJENvdW50ZXItV2lkdGgpID09IHVuaXQoJExvb3AtV2lkdGgpIHtcbiAgICAgICAgICAkU1ZHOiAkU1ZHICsgJzxyZWN0IHg9XCIjeyRDb3VudGVyLVdpZHRofVwiIGZpbGw9XCIjeyRMb29wLUNvbG9yfVwiIHdpZHRoPVwiI3skTG9vcC1XaWR0aH1cIiBoZWlnaHQ9XCIxMDAlXCIvPic7XG4gICAgICAgICAgJFNWRzogJFNWRyArICc8cmVjdCB4PVwiI3skTG9vcC1XaWR0aH1cIiBmaWxsPVwiI3skR3V0dGVyLUNvbG9yfVwiIHdpZHRoPVwiI3skR3V0dGVyLVdpZHRofVwiIGhlaWdodD1cIjEwMCVcIi8+JztcbiAgICAgICAgICAkQ291bnRlci1XaWR0aDogJENvdW50ZXItV2lkdGggKyAkTG9vcC1XaWR0aCArICRHdXR0ZXItV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICREaXNwbGF5OiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkaSA9PSAkR3JpZC1Db3VudCBhbmQgaW5kZXgoJFN0eWxlLCAnc3BsaXQnKSB7XG4gICAgICAgIEBpZiB1bml0KCRDb3VudGVyLVdpZHRoKSA9PSB1bml0KCRMb29wLVdpZHRoKSB7XG4gICAgICAgICAgJFNWRzogJFNWRyArICc8cmVjdCB4PVwiI3skQ291bnRlci1XaWR0aH1cIiBmaWxsPVwiI3skTG9vcC1Db2xvcn1cIiB3aWR0aD1cIiN7JExvb3AtV2lkdGh9XCIgaGVpZ2h0PVwiMTAwJVwiLz4nO1xuICAgICAgICAgICRDb3VudGVyLVdpZHRoOiAkQ291bnRlci1XaWR0aCArICRMb29wLVdpZHRoO1xuICAgICAgICAgICRTVkc6ICRTVkcgKyAnPHJlY3QgeD1cIiN7JENvdW50ZXItV2lkdGh9XCIgZmlsbD1cIiN7JEd1dHRlci1Db2xvcn1cIiB3aWR0aD1cIiN7JEd1dHRlci1XaWR0aCAvIDJ9XCIgaGVpZ2h0PVwiMTAwJVwiLz4nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkRGlzcGxheTogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJFNWRzogJFNWRyArICc8cmVjdCB4PVwiI3skQ291bnRlci1XaWR0aH1cIiBmaWxsPVwiI3skTG9vcC1Db2xvcn1cIiB3aWR0aD1cIiN7JExvb3AtV2lkdGh9XCIgaGVpZ2h0PVwiMTAwJVwiLz4nO1xuICAgICAgfVxuICAgIH1cblxuICAgICRTVkc6ICRTVkcgKyAnPC9zdmc+JztcbiAgICAkU1ZHOiB1cmwtZW5jb2RlKCRTVkcpO1xuXG4gICAgQGlmICREaXNwbGF5IHtcblxuICAgICAgQGlmICRia3B0ICE9IC0xcHgge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRia3B0KSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJyArICRTVkcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCcgKyAkU1ZHKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ0Nhbm5vdCBnZW5lcmF0ZSBhIEJhY2tncm91bmQgR3JpZCBmb3IgZ3JpZCBgI3skR3JpZH1gIHdpdGggZ3V0dGVycyBgI3skR3V0dGVyfWAgYW5kIGd1dHRlciBzdHlsZSBgI3skU3R5bGV9YCc7XG4gICAgfVxuICB9XG59IiwiLy8gRnJvbSBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvMWI0ZjJkYTU1Mjc4MzAwODhlNGRcblxuLy8vL1xuLy8gSSBoYXZlIHdyaXR0ZW4gYSBsb3Qgb2YgZGlmZmVyZW50IGBzdHItcmVwbGFjZWAgU2FzcyBmdW5jdGlvbnMgb3ZlclxuLy8gdGhlIG1vbnRocyB5ZXQgbm9uZSBvZiBteSB0cmllcyB3ZXJlIHN1Y2NlZWRpbmcgaW4gbWFraW5nIHRoZSBuZXcgc3Vic3RyaW5nXG4vLyBhYmxlIHRvIGNvbnRhaW4gdGhlIG9uZSB0byByZXBsYWNlIChlLmcuIGBzdHItcmVwbGFjZSgkc3RyLCAnYScsICdhYicpYCkuXG4vLyBUaGFua3MgdG8gVmFsw6lyaWFuIEdhbGxpYXQgKEB2YWxlcmlhbmdhbGxpYXQpLCBJIGZpbmFsbHkgbWFuYWdlZCB0byBidWlsZFxuLy8gYSBidWxsZXRwcm9vZiBgc3RyLXJlcGxhY2VgIFNhc3MgZnVuY3Rpb24gdGhhdCBhbGxvd3MgbmV3IHN0cmluZyB0byBjb250YWluXG4vLyB0aGUgb2xkIG9uZS5cbi8vLy9cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQGZ1bmN0aW9uIHVybC1lbmNvZGUoJHN0cmluZykge1xuICAkZW5jb2RlTWFwOignJSc6JyUyNScsXG4gICAgICAgICAgICAgICcgJzonJTIwJyxcbiAgICAgICAgICAgICAgJyEnOiclMjEnLFxuICAgICAgICAgICAgICAnXFxcIic6JyUyMicsXG4gICAgICAgICAgICAgICcjJzonJTIzJyxcbiAgICAgICAgICAgICAgJyQnOiclMjQnLFxuICAgICAgICAgICAgICAnJic6JyUyNicsXG4gICAgICAgICAgICAgICdcXCcnOiclMjcnLFxuICAgICAgICAgICAgICAnKCc6JyUyOCcsXG4gICAgICAgICAgICAgICcpJzonJTI5JyxcbiAgICAgICAgICAgICAgJyonOiclMkEnLFxuICAgICAgICAgICAgICAnKyc6JyUyQicsXG4gICAgICAgICAgICAgICcsJzonJTJDJyxcbiAgICAgICAgICAgICAgJy0nOiclMkQnLFxuICAgICAgICAgICAgICAnLic6JyUyRScsXG4gICAgICAgICAgICAgICcvJzonJTJGJyxcbiAgICAgICAgICAgICAgJzonOiclM0EnLFxuICAgICAgICAgICAgICAnOyc6JyUzQicsXG4gICAgICAgICAgICAgICc8JzonJTNDJyxcbiAgICAgICAgICAgICAgJz0nOiclM0QnLFxuICAgICAgICAgICAgICAnPic6JyUzRScsXG4gICAgICAgICAgICAgICc/JzonJTNGJyxcbiAgICAgICAgICAgICAgJ0AnOiclNDAnLFxuICAgICAgICAgICAgICAnWyc6JyU1QicsXG4gICAgICAgICAgICAgICdcXFxcJzonJTVDJyxcbiAgICAgICAgICAgICAgJ10nOiclNUQnLFxuICAgICAgICAgICAgICAnXic6JyU1RScsXG4gICAgICAgICAgICAgICdfJzonJTVGJyxcbiAgICAgICAgICAgICAgJ2AnOiclNjAnLFxuICAgICAgICAgICAgICAneyc6JyU3QicsXG4gICAgICAgICAgICAgICd8JzonJTdDJyxcbiAgICAgICAgICAgICAgJ30nOiclN0QnLFxuICAgICAgICAgICAgICAnfic6JyU3RScsXG4gICAgICAgICAgICAgICfCoic6JyVBMicsXG4gICAgICAgICAgICAgICfCoyc6JyVBMycsXG4gICAgICAgICAgICAgICfCpSc6JyVBNScsXG4gICAgICAgICAgICAgICfCpyc6JyVBNycsXG4gICAgICAgICAgICAgICfCqyc6JyVBQicsXG4gICAgICAgICAgICAgICfCrCc6JyVBQycsXG4gICAgICAgICAgICAgICfCryc6JyVBRCcsXG4gICAgICAgICAgICAgICfCuic6JyVCMCcsXG4gICAgICAgICAgICAgICfCsSc6JyVCMScsXG4gICAgICAgICAgICAgICfCqic6JyVCMicsXG4gICAgICAgICAgICAgICfCtSc6JyVCNScsXG4gICAgICAgICAgICAgICfCuyc6JyVCQicsXG4gICAgICAgICAgICAgICfCvCc6JyVCQycsXG4gICAgICAgICAgICAgICfCvSc6JyVCRCcsXG4gICAgICAgICAgICAgICfCvyc6JyVCRicsXG4gICAgICAgICAgICAgICfDgCc6JyVDMCcsXG4gICAgICAgICAgICAgICfDgSc6JyVDMScsXG4gICAgICAgICAgICAgICfDgic6JyVDMicsXG4gICAgICAgICAgICAgICfDgyc6JyVDMycsXG4gICAgICAgICAgICAgICfDhCc6JyVDNCcsXG4gICAgICAgICAgICAgICfDhSc6JyVDNScsXG4gICAgICAgICAgICAgICfDhic6JyVDNicsXG4gICAgICAgICAgICAgICfDhyc6JyVDNycsXG4gICAgICAgICAgICAgICfDiCc6JyVDOCcsXG4gICAgICAgICAgICAgICfDiSc6JyVDOScsXG4gICAgICAgICAgICAgICfDiic6JyVDQScsXG4gICAgICAgICAgICAgICfDiyc6JyVDQicsXG4gICAgICAgICAgICAgICfDjCc6JyVDQycsXG4gICAgICAgICAgICAgICfDjSc6JyVDRCcsXG4gICAgICAgICAgICAgICfDjic6JyVDRScsXG4gICAgICAgICAgICAgICfDjyc6JyVDRicsXG4gICAgICAgICAgICAgICfDkCc6JyVEMCcsXG4gICAgICAgICAgICAgICfDkSc6JyVEMScsXG4gICAgICAgICAgICAgICfDkic6JyVEMicsXG4gICAgICAgICAgICAgICfDkyc6JyVEMycsXG4gICAgICAgICAgICAgICfDlCc6JyVENCcsXG4gICAgICAgICAgICAgICfDlSc6JyVENScsXG4gICAgICAgICAgICAgICfDlic6JyVENicsXG4gICAgICAgICAgICAgICfDmCc6JyVEOCcsXG4gICAgICAgICAgICAgICfDmSc6JyVEOScsXG4gICAgICAgICAgICAgICfDmic6JyVEQScsXG4gICAgICAgICAgICAgICfDmyc6JyVEQicsXG4gICAgICAgICAgICAgICfDnCc6JyVEQycsXG4gICAgICAgICAgICAgICfDnSc6JyVERCcsXG4gICAgICAgICAgICAgICfDnic6JyVERScsXG4gICAgICAgICAgICAgICfDnyc6JyVERicsXG4gICAgICAgICAgICAgICfDoCc6JyVFMCcsXG4gICAgICAgICAgICAgICfDoSc6JyVFMScsXG4gICAgICAgICAgICAgICfDoic6JyVFMicsXG4gICAgICAgICAgICAgICfDoyc6JyVFMycsXG4gICAgICAgICAgICAgICfDpCc6JyVFNCcsXG4gICAgICAgICAgICAgICfDpSc6JyVFNScsXG4gICAgICAgICAgICAgICfDpic6JyVFNicsXG4gICAgICAgICAgICAgICfDpyc6JyVFNycsXG4gICAgICAgICAgICAgICfDqCc6JyVFOCcsXG4gICAgICAgICAgICAgICfDqSc6JyVFOScsXG4gICAgICAgICAgICAgICfDqic6JyVFQScsXG4gICAgICAgICAgICAgICfDqyc6JyVFQicsXG4gICAgICAgICAgICAgICfDrCc6JyVFQycsXG4gICAgICAgICAgICAgICfDrSc6JyVFRCcsXG4gICAgICAgICAgICAgICfDric6JyVFRScsXG4gICAgICAgICAgICAgICfDryc6JyVFRicsXG4gICAgICAgICAgICAgICfDsCc6JyVGMCcsXG4gICAgICAgICAgICAgICfDsSc6JyVGMScsXG4gICAgICAgICAgICAgICfDsic6JyVGMicsXG4gICAgICAgICAgICAgICfDsyc6JyVGMycsXG4gICAgICAgICAgICAgICfDtCc6JyVGNCcsXG4gICAgICAgICAgICAgICfDtSc6JyVGNScsXG4gICAgICAgICAgICAgICfDtic6JyVGNicsXG4gICAgICAgICAgICAgICfDtyc6JyVGNycsXG4gICAgICAgICAgICAgICfDuCc6JyVGOCcsXG4gICAgICAgICAgICAgICfDuSc6JyVGOScsXG4gICAgICAgICAgICAgICfDuic6JyVGQScsXG4gICAgICAgICAgICAgICfDuyc6JyVGQicsXG4gICAgICAgICAgICAgICfDvCc6JyVGQycsXG4gICAgICAgICAgICAgICfDvSc6JyVGRCcsXG4gICAgICAgICAgICAgICfDvic6JyVGRScsXG4gICAgICAgICAgICAgICfDvyc6JyVGRidcbiAgKTtcblxuICBAZWFjaCAkY2hhciwgJGNvZGUgaW4gJGVuY29kZU1hcCAge1xuICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkY29kZSk7XG4gIH1cbiAgQHJldHVybiAkc3RyaW5nO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV3JhcHBlciBtaXhpbiBmb3Igb3ZlcnJpZGluZyB0aGUgZ2xvYmFsIGNvbnRleHRzIGFzIGEgYmxvY2tcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIGxheW91dCgkZ3JpZDogZmFsc2UsICRndXR0ZXI6IGZhbHNlLCAkb3V0cHV0LXN0eWxlOiBmYWxzZSwgJGd1dHRlci1zdHlsZTogZmFsc2UpIHtcblxuICBAaWYgdHlwZS1vZigkZ3JpZCkgPT0gJ21hcCcge1xuICAgICRsYXlvdXQ6ICRncmlkO1xuICAgIEBpZiBtYXAtaGFzLWtleSgkbGF5b3V0LCAnZ3JpZCcpIHtcbiAgICAgICRncmlkOiBtYXAtZ2V0KCRsYXlvdXQsICdncmlkJyk7XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRsYXlvdXQsICdndXR0ZXInKSB7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRsYXlvdXQsICdndXR0ZXInKTtcbiAgICB9XG5cbiAgICBAaWYgbWFwLWhhcy1rZXkoJGxheW91dCwgJ291dHB1dCBzdHlsZScpIHtcbiAgICAgICRvdXRwdXQtc3R5bGU6IG1hcC1nZXQoJGxheW91dCwgJ291dHB1dCBzdHlsZScpO1xuICAgIH1cbiAgICBAaWYgbWFwLWhhcy1rZXkoJGxheW91dCwgJ291dHB1dCcpIHtcbiAgICAgICRvdXRwdXQtc3R5bGU6IG1hcC1nZXQoJGxheW91dCwgJ291dHB1dCcpO1xuICAgIH1cblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbGF5b3V0LCAnZ3V0dGVyIHN0eWxlJykge1xuICAgICAgJGd1dHRlci1zdHlsZTogbWFwLWdldCgkbGF5b3V0LCAnZ3V0dGVyIHN0eWxlJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpdmF0ZSBob2xkZXIgZm9yIGN1cnJlbnQgZ2xvYmFsIGNvbnRleHRcbiAgJGxheW91dC1wcml2YXRlLWdyaWQtaG9sZGVyOiBzZ3MtZ2V0KCdncmlkcycpO1xuICAkbGF5b3V0LXByaXZhdGUtZ3V0dGVyLWhvbGRlcjogc2dzLWdldCgnZ3V0dGVycycpO1xuICAkbGF5b3V0LXByaXZhdGUtb3V0cHV0LWhvbGRlcjogc2dzLWdldCgnb3V0cHV0Jyk7XG4gICRsYXlvdXQtcHJpdmF0ZS1ndXR0ZXItc3R5bGUtaG9sZGVyOiBzZ3MtZ2V0KCdndXR0ZXIgc3R5bGVzJyk7XG5cbiAgLy8gT3ZlcmlkZXMgY3VycmVudCBnbG9iYWwgY29udGV4dHMsIGJ1dCBvbmx5IGlmIG5lZWRlZFxuICBAaWYgJGdyaWQgIT0gZmFsc2Uge1xuICAgIEBpbmNsdWRlIHNncy1yZXNldCgnZ3JpZHMnKTtcbiAgICBAaWYgdHlwZS1vZigkZ3JpZCkgIT0gJ21hcCcge1xuICAgICAgQGluY2x1ZGUgc2dzLWNoYW5nZSgnZ3JpZHMnLCAoLTFweDogJGdyaWQpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgc2dzLWNoYW5nZSgnZ3JpZHMnLCAkZ3JpZCk7XG4gICAgfVxuICB9XG4gIEBpZiAkZ3V0dGVyICE9IGZhbHNlIHtcbiAgICBAaW5jbHVkZSBzZ3MtcmVzZXQoJ2d1dHRlcnMnKTtcbiAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSAhPSAnbWFwJyB7XG4gICAgICBAaW5jbHVkZSBzZ3MtY2hhbmdlKCdndXR0ZXJzJywgKC0xcHg6ICRndXR0ZXIpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgc2dzLWNoYW5nZSgnZ3V0dGVycycsICRndXR0ZXIpO1xuICAgIH1cbiAgfVxuICBAaWYgJG91dHB1dC1zdHlsZSAhPSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgc2dzLXJlc2V0KCdvdXRwdXQnKTtcbiAgICBAaW5jbHVkZSBzZ3MtY2hhbmdlKCdvdXRwdXQnLCAkb3V0cHV0LXN0eWxlKTtcbiAgfVxuICBAaWYgJGd1dHRlci1zdHlsZSAhPSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgc2dzLXJlc2V0KCdndXR0ZXIgc3R5bGVzJyk7XG4gICAgQGlmIHR5cGUtb2YoJGd1dHRlci1zdHlsZSkgIT0gJ21hcCcge1xuICAgICAgQGluY2x1ZGUgc2dzLWNoYW5nZSgnZ3V0dGVyIHN0eWxlcycsICgtMXB4OiAkZ3V0dGVyLXN0eWxlKSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIHNncy1jaGFuZ2UoJ2d1dHRlciBzdHlsZXMnLCAkZ3V0dGVyLXN0eWxlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbGwgdGhlIHRoaW5ncyFcbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUkVzZXQgQUxMIHRoZSBzZXR0aW5nc1xuICBAaW5jbHVkZSBzZ3MtcmVzZXQoJ2dyaWRzJyk7XG4gIEBpbmNsdWRlIHNncy1yZXNldCgnZ3V0dGVycycpO1xuICBAaW5jbHVkZSBzZ3MtcmVzZXQoJ291dHB1dCcpO1xuICBAaW5jbHVkZSBzZ3MtcmVzZXQoJ2d1dHRlciBzdHlsZXMnKTtcbiAgLy8gUmVzZXRzIGdsb2JhbCBjb250ZXh0c1xuICBAaW5jbHVkZSBzZ3MtY2hhbmdlKCdncmlkcycsICRsYXlvdXQtcHJpdmF0ZS1ncmlkLWhvbGRlcik7XG4gIEBpbmNsdWRlIHNncy1jaGFuZ2UoJ2d1dHRlcnMnLCAkbGF5b3V0LXByaXZhdGUtZ3V0dGVyLWhvbGRlcik7XG4gIEBpbmNsdWRlIHNncy1jaGFuZ2UoJ291dHB1dCcsICRsYXlvdXQtcHJpdmF0ZS1vdXRwdXQtaG9sZGVyKTtcbiAgQGluY2x1ZGUgc2dzLWNoYW5nZSgnZ3V0dGVyIHN0eWxlcycsICRsYXlvdXQtcHJpdmF0ZS1ndXR0ZXItc3R5bGUtaG9sZGVyKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBMYXlvdXQgQXRcbi8vIFdyYXBwZXIgbWl4aW4gZm9yIGEgY29tYmluZWQgQnJlYWtwb2ludC9MYXlvdXQgY2FsbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gbGF5b3V0LWF0KCRsYXlvdXQsICRicmVha3BvaW50KSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAvLyBJZiBhIHNpbmdsZSB2YWx1ZSBpcyBwYXNzZWQgaW4sIGFzc3VtZSBpdCdzIGEgZ3JpZFxuICAgIEBpZiB0eXBlLW9mKCRsYXlvdXQpICE9IG1hcCB7XG4gICAgICBAaW5jbHVkZSBsYXlvdXQoJGxheW91dCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gSWYgaXQgaXMgYSBtYXAsIHdlJ3ZlIGdvdCBrZXkvdmFsdWVzIHRvIHdvcmsgd2l0aFxuICAgIEBlbHNlIHtcbiAgICAgICRncmlkOiBmYWxzZTtcbiAgICAgICRndXR0ZXI6IGZhbHNlO1xuICAgICAgJG91dHB1dC1zdHlsZTogZmFsc2U7XG4gICAgICAkZ3V0dGVyLXN0eWxlOiBmYWxzZTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRsYXlvdXQsICdncmlkJykge1xuICAgICAgICAkZ3JpZDogbWFwLWdldCgkbGF5b3V0LCAnZ3JpZCcpO1xuICAgICAgfVxuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGxheW91dCwgJ2d1dHRlcicpIHtcbiAgICAgICAgJGd1dHRlcjogbWFwLWdldCgkbGF5b3V0LCAnZ3V0dGVyJyk7XG4gICAgICB9XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbGF5b3V0LCAnb3V0cHV0IHN0eWxlJykge1xuICAgICAgICAkb3V0cHV0LXN0eWxlOiBtYXAtZ2V0KCRsYXlvdXQsICdvdXRwdXQgc3R5bGUnKTtcbiAgICAgIH1cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbGF5b3V0LCAnb3V0cHV0Jykge1xuICAgICAgICAkb3V0cHV0LXN0eWxlOiBtYXAtZ2V0KCRsYXlvdXQsICdvdXRwdXQnKTtcbiAgICAgIH1cblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRsYXlvdXQsICdndXR0ZXIgc3R5bGUnKSB7XG4gICAgICAgICRndXR0ZXItc3R5bGU6IG1hcC1nZXQoJGxheW91dCwgJ2d1dHRlciBzdHlsZScpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBsYXlvdXQoJGdyaWQsICRndXR0ZXIsICRvdXRwdXQtc3R5bGUsICRndXR0ZXItc3R5bGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcImxhbmd1YWdlL3BhcnNlLWxpc3RcIjtcbkBpbXBvcnQgXCJsYW5ndWFnZS9wYXJzZS1hZGRcIjtcbkBpbXBvcnQgXCJsYW5ndWFnZS9zcGFuXCI7IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQYXJzZSBuYXR1cmFsIGxhbmd1YWdlIHN0cmluZ1xuLy9cbi8vIFJldHJpZXZlIHZhbHVlcyBmcm9tIHRoZSBuYXR1cmFsIGxhbmd1YWdlIHN0cmluZy5cbi8vIHBhcnNlLXN0cmluZygkdmFyLCAkbGlzdClcbi8vICAkdmFyICA6IDxzdHJpbmc+XG4vLyAgICAgICAgLSAnYXQnLydzcGFuJy8nb2YnIG9yIGFueSBvdGhlciBrZXl3b3Jkcy5cbi8vICAgICAgICAtICdzcGFuJyBxdWVyaWVzIHRoZSB1bnByZWZpeGVkIHNwYW4gZGVjbGFyYXRpb24uXG4vLyAgICAgICAgLSAnYXQnIGNhbiBhbHNvIHF1ZXJ5IGZpcnN0LCBsYXN0LCBhbHBoYSwgYW5kIG9tZWdhLlxuLy8gICAgICAgIC0gJ2dyaWQnIHdpbGwgcmV0dXJuIHRoZSBzYW1lIGFzICdvZidcbi8vICAkbGlzdCA6IDxsaXN0PlxuLy8gICAgICAgIC0gQSBsaXN0IGxpa2UgdGhpczogbGFzdCAyIG9mICgxIDEgMikgcHVzaCAxXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gcGFyc2Utc3Bhbi1saXN0KCR2YXIsICRsaXN0KSB7XG5cbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkZ3JpZDogKCk7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGxpc3QuXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAvLyBpZiAnc3BhbicgLSByZXR1cm4gdGhlIGZpcnN0IG51bWVyaWMuXG4gICAgLy8gaWYga2V5d29yZCB3YXMgZm91bmQgLSByZXR1cm4gdGhlIGZvbGxvd2luZyBpdGVtLlxuICAgIEBpZiAodHlwZS1vZigkaXRlbSkgPT0gbnVtYmVyIGFuZCAkdmFyID09IHNwYW4gYW5kICRmb3VuZCAhPSAnZ3JpZCcpIG9yICRmb3VuZCA9PSB0cnVlIHtcblxuICAgICAgLy8gQGlmICRmb3VuZCA9PSB0cnVlXG4gICAgICBAcmV0dXJuICRpdGVtO1xuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIEdyaWRzXG4gICAgQGVsc2UgaWYgKCRpdGVtID09ICR2YXIgb3IgJGl0ZW0gPT0gJ2dyaWQnIG9yICRpdGVtID09ICdvZicpIGFuZCAoJHZhciA9PSAnb2YnIG9yICR2YXIgPT0gJ2dyaWQnKSB7XG4gICAgICAkZm91bmQ6ICdncmlkJztcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkZm91bmQgPT0gJ2dyaWQnIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBudW1iZXIge1xuICAgICAgICAkZ3JpZDogYXBwZW5kKCRncmlkLCAkaXRlbSwgJ3NwYWNlJyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gJGdyaWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQW55IGtleXdvcmQgLSByZXR1cm4gdGhlIGZvbGxvd2luZyB2YWx1ZS5cbiAgICBAZWxzZSBpZiAkaXRlbSA9PSAkdmFyIHtcbiAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBXYXNuJ3QgZm91bmQuXG4gIEByZXR1cm4gZmFsc2U7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQYXJzZSBhZGQgc3RyaW5nXG4vL1xuLy8gUmV0cmlldmUgYWRkIGFuZCBtZWRpYSBxdWVyeSB2YWx1ZXMgZnJvbSBhIGRlZmluaXRpb25cbi8vIHBhcnNlLWFkZCgkZGVmaW5pdGlvbilcbi8vICAkZGVmaW5pdGlvbiA6IDxsaXN0PlxuLy8gICAgICAgIC0gQSBsaXN0IGxpa2U6IC4yNSBhdCAzMDBweFxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIHBhcnNlLWFkZCgkZGVmaW5pdGlvbikge1xuICAkcGFyc2UtZmluZDogKCk7XG4gICRwYXJzZS1tcTogbnVsbDtcbiAgJHBhcnNlLW1xLWZpbmQ6IGZhbHNlO1xuICAkTW9iaWxlLUZpcnN0OiBzZ3MtZ2V0KCdtb2JpbGUgZmlyc3QnKTtcblxuICBAZWFjaCAkaXRlbSBpbiAkZGVmaW5pdGlvbiB7XG4gICAgQGlmICRpdGVtICE9ICdhdCcgYW5kICRwYXJzZS1tcS1maW5kICE9IHRydWUge1xuICAgICAgJHBhcnNlLWZpbmQ6IGFwcGVuZCgkcGFyc2UtZmluZCwgJGl0ZW0sICdzcGFjZScpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkaXRlbSA9PSAnYXQnIHtcbiAgICAgICRwYXJzZS1tcS1maW5kOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkcGFyc2UtbXE6ICRpdGVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFyc2UtbXEge1xuICAgIEBpZiBub3QgZnVuY3Rpb24tZXhpc3RzKGJyZWFrcG9pbnQpIHtcbiAgICAgIEB3YXJuIFwiUmVzcG9uc2l2ZSBjb250ZXh0cyByZXF1aXJlIEJyZWFrcG9pbnQgKGh0dHBzOi8vZ2l0aHViLmNvbS9UZWFtLVNhc3MvYnJlYWtwb2ludCkuIFBsZWFzZSBlbnN1cmUgdGhhdCBCcmVha3BvaW50IGlzIGltcG9ydGVkIGFuZCBhdmFpbGFibGUgZm9yIFNpbmd1bGFyaXR5IHRvIHVzZS4gQ29udGV4dCBzZXQgdG8gLTFweC5cIjtcbiAgICAgICRwYXJzZS1tcTogLTFweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQtcGFyc2U6IGJyZWFrcG9pbnQoJHBhcnNlLW1xKTtcbiAgICAgICRicmVha3BvaW50LXBhcnNlOiBtYXAtZ2V0KCRicmVha3BvaW50LXBhcnNlLCAnY29udGV4dCBob2xkZXInKTtcbiAgICAgICRicmVha3BvaW50LW1xOiBudWxsO1xuICAgICAgQGlmICRNb2JpbGUtRmlyc3Qge1xuICAgICAgICAkYnJlYWtwb2ludC1tcTogbWFwLWdldCgkYnJlYWtwb2ludC1wYXJzZSwgJ21pbi13aWR0aCcpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkYnJlYWtwb2ludC1tcTogbWFwLWdldCgkYnJlYWtwb2ludC1wYXJzZSwgJ21heC13aWR0aCcpO1xuICAgICAgfVxuXG4gICAgICBAaWYgbGVuZ3RoKCRicmVha3BvaW50LW1xKSA+IDEge1xuICAgICAgICBAd2FybiBcIlJlc3BvbnNpdmUgY29udGV4dHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIGBvcmAgcXVlcmllcyBhcyB3aGljaCBxdWVyeSB0byB1c2UgaXMgYW1iaWd1b3VzLiBQbGVhc2Ugb25seSB1c2Ugc2luZ2xlIGNvbnRleHQgcXVlcmllcy4gQ29udGV4dCBzZXQgdG8gLTFweC5cIjtcbiAgICAgICAgJHBhcnNlLW1xOiAtMXB4O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgbGVuZ3RoKCRicmVha3BvaW50LW1xKSA8IDEge1xuICAgICAgICBAd2FybiBcIk5vIFwiICsgaWYoJE1vYmlsZS1GaXJzdCwgJ21pbi13aWR0aCcsICdtYXgtd2lkdGgnKSArICcgY29udGV4dCBmb3VuZC4gUGxlYXNlIHVzZSBhIG1lZGlhIHF1ZXJ5IHdpdGggdGhlIGNvcnJlY3QgY29udGV4dC4gQ29udGV4dCBzZXQgdG8gLTFweC4nO1xuICAgICAgICAkcGFyc2UtbXE6IC0xcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZS1tcTogbnRoKCRicmVha3BvaW50LW1xLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhcnNlLW1xIGFuZCB1bml0KCRwYXJzZS1tcSkgPT0gJ2VtJyB7XG4gICAgJHBhcnNlLW1xOiAkcGFyc2UtbXEgLyAxZW0gKiAxNnB4O1xuICB9XG5cbiAgQHJldHVybiAoJHBhcnNlLWZpbmQgJHBhcnNlLW1xKTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gXCJOYXR1cmFsIExhbmd1YWdlXCIgUGFyc2luZ1xuLy9cbi8vIEtleXdvcmRzOlxuLy8gIHNwYW46ICAgICBDb2x1bW4gU3BhblxuLy8gIGF0OiAgICAgICBDb2x1bW4gTG9jYXRpb25cbi8vICBvZjogICAgICAgQ29udGV4dFxuLy8gIGd1dHRlcnM6ICBHdXR0ZXJzXG4vLyAgb3V0cHV0OiAgIE91dHB1dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gc3BhbigkaW5wdXQpIHtcbiAgJHNwYW46ICAgICAgbnRoKCRpbnB1dCwgMSk7XG5cbiAgJGxvY2F0aW9uOiAgcGFyc2Utc3Bhbi1saXN0KCdhdCcsICRpbnB1dCk7XG4gICRjb250ZXh0OiAgIHBhcnNlLXNwYW4tbGlzdCgnb2YnLCAkaW5wdXQpO1xuICAkZ3V0dGVyOiAgICBwYXJzZS1zcGFuLWxpc3QoJ2d1dHRlcnMnLCAkaW5wdXQpO1xuICAkb3V0cHV0OiAgICBwYXJzZS1zcGFuLWxpc3QoJ291dHB1dCcsICRpbnB1dCk7XG5cbiAgQGluY2x1ZGUgZ3JpZC1zcGFuKCRzcGFuLCAkbG9jYXRpb24sICRjb250ZXh0LCAkZ3V0dGVyLCAkb3V0cHV0KVxufSIsIkBpbXBvcnQgXCJtYXRoL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJtYXRoL2d1dHRlcnNcIjtcbkBpbXBvcnQgXCJtYXRoL2NvbnRleHRcIjtcbkBpbXBvcnQgXCJtYXRoL2dyaWRcIjsiLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEZpbmQgd2lkdGgsIGluIHBlcmNlbnRhZ2VzLCBvZiB0aGUgY29sdW1uIHNwYW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGNvbHVtbi1zcGFuKCRzcGFuLCAkbG9jYXRpb24sICRncmlkOiBudWxsLCAkZ3V0dGVyOiBudWxsLCAkZ3V0dGVyLXN0eWxlOiBudWxsKSB7XG4gIC8vIEZpbmQgdGhlIGdyaWQgYW5kIGd1dHRlcnNcbiAgJGdyaWQ6IGZpbmQtZ3JpZCgkZ3JpZCk7XG4gICRndXR0ZXI6IGZpbmQtZ3V0dGVyKCRndXR0ZXIpO1xuICAkZ3V0dGVyLXN0eWxlOiBmaW5kLWd1dHRlci1zdHlsZSgkZ3V0dGVyLXN0eWxlKTtcblxuICBAaWYgZml4ZWQtZ3V0dGVyKCRncmlkLCAkZ3V0dGVyLCAkZ3V0dGVyLXN0eWxlKSB7XG4gICAgJGd1dHRlcjogMDtcbiAgfVxuXG4gIC8vIEBkZWJ1ZyAkZ3JpZDtcbiAgLy8gQGRlYnVnICRndXR0ZXI7XG5cbiAgLy8gQ29tYmluZSB0aGUgZ3JpZCBhbmQgZ3V0dGVyc1xuICAkZ3JpZC1hbmQtZ3V0dGVyczogY29sdW1uLXN1bSgkZ3JpZCwgJGd1dHRlciwgJGd1dHRlci1zdHlsZSk7XG5cbiAgLy8gQGRlYnVnICRncmlkLWFuZC1ndXR0ZXJzO1xuXG4gIC8vIEVxdWFsIHdpZHRoIGdyaWQgYXJlIGVhc3khIERlYWwgd2l0aCB0aGVtIVxuICBAaWYgdHlwZS1vZigkZ3JpZCkgPT0gJ251bWJlcicgb3IgbGVuZ3RoKCRncmlkKSA9PSAxIHtcbiAgICAkc3Bhbi1hbmQtZ3V0dGVyczogJHNwYW4gKyAkZ3V0dGVyICogKCRzcGFuIC0gMSk7XG4gICAgQHJldHVybiAkc3Bhbi1hbmQtZ3V0dGVycyAvICRncmlkLWFuZC1ndXR0ZXJzICogMTAwJTtcbiAgfVxuICAvLyBBc3ltbWV0cmljIGxpc3RzIGFyZSBoYXJkZXIsIHNvIHdlJ3JlIGdvaW5nIHRvIHRyZWF0IHRoZW0gYXMgdGhlaXIgb3duIGdyaWRcbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3JpZCkgPT0gJ2xpc3QnIG9yIGxlbmd0aCgkZ3JpZCkgPiAxIHtcbiAgICAkc3Bhbi1hbmQtZ3V0dGVyczogMDtcblxuICAgIEBpZiAkbG9jYXRpb24gPT0gMSBhbmQgJHNwYW4gPj0gMSB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRzcGFuIHtcbiAgICAgICAgJHNwYW4tYW5kLWd1dHRlcnM6ICRzcGFuLWFuZC1ndXR0ZXJzICsgbnRoKCRncmlkLCAkaSkgKyAkZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkdG90YWw6ICRsb2NhdGlvbiArICRzcGFuIC0gMTtcbiAgICAgIEBpZiAkdG90YWwgIT0gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAkbG9jYXRpb24gdGhyb3VnaCAkdG90YWwge1xuICAgICAgICAgICRzcGFuLWFuZC1ndXR0ZXJzOiAkc3Bhbi1hbmQtZ3V0dGVycyArIG50aCgkZ3JpZCwgJGkpICsgJGd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkc3Bhbi1hbmQtZ3V0dGVyczogJHNwYW4tYW5kLWd1dHRlcnMgLSAkZ3V0dGVyO1xuXG4gICAgQHJldHVybiAkc3Bhbi1hbmQtZ3V0dGVycyAvICRncmlkLWFuZC1ndXR0ZXJzICogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJDYW4ndCBmaW5kIGEgd29ya2luZyBzZXQgb2YgZ3JpZCEgVGhhdCdzIHRlcnJpYmxlIVwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBGaW5kIHRoZSB0b3RhbCBzdW0gb2YgdGhlIGdyaWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGNvbHVtbi1zdW0oJGdyaWQsICRndXR0ZXIsICRndXR0ZXItc3R5bGUpIHtcbiAgJHNwbGl0OiBpZihpbmRleCgkZ3V0dGVyLXN0eWxlLCAnc3BsaXQnKSwgdHJ1ZSwgZmFsc2UpO1xuXG4gIEBpZiB0eXBlLW9mKCRncmlkKSA9PSAnbnVtYmVyJyBvciBsZW5ndGgoJGdyaWQpID09IDEge1xuICAgIEBpZiAkc3BsaXQge1xuICAgICAgQHJldHVybiBudGgoJGdyaWQsIDEpICsgKChjb2x1bW4tY291bnQobnRoKCRncmlkLCAxKSkpICogbnRoKCRndXR0ZXIsIDEpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBudGgoJGdyaWQsIDEpICsgKChjb2x1bW4tY291bnQobnRoKCRncmlkLCAxKSkgLSAxKSAqIG50aCgkZ3V0dGVyLCAxKSk7XG4gICAgfVxuXG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3JpZCkgPT0gJ2xpc3QnIHtcbiAgICAkc3VtOiAwO1xuICAgIEBlYWNoICRjb2x1bW4gaW4gJGdyaWQge1xuICAgICAgJHN1bTogJHN1bSArIG50aCgkY29sdW1uLCAxKTtcbiAgICB9XG4gICAgQGlmICRzcGxpdCB7XG4gICAgICAkc3VtOiAkc3VtICsgKGNvbHVtbi1jb3VudCgkZ3JpZCkpICogbnRoKCRndXR0ZXIsIDEpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc3VtOiAkc3VtICsgKGNvbHVtbi1jb3VudCgkZ3JpZCkgLSAxKSAqIG50aCgkZ3V0dGVyLCAxKTtcbiAgICB9XG4gICAgQHJldHVybiAkc3VtO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmluZCB0aGUgbnVtYmVyIG9mIGdyaWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGNvbHVtbi1jb3VudCgkZ3JpZCkge1xuICBAaWYgdHlwZS1vZigkZ3JpZCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJGdyaWQ7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJGdyaWQpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkZ3JpZCkgPT0gMSB7XG4gICAgICBAcmV0dXJuIG50aCgkZ3JpZCwgMSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbGVuZ3RoKCRncmlkKTtcbiAgICB9XG4gIH1cbn0iLCJAZnVuY3Rpb24gZ3V0dGVyLXNwYW4oJGd1dHRlcjogZmFsc2UsICRncmlkOiBmYWxzZSwgJGd1dHRlci1zdHlsZTogZmFsc2UpIHtcblxuICAvLyBGaW5kIHRoZSBjb2x1bW5zIGFuZCBndXR0ZXJzXG4gICRncmlkOiBmaW5kLWdyaWQoJGdyaWQpO1xuICAkZ3V0dGVyOiBmaW5kLWd1dHRlcigkZ3V0dGVyKTtcbiAgJGd1dHRlci1zdHlsZTogZmluZC1ndXR0ZXItc3R5bGUoJGd1dHRlci1zdHlsZSk7XG5cbiAgQGlmIGZpeGVkLWd1dHRlcigkZ3JpZCwgJGd1dHRlciwgJGd1dHRlci1zdHlsZSkge1xuICAgIEByZXR1cm4gbnRoKCRndXR0ZXIsIDEpO1xuICB9XG5cbiAgLy8gQ29tYmluZSB0aGUgY29sdW1ucyBhbmQgZ3V0dGVyc1xuICAkZ3JpZC1hbmQtZ3V0dGVyczogY29sdW1uLXN1bSgkZ3JpZCwgJGd1dHRlciwgJGd1dHRlci1zdHlsZSk7XG5cbiAgQHJldHVybiAobnRoKCRndXR0ZXIsIDEpIC8gJGdyaWQtYW5kLWd1dHRlcnMpICogMTAwJVxufSIsIkBmdW5jdGlvbiBjb250ZXh0KCRwcmltYXJ5LCAkc2Vjb25kYXJ5KSB7XG4gIEByZXR1cm4gKCRwcmltYXJ5IC8gJHNlY29uZGFyeSkgKiAxMDAlO1xufSIsIkBmdW5jdGlvbiBncmlkLXNwYW4oJHNwYW4sICRsb2NhdGlvbiwgJGdyaWQ6IGZhbHNlLCAkZ3V0dGVyOiBmYWxzZSwgJGd1dHRlci1zdHlsZTogZmFsc2UpIHtcbiAgQHJldHVybiBjb2x1bW4tc3Bhbigkc3BhbiwgJGxvY2F0aW9uLCAkZ3JpZCwgJGd1dHRlciwgJGd1dHRlci1zdHlsZSkgKyBndXR0ZXItc3BhbigkZ3V0dGVyLCAkZ3JpZCwgJGd1dHRlci1zdHlsZSk7XG59IiwiQGltcG9ydCBcImdyaWRzL2FkZFwiO1xuQGltcG9ydCBcImdyaWRzL2ZpbmRcIjsiLCIvLyBBY2NlcHRzIGEgZ3JpZCBkZWZpbml0aW9uIGluIHRoZSBodW1hbi1yZWFkYWJsZSBmb3JtYXQuIENvbnZlcnRzIGl0IHRvIHRoZSBpbnRlcm5hbCBmb3JtYXQsXG4vLyBhcHBlbmRzIGl0IHRvIGEgbGlzdCBvZiBncmlkcyBhbmQgcmV0dXJucyB0aGUgcmVzdWx0aW5nIGxpc3QuXG4vL1xuLy8gTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gb25seSByZXR1cm5zIGEgbmV3IGxpc3QsIGl0IGRvZXMgbm90IG1vZGlmeSB0aGUgc291cmNlIGxpc3QuXG4vL1xuLy8gYWRkLWdyaWQoJGdyaWQtZGVmaW5pdGlvbiwgJGFwcGVuZC10by1saXN0KVxuLy8gLSAkZ3JpZC1kZWZpbml0aW9uIDogPGRlZmluaXRpb24+ICBTZWUgZG9jdW1lbnRhdGlvbiBmb3Igc3ludGF4OlxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vVGVhbS1TYXNzL1Npbmd1bGFyaXR5L3dpa2kvQ3JlYXRpbmctR3JpZHNcbi8vIC0gJGFwcGVuZC10by1saXN0ICA6IFtsaXN0XSAgICAgICAgQSBsaXN0IHRvIGFwcGVuZCB0by5cbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdHMgdG8gJGdyaWRzIGlmIG5vbmUgaXMgc3BlY2lmaWVkLlxuQGZ1bmN0aW9uIGFkZC1ncmlkKCRncmlkLWRlZmluaXRpb24sICRjdXN0b20tbWFwOiBmYWxzZSkge1xuICAkUGFyc2VkOiAgICAgIHBhcnNlLWFkZCgkZ3JpZC1kZWZpbml0aW9uKTsgLy8gUGFyc2VzIGdyaWQgZGVmaW5pdGlvbiB0byBncmlkL2JyZWFrcG9pbnRcbiAgJEdyaWQ6ICAgICAgICBudGgoJFBhcnNlZCwgMSk7IC8vIEUuIGcuIGAoPGdyaWQ+KWAuXG4gICRCcmVha3BvaW50OiAgbnRoKCRQYXJzZWQsIDIpOyAvLyBFaXRoZXIgYCg8YnJlYWtwb2ludD4pYCBvciBmYWxzZS5cbiAgJE1vYmlsZS1GaXJzdDogc2dzLWdldCgnbW9iaWxlIGZpcnN0Jyk7XG4gICRHcmlkLU1hcDogKCk7XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIGEgY3VzdG9tIG1hcCBvciB0aGUgZGVmYXVsdCBtYXBzIHNob3VsZCBiZSB1c2VkLlxuICBAaWYgJGN1c3RvbS1tYXAge1xuICAgICRHcmlkLU1hcDogJGN1c3RvbS1tYXA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBzZ3MtaGFzKCdncmlkcycpIHtcbiAgICAgICRHcmlkLU1hcDogc2dzLWdldCgnZ3JpZHMnKTtcbiAgICB9XG4gIH1cbiAgJEdyaWQtS2V5LUxlbmd0aDogbGVuZ3RoKG1hcC1rZXlzKCRHcmlkLU1hcCkpO1xuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gd2lsbCBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBsaXN0XG4gIC8vIGFuZCB3aGV0aGVyIGl0IGhhcyBubyBicmVha3BvaW50IHNwZWNpZmllZC5cbiAgQGlmICRCcmVha3BvaW50ID09IG51bGwge1xuICAgIC8vIFJldHVybnMgdGhlIGZpcnN0IGl0ZW0gb2YgdGhlIGxpc3QsIGUuIGcuIGAoPGdyaWQ+KWBcbiAgICAkR3JpZC1NYXA6IG1hcC1tZXJnZSgkR3JpZC1NYXAsICgtMXB4OiAkR3JpZCkpO1xuICB9XG4gIC8vIElGIHRoZSBsaXN0IGlzIGluaXRpYXRlZCB3aXRoIGEgbGlzdCBvZiBncmlkIGNvbHVtbnMgbmVlZCB0byBzdGFydCBvZmZcbiAgLy8gYSBjb21tYSBzZXByYXRlZCBsaXN0LlxuICBAZWxzZSB7XG4gICAgQGlmIG5vdCAobWFwLWhhcy1rZXkoJEdyaWQtTWFwLCAtMXB4KSkge1xuICAgICAgJEdyaWQtTWFwOiBtYXAtbWVyZ2UoJEdyaWQtTWFwLCBtYXAtZ2V0KCRTaW5ndWxhcml0eS1TZXR0aW5ncywgJ2dyaWRzJykpO1xuICAgIH1cbiAgICAkR3JpZC1NYXA6IG1hcC1tZXJnZSgkR3JpZC1NYXAsICgkQnJlYWtwb2ludDogJEdyaWQpKTtcbiAgfVxuXG4gICRHcmlkLU1hcDogc29ydC1tYXAoJEdyaWQtTWFwLCBub3QgJE1vYmlsZS1GaXJzdCk7XG5cbiAgQHJldHVybiAkR3JpZC1NYXA7XG59XG5cblxuQG1peGluIGFkZC1ncmlkKCRncmlkLWRlZmluaXRpb24pIHtcbiAgJEFkZC1HcmlkOiBhZGQtZ3JpZCgkZ3JpZC1kZWZpbml0aW9uKTtcbiAgJEhPTERFUjogc2dzLXNldCgnZ3JpZHMnLCAkQWRkLUdyaWQpO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmluZCBHcmlkXG4vL1xuLy8gRmluZHMgdGhlIGdyaWQgdGhhdCB5b3UgYXJlIG9uLlxuLy8gRnJvbSBTaW5ndWxhcml0eVxuLy8gTXVzdCBiZSB1c2luZyBCcmVha3BvaW50IHRvIHdvcmsgcHJvcGVybHlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGZpbmQtZ3JpZCgkdXNlci1jb2x1bW5zOiBudWxsKSB7XG5cbiAgLy8gV2Ugc3VwcGx5IGEgZGVmYXVsdCBpZiB0aGUgdXNlciBoYXNuJ3Qgc2V0IGFueSBncmlkcyBhbmQgaGFzbid0IHBhc3NlZCBpbiBhIGN1c3RvbSBjb2x1bW4gc2V0XG4gIC8vIFRoZSBkZWZhdWx0IHN1cHBsaWVkIGlzIGJhc2VkIG9uIG9yaWdpbmFsIFN1c3kgb3B0aW9uc1xuICAkR3JpZHM6IHNncy1nZXQoJ2dyaWRzJyk7XG5cbiAgJEZvdW5kOiBmaW5kLW9iamVjdCgkR3JpZHMsICR1c2VyLWNvbHVtbnMpO1xuXG4gIEBpZiBsZW5ndGgoJEZvdW5kKSA9PSAxIHtcbiAgICAkRm91bmQ6IG50aCgkRm91bmQsIDEpO1xuICB9XG5cbiAgQHJldHVybiAkRm91bmQ7XG59IiwiQGltcG9ydCBcImd1dHRlcnMvYWRkXCI7XG5AaW1wb3J0IFwiZ3V0dGVycy9maW5kXCI7IiwiLy8gQWNjZXB0cyBhIGd1dHRlciBkZWZpbml0aW9uIGluIHRoZSBodW1hbi1yZWFkYWJsZSBmb3JtYXQuIENvbnZlcnRzIGl0IHRvIHRoZSBpbnRlcm5hbCBmb3JtYXQsXG4vLyBhcHBlbmRzIGl0IHRvIGEgbGlzdCBvZiBndXR0ZXIgYW5kIHJldHVybnMgdGhlIHJlc3VsdGluZyBsaXN0LlxuLy9cbi8vIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIG9ubHkgcmV0dXJucyBhIG5ldyBsaXN0LCBpdCBkb2VzIG5vdCBtb2RpZnkgdGhlIHNvdXJjZSBsaXN0LlxuLy9cbi8vIGFkZC1ndXR0ZXIoJEd1dHRlci1kZWZpbml0aW9uLCAkYXBwZW5kLXRvLWxpc3QpXG4vLyAtICRndXR0ZXItZGVmaW5pdGlvbiA6IDxkZWZpbml0aW9uPiAgU2VlIGRvY3VtZW50YXRpb24gZm9yIHN5bnRheDpcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vVGVhbS1TYXNzL1Npbmd1bGFyaXR5L3dpa2kvQ3JlYXRpbmctR3V0dGVyc1xuLy8gLSAkYXBwZW5kLXRvLWxpc3QgICAgOiBbbGlzdF0gICAgICAgIEEgbGlzdCB0byBhcHBlbmQgdG8uXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdHMgdG8gJGd1dHRlcnMgaWYgbm9uZSBpcyBzcGVjaWZpZWQuXG5AZnVuY3Rpb24gYWRkLWd1dHRlcigkZ3V0dGVyLWRlZmluaXRpb24sICRjdXN0b20tbWFwOiBmYWxzZSkge1xuICAkUGFyc2VkOiAgICAgIHBhcnNlLWFkZCgkZ3V0dGVyLWRlZmluaXRpb24pOyAvLyBQYXJzZXMgR3V0dGVyIGRlZmluaXRpb24gdG8gR3V0dGVyL2JyZWFrcG9pbnRcbiAgJEd1dHRlcjogICAgICAgIG50aCgkUGFyc2VkLCAxKTsgLy8gRS4gZy4gYCg8R3V0dGVyPilgLlxuICAkQnJlYWtwb2ludDogIG50aCgkUGFyc2VkLCAyKTsgLy8gRWl0aGVyIGAoPGJyZWFrcG9pbnQ+KWAgb3IgZmFsc2UuXG4gICRNb2JpbGUtRmlyc3Q6IHNncy1nZXQoJ21vYmlsZSBmaXJzdCcpO1xuICAkR3V0dGVyLU1hcDogKCk7XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIGEgY3VzdG9tIG1hcCBvciB0aGUgZGVmYXVsdCBtYXBzIHNob3VsZCBiZSB1c2VkLlxuICBAaWYgJGN1c3RvbS1tYXAge1xuICAgICRHdXR0ZXItTWFwOiAkY3VzdG9tLW1hcDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIHNncy1oYXMoJ2d1dHRlcnMnKSB7XG4gICAgICAkR3V0dGVyLU1hcDogc2dzLWdldCgnZ3V0dGVycycpO1xuICAgIH1cbiAgfVxuICAkR3V0dGVyLUtleS1MZW5ndGg6IGxlbmd0aChtYXAta2V5cygkR3V0dGVyLU1hcCkpO1xuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gd2lsbCBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBsaXN0XG4gIC8vIGFuZCB3aGV0aGVyIGl0IGhhcyBubyBicmVha3BvaW50IHNwZWNpZmllZC5cbiAgQGlmICRCcmVha3BvaW50ID09IG51bGwge1xuICAgIC8vIFJldHVybnMgdGhlIGZpcnN0IGl0ZW0gb2YgdGhlIGxpc3QsIGUuIGcuIGAoPEd1dHRlcj4pYFxuICAgICRHdXR0ZXItTWFwOiBtYXAtbWVyZ2UoJEd1dHRlci1NYXAsICgtMXB4OiAkR3V0dGVyKSk7XG4gIH1cbiAgLy8gSUYgdGhlIGxpc3QgaXMgaW5pdGlhdGVkIHdpdGggYSBsaXN0IG9mIEd1dHRlciBjb2x1bW5zIG5lZWQgdG8gc3RhcnQgb2ZmXG4gIC8vIGEgY29tbWEgc2VwcmF0ZWQgbGlzdC5cbiAgQGVsc2Uge1xuICAgIEBpZiBub3QgKG1hcC1oYXMta2V5KCRHdXR0ZXItTWFwLCAtMXB4KSkge1xuICAgICAgJEd1dHRlci1NYXA6IG1hcC1tZXJnZSgkR3V0dGVyLU1hcCwgbWFwLWdldCgkU2luZ3VsYXJpdHktU2V0dGluZ3MsICdndXR0ZXJzJykpO1xuICAgIH1cbiAgICAkR3V0dGVyLU1hcDogbWFwLW1lcmdlKCRHdXR0ZXItTWFwLCAoJEJyZWFrcG9pbnQ6ICRHdXR0ZXIpKTtcbiAgfVxuXG4gICRHdXR0ZXItTWFwOiBzb3J0LW1hcCgkR3V0dGVyLU1hcCwgbm90ICRNb2JpbGUtRmlyc3QpO1xuXG4gIEByZXR1cm4gJEd1dHRlci1NYXA7XG59XG5cbkBtaXhpbiBhZGQtZ3V0dGVyKCRndXR0ZXItZGVmaW5pdGlvbikge1xuICAkQWRkLUd1dHRlcjogYWRkLWd1dHRlcigkZ3V0dGVyLWRlZmluaXRpb24pO1xuICAkSE9MREVSOiBzZ3Mtc2V0KCdndXR0ZXJzJywgJEFkZC1HdXR0ZXIpO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmluZCBndXR0ZXJcbi8vXG4vLyBGaW5kcyB0aGUgZ3V0dGVyIHRoYXQgeW91IGFyZSBvbi5cbi8vIEZyb20gU2luZ3VsYXJpdHlcbi8vIE11c3QgYmUgdXNpbmcgQnJlYWtwb2ludCB0byB3b3JrIHByb3Blcmx5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBmaW5kLWd1dHRlcigkdXNlci1ndXR0ZXJzOiBudWxsKSB7XG5cbiAgLy8gV2Ugc3VwcGx5IGEgZGVmYXVsdCBpZiB0aGUgdXNlciBoYXNuJ3Qgc2V0IGFueSBndXR0ZXJzIGFuZCBoYXNuJ3QgcGFzc2VkIGluIGEgY3VzdG9tIGNvbHVtbiBzZXRcbiAgLy8gVGhlIGRlZmF1bHQgc3VwcGxpZWQgaXMgYmFzZWQgb24gb3JpZ2luYWwgU3VzeSBvcHRpb25zXG4gICRHdXR0ZXJzOiBzZ3MtZ2V0KCdndXR0ZXJzJyk7XG5cbiAgJEZvdW5kOiBmaW5kLW9iamVjdCgkR3V0dGVycywgJHVzZXItZ3V0dGVycyk7XG5cbiAgQGlmIGxlbmd0aCgkRm91bmQpID09IDEge1xuICAgICRGb3VuZDogbnRoKCRGb3VuZCwgMSk7XG4gIH1cblxuICBAcmV0dXJuICRGb3VuZDtcbn0iLCJAaW1wb3J0IFwiZ3V0dGVyLXN0eWxlcy9hZGRcIjtcbkBpbXBvcnQgXCJndXR0ZXItc3R5bGVzL2ZpbmRcIjtcbkBpbXBvcnQgXCJndXR0ZXItc3R5bGVzL2hlbHBlcnNcIjsiLCIvLyBBY2NlcHRzIGEgZ3V0dGVyLXN0eWxlIHN0eWxlIGRlZmluaXRpb24gaW4gdGhlIGh1bWFuLXJlYWRhYmxlIGZvcm1hdC4gQ29udmVydHMgaXQgdG8gdGhlIGludGVybmFsIGZvcm1hdCxcbi8vIGFwcGVuZHMgaXQgdG8gYSBsaXN0IG9mIGd1dHRlci1zdHlsZSBzdHlsZXMgYW5kIHJldHVybnMgdGhlIHJlc3VsdGluZyBsaXN0LlxuLy9cbi8vIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIG9ubHkgcmV0dXJucyBhIG5ldyBsaXN0LCBpdCBkb2VzIG5vdCBtb2RpZnkgdGhlIHNvdXJjZSBsaXN0LlxuLy9cbi8vIGFkZC1ndXR0ZXItc3R5bGUtc3R5bGUoJGd1dHRlci1zdHlsZS1zdHlsZS1kZWZpbml0aW9uLCAkYXBwZW5kLXRvLWxpc3QpXG4vLyAtICRndXR0ZXItc3R5bGUtZGVmaW5pdGlvbiA6IDxkZWZpbml0aW9uPiAgU2VlIGRvY3VtZW50YXRpb24gZm9yIHN5bnRheDpcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vVGVhbS1TYXNzL1Npbmd1bGFyaXR5L3dpa2kvQ3JlYXRpbmctR3JpZHNcbi8vIC0gJGFwcGVuZC10by1saXN0ICAgIDogW2xpc3RdICAgICAgICBBIGxpc3QgdG8gYXBwZW5kIHRvLlxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRzIHRvICRndXR0ZXItc3R5bGVzIGlmIG5vbmUgaXMgc3BlY2lmaWVkLlxuQGZ1bmN0aW9uIGFkZC1ndXR0ZXItc3R5bGUoJGd1dHRlci1zdHlsZS1kZWZpbml0aW9uLCAkY3VzdG9tLW1hcDogZmFsc2UpIHtcbiAgJFBhcnNlZDogICAgICAgIHBhcnNlLWFkZCgkZ3V0dGVyLXN0eWxlLWRlZmluaXRpb24pOyAvLyBQYXJzZXMgZ3V0dGVyLXN0eWxlIGRlZmluaXRpb24gdG8gZ3V0dGVyLXN0eWxlL2JyZWFrcG9pbnRcbiAgJEd1dHRlci1TdHlsZTogIG50aCgkUGFyc2VkLCAxKTsgLy8gRS4gZy4gYCg8Z3V0dGVyLXN0eWxlPilgLlxuICAkQnJlYWtwb2ludDogICAgbnRoKCRQYXJzZWQsIDIpOyAvLyBFaXRoZXIgYCg8YnJlYWtwb2ludD4pYCBvciBmYWxzZS5cbiAgJE1vYmlsZS1GaXJzdDogIHNncy1nZXQoJ21vYmlsZSBmaXJzdCcpO1xuICAkR3V0dGVyLVN0eWxlLU1hcDogKCk7XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIGEgY3VzdG9tIG1hcCBvciB0aGUgZGVmYXVsdCBtYXBzIHNob3VsZCBiZSB1c2VkLlxuICBAaWYgJGN1c3RvbS1tYXAge1xuICAgICRHdXR0ZXItU3R5bGUtTWFwOiAkY3VzdG9tLW1hcDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIHNncy1oYXMoJ2d1dHRlciBzdHlsZXMnKSB7XG4gICAgICAkR3V0dGVyLVN0eWxlLU1hcDogc2dzLWdldCgnZ3V0dGVyIHN0eWxlcycpO1xuICAgIH1cbiAgfVxuICAkR3V0dGVyLVN0eWxlLUtleS1MZW5ndGg6IGxlbmd0aChtYXAta2V5cygkR3V0dGVyLVN0eWxlLU1hcCkpO1xuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gd2lsbCBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBsaXN0XG4gIC8vIGFuZCB3aGV0aGVyIGl0IGhhcyBubyBicmVha3BvaW50IHNwZWNpZmllZC5cbiAgQGlmICRCcmVha3BvaW50ID09IG51bGwge1xuICAgIC8vIFJldHVybnMgdGhlIGZpcnN0IGl0ZW0gb2YgdGhlIGxpc3QsIGUuIGcuIGAoPGd1dHRlci1zdHlsZT4pYFxuICAgICRHdXR0ZXItU3R5bGUtTWFwOiBtYXAtbWVyZ2UoJEd1dHRlci1TdHlsZS1NYXAsICgtMXB4OiAkR3V0dGVyLVN0eWxlKSk7XG4gIH1cbiAgLy8gSUYgdGhlIGxpc3QgaXMgaW5pdGlhdGVkIHdpdGggYSBsaXN0IG9mIGd1dHRlci1zdHlsZSBjb2x1bW5zIG5lZWQgdG8gc3RhcnQgb2ZmXG4gIC8vIGEgY29tbWEgc2VwcmF0ZWQgbGlzdC5cbiAgQGVsc2Uge1xuICAgIEBpZiBub3QgKG1hcC1oYXMta2V5KCRHdXR0ZXItU3R5bGUtTWFwLCAtMXB4KSkge1xuICAgICAgJEd1dHRlci1TdHlsZS1NYXA6IG1hcC1tZXJnZSgkR3V0dGVyLVN0eWxlLU1hcCwgbWFwLWdldCgkU2luZ3VsYXJpdHktU2V0dGluZ3MsICdndXR0ZXIgc3R5bGVzJykpO1xuICAgIH1cbiAgICAkR3V0dGVyLVN0eWxlLU1hcDogbWFwLW1lcmdlKCRHdXR0ZXItU3R5bGUtTWFwLCAoJEJyZWFrcG9pbnQ6ICRHdXR0ZXItU3R5bGUpKTtcbiAgfVxuXG4gICRHdXR0ZXItU3R5bGUtTWFwOiBzb3J0LW1hcCgkR3V0dGVyLVN0eWxlLU1hcCwgbm90ICRNb2JpbGUtRmlyc3QpO1xuXG4gIEByZXR1cm4gJEd1dHRlci1TdHlsZS1NYXA7XG59XG5cbkBtaXhpbiBhZGQtZ3V0dGVyLXN0eWxlKCRndXR0ZXItc3R5bGUtZGVmaW5pdGlvbikge1xuICAkQWRkLWd1dHRlci1zdHlsZTogYWRkLWd1dHRlci1zdHlsZSgkZ3V0dGVyLXN0eWxlLWRlZmluaXRpb24pO1xuICAkSE9MREVSOiBzZ3Mtc2V0KCdndXR0ZXIgc3R5bGVzJywgJEFkZC1ndXR0ZXItc3R5bGUpO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmluZCBndXR0ZXIgc3R5bGVcbi8vXG4vLyBGaW5kcyB0aGUgZ3V0dGVyIHN0eWxlIHRoYXQgeW91IGFyZSB3b3JraW5nIHdpdGguXG4vLyBGcm9tIFNpbmd1bGFyaXR5XG4vLyBNdXN0IGJlIHVzaW5nIEJyZWFrcG9pbnQgdG8gd29yayBwcm9wZXJseVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gZmluZC1ndXR0ZXItc3R5bGUoJHVzZXItZ3V0dGVyLXN0eWxlczogbnVsbCkge1xuXG4gIC8vIFdlIHN1cHBseSBhIGRlZmF1bHQgaWYgdGhlIHVzZXIgaGFzbid0IHNldCBhbnkgZ3V0dGVycyBhbmQgaGFzbid0IHBhc3NlZCBpbiBhIGN1c3RvbSBjb2x1bW4gc2V0XG4gIC8vIFRoZSBkZWZhdWx0IHN1cHBsaWVkIGlzIGJhc2VkIG9uIG9yaWdpbmFsIFN1c3kgb3B0aW9uc1xuICAkR3V0dGVycy1TdHlsZXM6IHNncy1nZXQoJ2d1dHRlciBzdHlsZXMnKTtcblxuICAkRm91bmQ6IGZpbmQtb2JqZWN0KCRHdXR0ZXJzLVN0eWxlcywgJHVzZXItZ3V0dGVyLXN0eWxlcyk7XG5cbiAgQGlmIGxlbmd0aCgkRm91bmQpID09IDEge1xuICAgICRGb3VuZDogbnRoKCRGb3VuZCwgMSk7XG4gIH1cblxuICBAcmV0dXJuICRGb3VuZDtcbn0iLCJAZnVuY3Rpb24gZml4ZWQtZ3V0dGVyKCR1c2VyLWNvbHVtbnMsICR1c2VyLWd1dHRlciwgJHVzZXItZ3V0dGVyLXN0eWxlKSB7XG4gIEBpZiBpbmRleCgkdXNlci1ndXR0ZXItc3R5bGUsICdmaXhlZCcpIHtcbiAgICAvLyBAZGVidWcgJ0ZpeGVkIGluIG91dHB1dCBzdHlsZSc7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJHVzZXItY29sdW1ucykgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkdXNlci1ndXR0ZXIpIHtcbiAgICAvLyBAZGVidWcgJ0VxdWFsIGNvbHVtbnMgd2l0aCBhIHVuaXQgYmFzZWQgZ3V0dGVyJztcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkdXNlci1jb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiB1bml0KG50aCgkdXNlci1jb2x1bW5zLCAxKSkgIT0gdW5pdCgkdXNlci1ndXR0ZXIpIHtcbiAgICAgIC8vIEBkZWJ1ZyAnQ29sdW1ucyBhbmQgZ3V0dGVycyBhcmUgZGlmZmVyZW50IHVuaXRzJztcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AZnVuY3Rpb24gZ3V0dGVyLXByb3BlcnR5KCR1c2VyLWNvbHVtbnMsICR1c2VyLWd1dHRlciwgJHVzZXItZ3V0dGVyLXN0eWxlKSB7XG4gIEBpZiBmaXhlZC1ndXR0ZXIoJHVzZXItY29sdW1ucywgJHVzZXItZ3V0dGVyLCAkdXNlci1ndXR0ZXItc3R5bGUpIHtcbiAgICBAcmV0dXJuICdwYWRkaW5nJztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAnbWFyZ2luJztcbiAgfVxufSIsIkBpbXBvcnQgXCJhcGkvZmxvYXRcIjtcbkBpbXBvcnQgXCJhcGkvaXNvbGF0aW9uXCI7XG5AaW1wb3J0IFwiYXBpL2NhbGNcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBNYXN0ZXIgR3JpZCBTcGFuIG1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBtaXhpbiBncmlkLXNwYW4oJHNwYW4sICRsb2NhdGlvbjogMSwgJGdyaWQ6IG51bGwsICRndXR0ZXI6IG51bGwsICRvdXRwdXQtc3R5bGU6IG51bGwsICRndXR0ZXItc3R5bGU6IG51bGwsICRvcHRpb25zOiBudWxsKSB7XG5cbiAgQGlmICRvdXRwdXQtc3R5bGUgPT0gbnVsbCB7XG4gICAgJG91dHB1dC1zdHlsZTogc2dzLWdldCgnb3V0cHV0Jyk7XG4gIH1cblxuICAkR3JpZDogZmluZC1ncmlkKCRncmlkKTtcbiAgJEd1dHRlcjogZmluZC1ndXR0ZXIoJGd1dHRlcik7XG4gICRTdHlsZTogZmluZC1ndXR0ZXItc3R5bGUoJGd1dHRlci1zdHlsZSk7XG5cbiAgJFN0YXJ0LVJvdzogc3RhcnQtcm93KCRsb2NhdGlvbik7XG4gICRFbmQtUm93OiBlbmQtcm93KCRzcGFuLCAkbG9jYXRpb24sICRHcmlkKTtcblxuICAkRml4ZWQtR3V0dGVyOiBmaXhlZC1ndXR0ZXIoJEdyaWQsICRHdXR0ZXIsICRTdHlsZSk7XG4gICRTcGxpdC1HdXR0ZXI6IGluZGV4KCRTdHlsZSwgJ3NwbGl0Jyk7XG4gICRHdXR0ZXItUHJvcGVydHk6IGd1dHRlci1wcm9wZXJ0eSgkR3JpZCwgJEd1dHRlciwgJFN0eWxlKTtcblxuICAkRGlyZWN0aW9uOiBzZ3MtZ2V0KCdkaXJlY3Rpb24nKTtcbiAgJEZyb206IGlmKCRvcHRpb25zIGFuZCB0eXBlLW9mKCRvcHRpb25zKSA9PSAnbWFwJywgaWYobWFwLWdldCgkb3B0aW9ucywgJ2Zyb20nKSwgbWFwLWdldCgkb3B0aW9ucywgJ2Zyb20nKSwgJERpcmVjdGlvbiksICREaXJlY3Rpb24pO1xuICAkRnJvbTogaWYoJEZyb20gPT0gJ2x0cicgb3IgJEZyb20gPT0gJ3J0bCcsIG5hbWVkLWRpcmVjdGlvbigkRnJvbSksICRGcm9tKTtcblxuICAkSG9sZGVyOiAoKTtcbiAgQGVhY2ggJGssICR2IGluICRvcHRpb25zIHtcbiAgICAkSG9sZGVyOiBpZigkayA9PSAnZnJvbScsICRIb2xkZXIsIG1hcC1tZXJnZSgkSG9sZGVyLCAoJGs6ICR2KSkpO1xuICB9XG4gICRvcHRpb25zOiBpZihsZW5ndGgoJEhvbGRlcikgPiAwLCAkSG9sZGVyLCBudWxsKTtcblxuICAkU3Bhbi1NYXA6IChcbiAgICAnc3Bhbic6ICRzcGFuLFxuICAgICdsb2NhdGlvbic6ICRsb2NhdGlvbixcbiAgICAnZ3JpZCc6ICRHcmlkLFxuICAgICdndXR0ZXInOiAkR3V0dGVyLFxuICAgICdzdHlsZSc6ICRTdHlsZSxcbiAgICAnc3RhcnQgcm93JzogJFN0YXJ0LVJvdyxcbiAgICAnZW5kIHJvdyc6ICRFbmQtUm93LFxuICAgICdmaXhlZCBndXR0ZXInOiAkRml4ZWQtR3V0dGVyLFxuICAgICdzcGxpdCBndXR0ZXInOiAkU3BsaXQtR3V0dGVyLFxuICAgICdndXR0ZXIgcHJvcGVydHknOiAkR3V0dGVyLVByb3BlcnR5LFxuICAgICdvcHRpb25zJzogJG9wdGlvbnNcbiAgKTtcblxuICBAaWYgc2dzLWdldCgnZGVidWcnKSAhPSBmYWxzZSB7XG4gICAgLXNncy1zcGFuLXNldHRpbmdzOiBpbnNwZWN0KCRTcGFuLU1hcCk7XG4gIH1cblxuXG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoJ291dHB1dC0jeyRvdXRwdXQtc3R5bGV9Jykge1xuICAgICRMZWZ0OiAoKTtcbiAgICAkUmlnaHQ6ICgpO1xuXG4gICAgQGlmICREaXJlY3Rpb24gPT0gJ2JvdGgnIG9yICRGcm9tID09ICdsZWZ0JyBvciAoJERpcmVjdGlvbiA9PSAncnRsJyBhbmQgJEZyb20gPT0gJ29wcG9zaXRlJykge1xuICAgICAgJExlZnQ6IGNhbGwoJ291dHB1dC0jeyRvdXRwdXQtc3R5bGV9JywgbWFwLW1lcmdlKCRTcGFuLU1hcCwgKCdkaXJlY3Rpb24nOiBsZWZ0KSkpO1xuICAgIH1cblxuICAgIEBpZiAkRGlyZWN0aW9uID09ICdib3RoJyBvciAkRnJvbSA9PSAncmlnaHQnIG9yICgkRGlyZWN0aW9uID09ICdsdHInIGFuZCAkRnJvbSA9PSAnb3Bwb3NpdGUnKSB7XG4gICAgICAkUmlnaHQ6IGNhbGwoJ291dHB1dC0jeyRvdXRwdXQtc3R5bGV9JywgbWFwLW1lcmdlKCRTcGFuLU1hcCwgKCdkaXJlY3Rpb24nOiByaWdodCkpKTtcbiAgICB9XG5cbiAgICAkTGVmdC1LZXlzOiBtYXAta2V5cygkTGVmdCk7XG4gICAgJFJpZ2h0LUtleXM6IG1hcC1rZXlzKCRSaWdodCk7XG4gICAgJEV4Y2x1ZGU6ICgpO1xuXG4gICAgQGVhY2ggJGtleSBpbiAkTGVmdC1LZXlzIHtcbiAgICAgIEBpZiBpbmRleCgkUmlnaHQtS2V5cywgJGtleSkge1xuICAgICAgICBAaWYgbWFwLWdldCgkUmlnaHQsICRrZXkpID09IG1hcC1nZXQoJExlZnQsICRrZXkpIHtcbiAgICAgICAgICAkRXhjbHVkZTogYXBwZW5kKCRFeGNsdWRlLCAka2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsd2F5cyB0cnkgYW5kIHByaW50IHRoZSBMZWZ0IHZhbHVlXG4gICAgQGluY2x1ZGUgZ3JpZC1zcGFuLWJ1aWxkLWV4Y2x1ZGUoJExlZnQsICRFeGNsdWRlLCBmYWxzZSk7XG5cbiAgICAvLyBJZiBEaXJlY3Rpb24gaXMgQm90aCBvciBSVEwsIGFkZCB0aGUgUlRMIGF0dHJpYnV0ZSBzZWxlY3RvclxuICAgIEBpZiAkRGlyZWN0aW9uID09ICdib3RoJyBvciAkRGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc3Bhbi1idWlsZC1leGNsdWRlKCRSaWdodCwgJEV4Y2x1ZGUsIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNwYW4tYnVpbGQtZXhjbHVkZSgkUmlnaHQsICRFeGNsdWRlLCB0cnVlKTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiVGhlcmUgZG9lc24ndCBhcHBlYXIgdG8gYmUgYW4gb3V0cHV0IHN0eWxlIG5hbWVkIGAjeyRvdXRwdXQtc3R5bGV9YC4gUGxlYXNlIGVuc3VyZSB0aGF0IHRoZSBmdW5jdGlvbiBgb3V0cHV0LSN7JG91dHB1dC1zdHlsZX1gIGFuZCB0aGF0IHRoZSBvdXRwdXQgc3R5bGUgYCN7JG91dHB1dC1zdHlsZX1gIGFyZSBib3RoIGF2YWlsYWJsZSBiZWZvcmUgdHJ5aW5nIHRvIHVzZSB0aGVtLlwiO1xuICB9XG59XG5cbkBtaXhpbiBncmlkLXNwYW4tYnVpbGQoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbWFwJyB7XG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlYWNoICRwcmVmaXgsICR2YWwgaW4gJHZhbHVlIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGdyaWQtc3Bhbi1idWlsZC1leGNsdWRlKCRwcm9wZXJ0aWVzLCAkZGVsdGEsICRleGNsdWRlOiBmYWxzZSkge1xuICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmICRleGNsdWRlIHtcbiAgICAgIEBpZiBub3QgaW5kZXgoJGRlbHRhLCAkcHJvcGVydHkpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1zcGFuLWJ1aWxkKCRwcm9wZXJ0eSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zcGFuLWJ1aWxkKCRwcm9wZXJ0eSwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbn0iLCJAZnVuY3Rpb24gb3V0cHV0LWZsb2F0KCRTcGFuLU1hcCkge1xuICAvLyBTZXQgdXAgTGVmdC9SaWdodCBtYXBzXG4gICRSZXR1cm46ICgpO1xuXG4gICRTcGFuOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ3NwYW4nKTtcbiAgJExvY2F0aW9uOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ2xvY2F0aW9uJyk7XG5cbiAgJEdyaWQ6IG1hcC1nZXQoJFNwYW4tTWFwLCAnZ3JpZCcpO1xuICAkR3V0dGVyOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ2d1dHRlcicpO1xuICAkU3R5bGU6IG1hcC1nZXQoJFNwYW4tTWFwLCAnc3R5bGUnKTtcblxuICAkU3RhcnQtUm93OiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ3N0YXJ0IHJvdycpO1xuICAkRW5kLVJvdzogbWFwLWdldCgkU3Bhbi1NYXAsICdlbmQgcm93Jyk7XG5cbiAgJEZpeGVkLUd1dHRlcjogbWFwLWdldCgkU3Bhbi1NYXAsICdmaXhlZCBndXR0ZXInKTtcbiAgJFNwbGl0LUd1dHRlcjogbWFwLWdldCgkU3Bhbi1NYXAsICdzcGxpdCBndXR0ZXInKTtcbiAgJEd1dHRlci1Qcm9wZXJ0eTogbWFwLWdldCgkU3Bhbi1NYXAsICdndXR0ZXIgcHJvcGVydHknKTtcblxuICAkRGlyZWN0aW9uOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ2RpcmVjdGlvbicpO1xuICAkT3B0aW9uczogbWFwLWdldCgkU3Bhbi1NYXAsICdvcHRpb25zJyk7XG5cbiAgQGlmICRTdGFydC1Sb3cge1xuICAgICRMb2NhdGlvbjogMTtcbiAgfVxuICBAZWxzZSBpZiAkRW5kLVJvdyB7XG4gICAgJExvY2F0aW9uOiBjb2x1bW4tY291bnQoJEdyaWQpIC0gJFNwYW4gKyAxO1xuICB9XG5cbiAgJFdpZHRoOiBjb2x1bW4tc3BhbigkU3BhbiwgJExvY2F0aW9uLCAkR3JpZCwgJEd1dHRlciwgJFN0eWxlKTtcbiAgJE1hcmdpbi1TcGFuOiBjb2x1bW4tc3BhbigoJExvY2F0aW9uIC0gMSksIDEsICRHcmlkLCAkR3V0dGVyLCAkU3R5bGUpO1xuICAkR3V0dGVyLVNwYW46IGd1dHRlci1zcGFuKCRHdXR0ZXIsICRHcmlkKTtcblxuICAvLyBCYWNrd2FyZHMgQ29tcGF0aWJpbGl0eSBmb3IgT3B0aW9uc1xuICBAaWYgdHlwZS1vZigkT3B0aW9ucykgIT0gJ21hcCcgYW5kICRPcHRpb25zICE9IG51bGwge1xuICAgICRPcHRpb25zOiAoJ2NsZWFyJzogdW5xdW90ZShudGgoJE9wdGlvbnMsIDEpKSk7XG4gIH1cblxuICAkRGlyOiAkRGlyZWN0aW9uO1xuICAkT3BwOiBvcHBvc2l0ZS1kaXJlY3Rpb24oJERpcik7XG5cbiAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnd2lkdGgnOiAkV2lkdGgpKTtcbiAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnY2xlYXInOiAkT3BwKSk7XG5cbiAgQGlmICgkRW5kLVJvdykge1xuICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ2Zsb2F0JzogJE9wcCkpO1xuXG4gICAgQGlmICRTcGxpdC1HdXR0ZXIgYW5kIG5vdCAkRml4ZWQtR3V0dGVyIHtcbiAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skRGlyfSc6IDApKTtcbiAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skT3BwfSc6ICRHdXR0ZXItU3BhbiAvIDIpKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90ICRGaXhlZC1HdXR0ZXIge1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnI3skR3V0dGVyLVByb3BlcnR5fS0jeyRPcHB9JzogMCkpO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnZmxvYXQnOiAkRGlyKSk7XG5cbiAgICBAaWYgJFNwbGl0LUd1dHRlciBhbmQgbm90ICRGaXhlZC1HdXR0ZXIge1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnI3skR3V0dGVyLVByb3BlcnR5fS0jeyREaXJ9JzogJEd1dHRlci1TcGFuIC8gMikpO1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnI3skR3V0dGVyLVByb3BlcnR5fS0jeyRPcHB9JzogJEd1dHRlci1TcGFuIC8gMikpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgJEZpeGVkLUd1dHRlciB7XG4gICAgICBAaWYgJFN0YXJ0LVJvdyB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skRGlyfSc6IDApKTtcbiAgICAgIH1cbiAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skT3BwfSc6ICRHdXR0ZXItU3BhbikpO1xuICAgIH1cbiAgfVxuICAvLyBJZiBvcHRpb25zIGFyZSBzZXQsIHdlIG1lcmdlIHRoZW0gaW4hXG4gIEBpZiAoJE9wdGlvbnMpIHtcbiAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgJE9wdGlvbnMpO1xuICB9XG5cbiAgLy8gSWYgQ0xlYXIgaXNuJ3QgYWxyZWFkeSBhdmFpbGFibGUsIHNldCBpdCFcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkUmV0dXJuLCAnY2xlYXInKSB7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnY2xlYXInOiBub25lKSk7XG4gIH1cblxuICAvLyBMZWZ0IEZpeGVkIEd1dHRlcnNcbiAgQGlmICRGaXhlZC1HdXR0ZXIge1xuICAgIEBpZiBpbmRleCgkU3R5bGUsICdzcGxpdCcpIHtcbiAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skRGlyfSc6ICRHdXR0ZXItU3BhbiAvIDIpKTtcbiAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skT3BwfSc6ICRHdXR0ZXItU3BhbiAvIDIpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkRW5kLVJvdyB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skT3BwfSc6ICRHdXR0ZXItU3BhbikpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgKCcjeyRHdXR0ZXItUHJvcGVydHl9LSN7JE9wcH0nOiAwKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkUmV0dXJuO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhhcHB5IFN5bnRheCBmb3IgRmxvYXRcbi8vXG4vLyBNYWtlcyB3b3JraW5nIHdpdGggRmxvYXQgZWFzaWVyLCBhcyBpdCBhbGxvd3MgeW91IHRvIHdhbGsgdGhlIGdyaWQgZm9yIHN5bW1ldHJpYyBncmlkcyBhbmQgZWFzeSBhcHBseWluZyBvZiAnbGFzdCcgYW5kICdmaXJzdCcsIGFzIHdlbGwgYXMgYXV0b21hdGljYWxseSBidWlsZGluZyB0aGUgdmVyYm9zZSBncmlkLXNwYW4gbWl4aW4gY2FsbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gZmxvYXQtc3BhbigkU3BhbiwgJExvY2F0aW9uOiBmYWxzZSwgJGdyaWQ6IGZhbHNlLCAkZ3V0dGVyOiBmYWxzZSwgJGd1dHRlci1zdHlsZTogZmFsc2UsICRmcm9tOiBmYWxzZSkge1xuICAkZ3JpZDogZmluZC1ncmlkKCRncmlkKTtcbiAgJGd1dHRlcjogZmluZC1ndXR0ZXIoJGd1dHRlcik7XG4gICRyb3c6IGZhbHNlO1xuXG4gICRPcHRpb25zOiBpZigkZnJvbSwgKCdmcm9tJzogJGZyb20pLCBudWxsKTtcblxuICAvLyBXb3JraW5nIGFyb3VuZCBTQVNTIHRyZWF0aW5nIGEgbnVtYmVyIGxpa2UgYSBsaXN0IHdpdGggb25lIGVsZW1lbnRcbiAgQGlmIHR5cGUtb2YoJGdyaWQpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRncmlkKSA9PSAxIHtcbiAgICAkZ3JpZDogbnRoKCRncmlkLCAxKTtcbiAgfVxuXG4gIC8vIFdvcmtpbmcgd2l0aCBhIHN5bW1ldHJpYyBncmlkXG4gIEBpZiB0eXBlLW9mKCRncmlkKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gU3BlY2lhbCB0cmVhdG1lbnQgZm9yIG5vbi1udW1lcmljIGxvY2F0aW9uXG4gICAgQGlmIHR5cGUtb2YoJExvY2F0aW9uKSAhPSAnbnVtYmVyJyB7XG4gICAgICBAaWYgJExvY2F0aW9uID09ICdsYXN0JyBvciAkTG9jYXRpb24gPT0gJ29tZWdhJyB7XG4gICAgICAgICRMb2NhdGlvbjogJGdyaWQgLSAkU3BhbiArIDE7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkTG9jYXRpb24gPT0gJ2ZpcnN0JyBvciAkTG9jYXRpb24gPT0gJ2FscGhhJyB7XG4gICAgICAgICAgJHJvdzogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAkTG9jYXRpb246IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ3JpZC1zcGFuKCRTcGFuLCAkTG9jYXRpb24sICRncmlkLCAkZ3V0dGVyLCAnZmxvYXQnLCAkZ3V0dGVyLXN0eWxlLCAkT3B0aW9ucyk7XG5cbiAgICBAaWYgJHJvdyB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbiAgLy8gV29ya2luZyB3aXRoIGFuIGFzeW1tZXRyaWMgZ3JpZCwgc2hvdWxkIGhhdmUgbG9jYXRpb24gcHJvdmlkZWRcbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3JpZCkgPT0gJ2xpc3QnIGFuZCAkTG9jYXRpb24gIT0gZmFsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtc3BhbigkU3BhbiwgJExvY2F0aW9uLCAkZ3JpZCwgJGd1dHRlciwgJ2Zsb2F0JywgJGd1dHRlci1zdHlsZSwgJE9wdGlvbnMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnQXN5bW1ldHJpYyBHcmlkcyBuZWVkIGEgTG9jYXRpb24gdmFsdWUgYXMgd2VsbCBhcyBhIHNwYW4gdmFsdWUgaW4gb3JkZXIgdG8ga25vdyB3aGVyZSBvbiB0aGUgZ3JpZCB5b3UgYXJlISBQbGVhc2UgaW5jbHVkZSBhIGxvY2F0aW9uIHZhbHVlISc7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBvdXRwdXQtaXNvbGF0aW9uKCRTcGFuLU1hcCkge1xuICAvLyBTZXQgdXAgTGVmdC9SaWdodCBtYXBzXG4gICRSZXR1cm46ICgpO1xuXG4gICRTcGFuOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ3NwYW4nKTtcbiAgJExvY2F0aW9uOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ2xvY2F0aW9uJyk7XG5cbiAgJEdyaWQ6IG1hcC1nZXQoJFNwYW4tTWFwLCAnZ3JpZCcpO1xuICAkR3V0dGVyOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ2d1dHRlcicpO1xuICAkU3R5bGU6IG1hcC1nZXQoJFNwYW4tTWFwLCAnc3R5bGUnKTtcblxuICAkU3RhcnQtUm93OiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ3N0YXJ0IHJvdycpO1xuICAkRW5kLVJvdzogbWFwLWdldCgkU3Bhbi1NYXAsICdlbmQgcm93Jyk7XG5cbiAgJEZpeGVkLUd1dHRlcjogbWFwLWdldCgkU3Bhbi1NYXAsICdmaXhlZCBndXR0ZXInKTtcbiAgJFNwbGl0LUd1dHRlcjogbWFwLWdldCgkU3Bhbi1NYXAsICdzcGxpdCBndXR0ZXInKTtcbiAgJEd1dHRlci1Qcm9wZXJ0eTogbWFwLWdldCgkU3Bhbi1NYXAsICdndXR0ZXIgcHJvcGVydHknKTtcblxuICAkRGlyZWN0aW9uOiBtYXAtZ2V0KCRTcGFuLU1hcCwgJ2RpcmVjdGlvbicpO1xuICAkT3B0aW9uczogbWFwLWdldCgkU3Bhbi1NYXAsICdvcHRpb25zJyk7XG5cbiAgJFdpZHRoOiBjb2x1bW4tc3BhbigkU3BhbiwgJExvY2F0aW9uLCAkR3JpZCwgJEd1dHRlciwgJFN0eWxlKTtcbiAgJE1hcmdpbi1TcGFuOiBjb2x1bW4tc3BhbigoJExvY2F0aW9uIC0gMSksIDEsICRHcmlkLCAkR3V0dGVyLCAkU3R5bGUpO1xuICAkR3V0dGVyLVNwYW46IGd1dHRlci1zcGFuKCRHdXR0ZXIsICRHcmlkKTtcblxuICAvLyBCYWNrd2FyZHMgQ29tcGF0aWJpbGl0eSBmb3IgT3B0aW9uc1xuICBAaWYgdHlwZS1vZigkT3B0aW9ucykgIT0gJ21hcCcgYW5kICRPcHRpb25zICE9IG51bGwge1xuICAgICRPcHRpb25zOiAoJ2NsZWFyJzogdW5xdW90ZShudGgoJE9wdGlvbnMsIDEpKSk7XG4gIH1cblxuICAkRGlyOiAkRGlyZWN0aW9uO1xuICAkT3BwOiBvcHBvc2l0ZS1kaXJlY3Rpb24oJERpcik7XG5cbiAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnd2lkdGgnOiAkV2lkdGgpKTtcblxuICBAaWYgKCRFbmQtUm93KSB7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnZmxvYXQnOiAkT3BwKSk7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnbWFyZ2luLSN7JERpcn0nOiAwKSk7XG5cbiAgICBAaWYgJFNwbGl0LUd1dHRlciBhbmQgbm90ICRGaXhlZC1HdXR0ZXIge1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnI3skR3V0dGVyLVByb3BlcnR5fS0jeyRPcHB9JzogJEd1dHRlci1TcGFuIC8gMikpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgKCdtYXJnaW4tI3skT3BwfSc6IDApKTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ2Zsb2F0JzogJERpcikpO1xuICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ21hcmdpbi0jeyRPcHB9JzogLTEwMCUpKTtcblxuICAgIEBpZiAkU3RhcnQtUm93IHtcbiAgICAgIEBpZiAkU3BsaXQtR3V0dGVyIGFuZCBub3QgJEZpeGVkLUd1dHRlciB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ21hcmdpbi0jeyREaXJ9JzogJEd1dHRlci1TcGFuIC8gMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgbm90ICRGaXhlZC1HdXR0ZXIge1xuICAgICAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgKCdtYXJnaW4tI3skRGlyfSc6IDApKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRTcGxpdC1HdXR0ZXIgYW5kIG5vdCAkRml4ZWQtR3V0dGVyIHtcbiAgICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnbWFyZ2luLSN7JERpcn0nOiAkTWFyZ2luLVNwYW4gKyAkR3V0dGVyLVNwYW4gKyAkR3V0dGVyLVNwYW4gLyAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiBub3QgJEZpeGVkLUd1dHRlciB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ21hcmdpbi0jeyREaXJ9JzogJE1hcmdpbi1TcGFuICsgJEd1dHRlci1TcGFuKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ21hcmdpbi0jeyREaXJ9JzogJE1hcmdpbi1TcGFuKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIElmIG9wdGlvbnMgYXJlIHNldCwgd2UgbWVyZ2UgdGhlbSBpbiFcbiAgQGlmICgkT3B0aW9ucykge1xuICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAkT3B0aW9ucyk7XG4gIH1cblxuICAvLyBJZiBDTGVhciBpc24ndCBhbHJlYWR5IGF2YWlsYWJsZSwgc2V0IGl0IVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRSZXR1cm4sICdjbGVhcicpIHtcbiAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgKCdjbGVhcic6IG5vbmUpKTtcbiAgfVxuXG4gIC8vIExlZnQgRml4ZWQgR3V0dGVyc1xuICBAaWYgJEZpeGVkLUd1dHRlciB7XG4gICAgQGlmIGluZGV4KCRTdHlsZSwgJ3NwbGl0Jykge1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnI3skR3V0dGVyLVByb3BlcnR5fS0jeyREaXJ9JzogJEd1dHRlci1TcGFuIC8gMikpO1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnI3skR3V0dGVyLVByb3BlcnR5fS0jeyRPcHB9JzogJEd1dHRlci1TcGFuIC8gMikpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRFbmQtUm93IHtcbiAgICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnI3skR3V0dGVyLVByb3BlcnR5fS0jeyRPcHB9JzogJEd1dHRlci1TcGFuKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJyN7JEd1dHRlci1Qcm9wZXJ0eX0tI3skT3BwfSc6IDApKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRSZXR1cm47XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFwcHkgU3ludGF4IGZvciBJc29sYXRpb25cbi8vXG4vLyBNYWtlcyB3b3JraW5nIHdpdGggSXNvbGF0aW9uIGVhc2llciwgYXMgaXQgbW92ZXMgQ2xlYXIgdG8gYSAxc3QgY2xhc3MgY2l0aXplbiBvZiB0aGUgbWl4aW4sIGFuZCBhdXRvbWF0aWNhbGx5IGJ1aWxkcyB0aGUgdmVyYm9zZSBncmlkLXNwYW4gbWl4aW4gY2FsbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gaXNvbGF0aW9uLXNwYW4oJFNwYW4sICRMb2NhdGlvbiwgJGNsZWFyOiBmYWxzZSwgJGdyaWQ6IGZhbHNlLCAkZ3V0dGVyOiBmYWxzZSwgJGd1dHRlci1zdHlsZTogZmFsc2UsICRmcm9tOiBmYWxzZSkge1xuICAkT3B0aW9uczogKCk7XG4gIEBpZiAkY2xlYXIge1xuICAgICRPcHRpb25zOiBtYXAtbWVyZ2UoJE9wdGlvbnMsICgnY2xlYXInOiB1bnF1b3RlKCRjbGVhcikpKTtcbiAgfVxuICBAaWYgJGZyb20ge1xuICAgICRPcHRpb25zOiBtYXAtbWVyZ2UoJE9wdGlvbnMsICgnZnJvbSc6ICRmcm9tKSk7XG4gIH1cblxuICAkT3B0aW9uczogaWYobGVuZ3RoKCRPcHRpb25zKSA+IDAsICRPcHRpb25zLCBudWxsKTtcbiAgQGluY2x1ZGUgZ3JpZC1zcGFuKCRTcGFuLCAkTG9jYXRpb24sICRncmlkLCAkZ3V0dGVyLCAnaXNvbGF0aW9uJywgJGd1dHRlci1zdHlsZSwgJE9wdGlvbnMpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhhcHB5IFN5bnRheCBvZiBBc3ltbWV0cmljIEdyaWRzXG4vL1xuLy8gTWFrZXMgd29ya2luZyB3aXRoIGFzeW1tZXRyaWMgZ3JpZHMgZWFzaWVyIVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gYXN5bW1ldHJpYy1zcGFuKCRMb2NhdGlvbiwgJFNwYW46IGZhbHNlLCAkZ3JpZDogZmFsc2UsICRndXR0ZXI6IGZhbHNlLCAkZ3V0dGVyLXN0eWxlOiBmYWxzZSwgJGZyb206IGZhbHNlLCAkb3V0cHV0LXN0eWxlOiBmYWxzZSkge1xuXG4gICRTcGFuOiBpZigkU3BhbiAhPSBmYWxzZSwgJFNwYW4sIDEpO1xuICAkb3V0cHV0LXN0eWxlOiBpZigkb3V0cHV0LXN0eWxlICE9IGZhbHNlLCAkb3V0cHV0LXN0eWxlLCBzZ3MtZ2V0KCdhc3ltbWV0cmljIG91dHB1dCcpKTtcblxuICAkT3B0aW9uczogKCk7XG4gIEBpZiAkZnJvbSB7XG4gICAgJE9wdGlvbnM6IG1hcC1tZXJnZSgkT3B0aW9ucywgKCdmcm9tJzogJGZyb20pKTtcbiAgfVxuICAkT3B0aW9uczogaWYobGVuZ3RoKCRPcHRpb25zKSA+IDAsICRPcHRpb25zLCBudWxsKTtcblxuICBAaW5jbHVkZSBncmlkLXNwYW4oJFNwYW4sICRMb2NhdGlvbiwgJGdyaWQsICRndXR0ZXIsICRvdXRwdXQtc3R5bGUsICRndXR0ZXItc3R5bGUsICRPcHRpb25zKTtcbn0iLCJAZnVuY3Rpb24gb3V0cHV0LWNhbGMoJFNwYW4tTWFwKSB7XG4gIC8vIFNldCB1cCBMZWZ0L1JpZ2h0IG1hcHNcbiAgJFJldHVybjogKCk7XG5cbiAgJFNwYW46IG1hcC1nZXQoJFNwYW4tTWFwLCAnc3BhbicpO1xuICAkTG9jYXRpb246IG1hcC1nZXQoJFNwYW4tTWFwLCAnbG9jYXRpb24nKTtcblxuICAkR3JpZDogbWFwLWdldCgkU3Bhbi1NYXAsICdncmlkJyk7XG4gICRHdXR0ZXI6IG1hcC1nZXQoJFNwYW4tTWFwLCAnZ3V0dGVyJyk7XG4gICRTdHlsZTogbWFwLWdldCgkU3Bhbi1NYXAsICdzdHlsZScpO1xuXG4gIEBpZiB1bml0bGVzcygkR3V0dGVyKSB7XG4gICAgJEVSUk9SLU1FU1NBR0U6IFwiQ2FsYyBvdXRwdXQgc3R5bGUgdXNlcyBmaXhlZCBndXR0ZXJzIChndXR0ZXJzIHdpdGggdW5pdHMpLiBQbGVhc2UgZGVmaW5lIGZpeGVkIGd1dHRlcnMgdG8gdXNlIGNhbGNcIjtcbiAgICBAaWYgZmVhdHVyZS1leGlzdHMoYXQtZXJyb3IpIHtcbiAgICAgIEBlcnJvciAkRVJST1ItTUVTU0FHRTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJEVSUk9SLU1FU1NBR0U7XG4gICAgfVxuICAgIEByZXR1cm4gJFJldHVybjtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRHcmlkKSA9PSAnbnVtYmVyJyB7XG4gICAgJEVSUk9SLU1FU1NBR0U6IFwiQ2FsYyBvdXRwdXQgc3R5bGUgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCB3aXRoIGFzeW1tZXRyaWMgZ3JpZHMsIGVzcGVjaWFsbHkgd2l0aCBhIG1peCBvZiBmaXhlZCBhbmQgZmx1aWQgY29sdW1ucy4gUGxlYXNlIGRlZmluZSBhbiBhc3ltbWV0cmljIGdyaWQgb3IgdXNlIGFub3RoZXIgb3V0cHV0IHN0eWxlLlwiO1xuICAgIEBpZiBmZWF0dXJlLWV4aXN0cyhhdC1lcnJvcikge1xuICAgICAgQGVycm9yICRFUlJPUi1NRVNTQUdFO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAkRVJST1ItTUVTU0FHRTtcbiAgICB9XG4gICAgQHJldHVybiAkUmV0dXJuO1xuICB9XG5cbiAgJFN0YXJ0LVJvdzogbWFwLWdldCgkU3Bhbi1NYXAsICdzdGFydCByb3cnKTtcbiAgJEVuZC1Sb3c6IG1hcC1nZXQoJFNwYW4tTWFwLCAnZW5kIHJvdycpO1xuXG4gICRTcGxpdC1HdXR0ZXI6IG1hcC1nZXQoJFNwYW4tTWFwLCAnc3BsaXQgZ3V0dGVyJyk7XG5cbiAgJERpcmVjdGlvbjogbWFwLWdldCgkU3Bhbi1NYXAsICdkaXJlY3Rpb24nKTtcbiAgJE9wdGlvbnM6IG1hcC1nZXQoJFNwYW4tTWFwLCAnb3B0aW9ucycpO1xuXG4gICREaXI6ICREaXJlY3Rpb247XG4gICRPcHA6IG9wcG9zaXRlLWRpcmVjdGlvbigkRGlyKTtcblxuICAkV2lkdGg6ICcnO1xuICAkTWFyZ2luOiBudWxsO1xuICAkTWluLVdpZHRoOiAnKCc7XG5cbiAgJEZpeGVkOiAoKTtcbiAgJEZsdWlkOiAoKTtcbiAgJEZpeGVkLVRvdGFsczogKCdweCc6IDAsICdlbSc6IDAsICclJzogMCk7XG4gICRHdXR0ZXItVG90YWxzOiBpZihzdHItaW5kZXgoJFN0eWxlLCAnc3BsaXQnKSwgJEd1dHRlciAqIGxlbmd0aCgkR3JpZCksICRHdXR0ZXIgKiAobGVuZ3RoKCRHcmlkKSAtIDEpKTtcbiAgJEZsdWlkLVRvdGFsczogMDtcbiAgJEZsdWlkLUZpeGVkLVN1bTogJyc7XG4gICRTaW5nbGUtRmx1aWQ6ICcnO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRHcmlkKSB7XG4gICAgJEl0ZW06IG50aCgkR3JpZCwgJGkpO1xuICAgIEBpZiBub3QgdW5pdGxlc3MoJEl0ZW0pIHtcbiAgICAgICRGaXhlZDogbWFwLW1lcmdlKCRGaXhlZCwgKCRpOiAkSXRlbSkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkRmx1aWQ6IG1hcC1tZXJnZSgkRmx1aWQsICgkaTogJEl0ZW0pKTtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkaywgJHYgaW4gJEZpeGVkIHtcbiAgICAkVW5pdDogdW5pdCgkdik7XG4gICAgJFJ1bm5pbmc6IG1hcC1nZXQoJEZpeGVkLVRvdGFscywgJFVuaXQpICsgJHY7XG4gICAgJEZpeGVkLVRvdGFsczogbWFwLW1lcmdlKCRGaXhlZC1Ub3RhbHMsICgkVW5pdDogJFJ1bm5pbmcpKTtcbiAgfVxuXG4gIEBlYWNoICRrLCAkdiBpbiAkRmx1aWQge1xuICAgICRGbHVpZC1Ub3RhbHM6ICRGbHVpZC1Ub3RhbHMgKyAkdjtcbiAgfVxuXG4gIEBlYWNoICRrLCAkdiBpbiAkRml4ZWQtVG90YWxzIHtcblxuICAgIEBpZiAkdiAhPSAwIHtcbiAgICAgICRGbHVpZC1GaXhlZC1TdW06ICcjeyRGbHVpZC1GaXhlZC1TdW19I3skdn0gKyAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdpZHRoIG9mIGEgc2luZ2xlIGZsdWlkIGl0ZW0sIGZvciBjYWxjKClcbiAgJFNpbmdsZS1GbHVpZDogJygoMTAwJSAtICgjeyRGbHVpZC1GaXhlZC1TdW19I3skR3V0dGVyLVRvdGFsc30pKSAvICgjeyRGbHVpZC1Ub3RhbHN9KSknO1xuXG4gIC8vIE1hcmdpbiBDYWxjdWxhdGlvblxuICBAaWYgbm90ICRTdGFydC1Sb3cgb3Igbm90ICRFbmQtUm93IHtcbiAgICBAaWYgJFNwbGl0LUd1dHRlciB7XG4gICAgICAkTWFyZ2luOiAnI3skR3V0dGVyIC8gMn0gKyAnO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRvICRMb2NhdGlvbiB7XG4gICAgICBAaWYgdW5pdGxlc3MobnRoKCRHcmlkLCAkaSkpIHtcbiAgICAgICAgJE1hcmdpbjogJyN7JE1hcmdpbn0oI3skU2luZ2xlLUZsdWlkfSAqICN7bnRoKCRHcmlkLCAkaSl9ICsgI3skR3V0dGVyfSkgKyAnO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkTWFyZ2luOiAnI3skTWFyZ2lufSgje250aCgkR3JpZCwgJGkpfSArICN7JEd1dHRlcn0pICsgJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRNYXJnaW4gIT0gbnVsbCB7XG4gICAgJE1hcmdpbjogc3RyLXNsaWNlKCRNYXJnaW4sIDAsIC00KTtcbiAgfVxuXG5cbiAgLy8gV2lkdGggQ2FsY3VsYXRpb25cbiAgQGlmICRTcGFuID09IDEge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkRml4ZWQsICRMb2NhdGlvbikge1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnd2lkdGgnOiBtYXAtZ2V0KCRGaXhlZCwgJExvY2F0aW9uKSkpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkRmx1aWQsICRMb2NhdGlvbikge1xuICAgICAgJE1hdGg6ICcoI3skU2luZ2xlLUZsdWlkfSkgKiAje250aCgkR3JpZCwgJExvY2F0aW9uKX0nO1xuICAgICAgJFNwYW4tTWFwOiAoJ3dpZHRoJzogKCd3ZWJraXQnOiAtd2Via2l0LWNhbGMoI3t1bnF1b3RlKCRNYXRoKX0pLCAnc3RhbmRhcmQnOiBjYWxjKCN7dW5xdW90ZSgkTWF0aCl9KSkpO1xuICAgICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICRTcGFuLU1hcCk7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkTG9jYXRpb24tRW5kOiAkTG9jYXRpb24gKyAoJFNwYW4gLSAxKTtcbiAgICAkRml4ZWQtQ291bnRlcjogMDtcbiAgICBAZm9yICRpIGZyb20gJExvY2F0aW9uIHRocm91Z2ggJExvY2F0aW9uLUVuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MobnRoKCRHcmlkLCAkaSkpIHtcbiAgICAgICAgJFdpZHRoOiAnI3skV2lkdGh9KCN7JFNpbmdsZS1GbHVpZH0gKiAje250aCgkR3JpZCwgJGkpfSc7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRGaXhlZC1Db3VudGVyOiAkRml4ZWQtQ291bnRlciArIDE7XG4gICAgICAgICRNaW4tV2lkdGg6ICcjeyRNaW4tV2lkdGh9I3tudGgoJEdyaWQsICRpKX0gKyAjeyRHdXR0ZXJ9ICsgJztcbiAgICAgICAgJFdpZHRoOiAnI3skV2lkdGh9KCN7bnRoKCRHcmlkLCAkaSl9JztcbiAgICAgIH1cblxuXG4gICAgICBAaWYgJGkgIT0gJExvY2F0aW9uLUVuZCB7XG4gICAgICAgICRXaWR0aDogJyN7JFdpZHRofSArICN7JEd1dHRlcn0pICsgJztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJE1pbi1XaWR0aDogc3RyLXNsaWNlKCRNaW4tV2lkdGgsIDAsIC00KTtcbiAgICAgICAgQGlmICRGaXhlZC1Db3VudGVyID09IDEge1xuICAgICAgICAgICRNaW4tV2lkdGg6ICcjeyRNaW4tV2lkdGh9IC0gI3skR3V0dGVyfSc7XG4gICAgICAgIH1cbiAgICAgICAgJE1pbi1XaWR0aDogJyN7JE1pbi1XaWR0aH0pJztcbiAgICAgICAgJFdpZHRoOiAnI3skV2lkdGh9KSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWluIHdpZHRoIGhhbmRsaW5nXG4gICAgQGlmICRNaW4tV2lkdGggIT0gJyknIHtcbiAgICAgICRNaW4tTWFwOiAoJ21pbi13aWR0aCc6ICgnd2Via2l0JyA6IC13ZWJraXQtY2FsYygje3VucXVvdGUoJE1pbi1XaWR0aCl9KSwgJ3N0YW5kYXJkJzogY2FsYygje3VucXVvdGUoJE1pbi1XaWR0aCl9KSApKTtcblxuICAgICAgQGlmIHNncy1nZXQoJ2NhbGMgaW5jbHVkZSBtaW4td2lkdGgnKSB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAkTWluLU1hcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJFNwYW4tTWFwOiAoJ3dpZHRoJzogKCd3ZWJraXQnOiAtd2Via2l0LWNhbGMoI3t1bnF1b3RlKCRXaWR0aCl9KSwgJ3N0YW5kYXJkJzogY2FsYygje3VucXVvdGUoJFdpZHRoKX0pICkgKTtcbiAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgJFNwYW4tTWFwKTtcbiAgfVxuXG4gIC8vIEJ1aWxkIG1hcmdpbnMgYW5kIEZsb2F0c1xuICBAaWYgKCRFbmQtUm93KSB7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnZmxvYXQnOiAkT3BwKSk7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnbWFyZ2luLSN7JERpcn0nOiAwKSk7XG5cbiAgICBAaWYgJFNwbGl0LUd1dHRlciB7XG4gICAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgKCdtYXJnaW4tI3skT3BwfSc6ICRHdXR0ZXIgLyAyKSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ21hcmdpbi0jeyRPcHB9JzogMCkpO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnZmxvYXQnOiAkRGlyKSk7XG4gICAgJFJldHVybjogbWFwLW1lcmdlKCRSZXR1cm4sICgnbWFyZ2luLSN7JE9wcH0nOiAtMTAwJSkpO1xuXG4gICAgQGlmICRTdGFydC1Sb3cge1xuICAgICAgQGlmICRTcGxpdC1HdXR0ZXIge1xuICAgICAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgKCdtYXJnaW4tI3skRGlyfSc6ICRHdXR0ZXIgLyAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRSZXR1cm46IG1hcC1tZXJnZSgkUmV0dXJuLCAoJ21hcmdpbi0jeyREaXJ9JzogMCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkTWFyZ2luLU1hcDogKCdtYXJnaW4tI3skRGlyfSc6ICgnd2Via2l0JzogLXdlYmtpdC1jYWxjKCN7dW5xdW90ZSgkTWFyZ2luKX0pLCAnc3RhbmRhcmQnOiBjYWxjKCN7dW5xdW90ZSgkTWFyZ2luKX0pKSk7XG4gICAgICAkUmV0dXJuOiBtYXAtbWVyZ2UoJFJldHVybiwgJE1hcmdpbi1NYXApO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJFJldHVybjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFwcHkgU3ludGF4IGZvciBDYWxjXG4vL1xuLy8gTWFrZXMgd29ya2luZyB3aXRoIENhbGMgZWFzaWVyLCBhcyBpdCBtb3ZlcyBDbGVhciB0byBhIDFzdCBjbGFzcyBjaXRpemVuIG9mIHRoZSBtaXhpbiwgYW5kIGF1dG9tYXRpY2FsbHkgYnVpbGRzIHRoZSB2ZXJib3NlIGdyaWQtc3BhbiBtaXhpbiBjYWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBtaXhpbiBjYWxjLXNwYW4oJFNwYW4sICRMb2NhdGlvbiwgJGNsZWFyOiBmYWxzZSwgJGdyaWQ6IGZhbHNlLCAkZ3V0dGVyOiBmYWxzZSwgJGd1dHRlci1zdHlsZTogZmFsc2UsICRmcm9tOiBmYWxzZSkge1xuXG4gIEBpZiAkZ3V0dGVyICE9IGZhbHNlIGFuZCB1bml0bGVzcygkZ3V0dGVyKSB7XG4gICAgQHdhcm4gXCJDYWxjIG91dHB1dCBzdHlsZSB1c2VzIGZpeGVkIGd1dHRlcnMgKGd1dHRlcnMgd2l0aCB1bml0cykuIFBsZWFzZSBkZWZpbmUgZml4ZWQgZ3V0dGVycyB0byB1c2UgY2FsY1wiO1xuICB9XG5cbiAgQGlmICRncmlkICE9IGZhbHNlIGFuZCB0eXBlLW9mKCRncmlkKSA9PSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gXCJDYWxjIG91dHB1dCBzdHlsZSBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIHdpdGggYXN5bW1ldHJpYyBncmlkcywgZXNwZWNpYWxseSB3aXRoIGEgbWl4IG9mIGZpeGVkIGFuZCBmbHVpZCBjb2x1bW5zLiBQbGVhc2UgZGVmaW5lIGFuIGFzeW1tZXRyaWMgZ3JpZC5cIjtcbiAgfVxuXG4gICRPcHRpb25zOiAoKTtcbiAgQGlmICRjbGVhciB7XG4gICAgJE9wdGlvbnM6IG1hcC1tZXJnZSgkT3B0aW9ucywgKCdjbGVhcic6ICRjbGVhcikpO1xuICB9XG4gIEBpZiAkZnJvbSB7XG4gICAgJE9wdGlvbnM6IG1hcC1tZXJnZSgkT3B0aW9ucywgKCdmcm9tJzogJGZyb20pKTtcbiAgfVxuXG4gICRPcHRpb25zOiBpZihsZW5ndGgoJE9wdGlvbnMpID4gMCwgJE9wdGlvbnMsIG51bGwpO1xuICBAaW5jbHVkZSBncmlkLXNwYW4oJFNwYW4sICRMb2NhdGlvbiwgJGdyaWQsICRndXR0ZXIsICdjYWxjJywgJGd1dHRlci1zdHlsZSwgJE9wdGlvbnMpO1xufVxuIiwiaHRtbCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLy9cbi8vMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4vLyAgIHVzZXIgem9vbS5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLy9cbi8vUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy9cbi8vQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbi8vYW5kIEZpcmVmb3guXG4vL0NvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vL1xuLy9QcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy9SZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy9BZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vL0hpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy9cbi8vUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vL0ltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyLFxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vL1xuLy9BZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vL0FkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy9BZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vL2NvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vL0FkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vL0FkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy9cbi8vUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vXG4vL0NvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vL1xuLy9BZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vL0FkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbi8vXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy9cbi8vS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vL1xuLy9BZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy9BZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vL0FsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vL0NvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vL0NvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8xLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICBhbmQgYHZpZGVvYCBjb250cm9scy5cbi8vMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8zLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLy9cbi8vUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vL0FkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vL0l0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLzEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLzIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLy9cbi8vRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLzEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy8yLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4vLyAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8vXG4vL1JlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy9TYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4vL3BhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy9EZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuLy8yLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vL1xuLy9SZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuLy9OT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy9cbi8vUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvL1xuLy8gVGhpcyBpcyB3aGF0IGlzIHVzZWQgaW4gdGhlIGNvbXBhc3MgcmVzZXQ6XG4vL1xuLy9cbi8vaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCxcbi8vaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLFxuLy9ibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sXG4vL2FkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sXG4vL2VtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCxcbi8vc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLFxuLy9jZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLFxuLy9sYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LFxuLy90aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcyxcbi8vZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLFxuLy9oZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksXG4vL3NlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlb1xuLy9cbi8vXG4vLyBXZSB1c2UgYSBtb3JlIGNhdXRpb3VzIGFwcHJvYWNoOlxuLy9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBhLCBibG9ja3F1b3RlLCB1bCwgb2wsIGRsLCBkZCwgZHQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIjc2tpcC1saW5rIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDA7XG59XG5cbi5wYW5lbHMtZmxleGlibGUtcmVnaW9uLW5ldy1jZW50ZXIsXG4ucGFuZWxzLWZsZXhpYmxlLXJlZ2lvbi0yMC1jZW50ZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmdlb2xvY2F0aW9uLW1hcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuZGl2LmN0b29scy1tb2RhbC1jb250ZW50IC5mb3JtLWl0ZW0gbGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IGluaGVyaXQ7XG59XG5cbmRpdi5jdG9vbHMtbW9kYWwtY29udGVudCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbmltZy5sYXp5bG9hZGVyLWljb24ge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0fSIsIi5sYW5nLXJ0bCB7XG5cbiAgdWwubWVudSB7XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmLmV4cGFuZGVkLFxuICAgICAgJi5jb2xsYXBzZWQsXG4gICAgICAmLmxlYWYge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn1cblxuIiwiLy9cbi8vIE5ldyBuYW1pbmcgY29udmVudGlvbjpcbi8vICAgdW50aWwgPSBmcm9tIHplcm8gdG8gdGhlIGVuZCBvZiB0aGF0IGJyZWFrcG9pbnRcbi8vICAgZnJvbSAgPSBmcm9tIHRoZSBzdGFydCBvZiB0aGF0IGJyZWFrcG9pbnQgdW50aWwgaW5maW5pdHlcbi8vXG5cbi8vJGJwLXVudGlsLW9uZS1jb2w6IDBweCA0NzlweDtcbiRicC1vbmUtY29sOiAwcHggNDc5cHg7XG4kYnAtZnJvbS1vbmUtY29sOiAwcHg7XG5cbiRicC11bnRpbC10d28tY29sOiAwcHggNzY2cHg7XG4kYnAtdHdvLWNvbDogNDgwcHggNzY2cHg7XG4kYnAtZnJvbS10d28tY29sOiA0ODBweDtcblxuJGJwLXVudGlsLXRocmVlLWNvbDogMHB4IDEzNThweDtcbiRicC10aHJlZS1jb2w6IDc2OHB4IDEzNThweDtcbiRicC1mcm9tLXRocmVlLWNvbDogNzY4cHg7XG5cbiRicC11bnRpbC1mb3VyLWNvbDogMHB4IDE1NTFweDtcbiRicC1mb3VyLWNvbDogMTM1OXB4IDE1NTFweDtcbiRicC1mcm9tLWZvdXItY29sOiAxMzU5cHg7XG5cblxuLy8gQ3VzdG9tIGJyZWFrcG9pbnRzIG5vdCBkZXBlbmRpbmcgb24gY29sdW1uc1xuLy8gTWFpbmx5IHVzZWQgdG8gZGVmaW5lIG91dGVyIGdyaWQgd3JhcHBlciBhbmQgcmVtXG4kYnAtdGhyZWUtY29sLWZsdWlkOiA3NjZweCAxMDIzcHg7XG4kYnAtdGhyZWUtY29sLWNlbnRlcjogMTAyNHB4O1xuJGJwLXRocmVlLWNvbC1hZGp1c3Q6IDExNjdweDtcbiRicC1hYm92ZS1mb3VyLWNvbDogMTU1MXB4O1xuXG4vLyBEZXZpY2VzIGJyZWFrcG9pbnRzXG4vLyBTbWFsbCBkZXNrdG9wXG4kYnAtdW50aWwtc21hbGwtZGVza3RvcDogMCAxMzU4cHg7XG4kYnAtdW50aWwtaXBhZC1wcm86IDAgMTM2OHB4O1xuJGJwLWZyb20tc21hbGwtZGVza3RvcDogMTAyNHB4O1xuJGJwLXNtYWxsLWRlc2t0b3A6IDEwMjRweCAxMzU4cHg7XG4vLyBUYWJsZXRzXG4kYnAtdW50aWwtdGFibGV0OiAwIDEwMjNweDtcbiRicC10by10YWJsZXQ6IDEwMjNweDtcbiRicC1mcm9tLXRhYmxldDogNzY4cHg7XG4kYnAtdW50aWwtdGFibGV0LWluY2x1ZGluZzogMCA3NjhweDtcbiRicC10YWJsZXQ6IDc2OHB4IDEwMjNweDtcbiRicC10YWJsZXQtYW5kLWxhcmdlLXBob25lOiA2MDBweCAxMDIzcHg7XG4vL1Bob25lc1xuJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lOiAwIDc2NnB4O1xuJGJwLWZyb20tZXh0cmEtbGFyZ2UtcGhvbmU6IDYwMHB4O1xuJGJwLWV4dHJhLWxhcmdlLXBob25lOiA2MDBweCA3NjZweDtcbiRicC11bnRpbC1sYXJnZS1waG9uZTogMCA1OTlweDtcbiRicC1mcm9tLWxhcmdlLXBob25lOiA0ODBweDtcbiRicC1sYXJnZS1waG9uZTogNDgwcHggNTk5cHg7XG4kYnAtdW50aWwtcGhvbmU6IDAgNDc5cHg7XG4kYnAtdW50aWwtc21hbGwtcGhvbmU6IDAgMzc5cHg7XG4kYnAtc21hbGxlc3QtcGhvbmU6IDAgMzIwcHg7XG5cbi8vYnJvY2h1cmUgYnJlYWtwb2ludHNcbiRicC1icm9jaHVyZS1tb2JpbGUtc21hbGw6IDAgMzc1cHg7XG4kYnAtYnJvY2h1cmUtbW9iaWxlOiAwIDc1MHB4O1xuJGJwLWJyb2NodXJlLXRhYmxldDogNzUwcHggMTAyNHB4O1xuJGJwLWJyb2NodXJlLWxhcHRvcDogMTAyNXB4OyAvLyB1bnRpbCAxNDQwcHggcHJvYmFibHlcbiRicC1icm9jaHVyZS11bnRpbC1sYXB0b3A6IDAgMTAyNXB4O1xuJGJwLWJyb2NodXJlLWlwYWRzOiAxMDI1cHggMTQ0MHB4O1xuIiwiLy9cbi8vIFRoZSBtaXhpbiB0YWtlcyB0d28gYnJlYWtwb2ludHMgYW5kIGNyZWF0ZXMgYSBtZWRpYXF1ZXJ5XG4vLyBzcGFubmluZyBmcm9tIHRoZSBzdGFydCBvZiB0aGUgZmlyc3QgYnJlYWtwb2ludCB0byB0aGVcbi8vIGVuZCBvZiB0aGUgc2Vjb25kIGJyZWFrcG9pbnQuXG4vL1xuXG5AbWl4aW4gY29tYmluZS1icmVha3BvaW50cygkZmlyc3QsICRsYXN0KSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobnRoKCRmaXJzdCwgMSkgbnRoKCRsYXN0LCAyKSkge1xuICAgIEBjb250ZW50XG4gIH1cbn0iLCIvL1xuLy8gU3RhbmRhcmQgUGFkZGluZyBVbml0XG4vL1xuQGZ1bmN0aW9uIHNwdSgkZmFjdG9yKSB7XG4gIEByZXR1cm4gMi40cmVtICogJGZhY3Rvcjtcbn1cblxuXG4vL1xuLy8gSGVscGVyIHRvIHdyaXRlIGEgZ3V0dGVyIHZpYSBsZWZ0L3JpZ2h0IHByb3BlcnR5LlxuLy8gVXNlZCBieSBndXR0ZXItcGFkKCkgYW5kIGd1dHRlci1wdXNoKCkgbWl4aW5zLlxuLy9cbkBtaXhpbiBndXR0ZXItc2V0KCRsZWZ0OiBudWxsLCAkcmlnaHQ6IG51bGwsICRwcm9wZXJ0eS1wcmVmaXg6IFwiXCIpIHtcbiAgQGlmICRsZWZ0ICAhPSBudWxsIHsgI3skcHJvcGVydHktcHJlZml4fWxlZnQ6ICAkbGVmdCAgKiAkZ3V0dGVyLS1oYWxmOyB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7ICN7JHByb3BlcnR5LXByZWZpeH1yaWdodDogJHJpZ2h0ICogJGd1dHRlci0taGFsZjsgfVxufVxuXG5cbi8vXG4vLyBIZWxwZXIgdG8gd3JpdGUgYSBndXR0ZXIgdmlhIHBhZGRpbmdcbi8vXG5AbWl4aW4gZ3V0dGVyLXBhZCgkbGVmdDogbnVsbCwgJHJpZ2h0OiBudWxsKSB7XG4gIEBpbmNsdWRlIGd1dHRlci1zZXQoJGxlZnQsICRyaWdodCwgXCJwYWRkaW5nLVwiKTtcbn1cblxuXG4vL1xuLy8gSGVscGVyIHRvIHdyaXRlIGEgZ3V0dGVyIHZpYSBtYXJnaW5cbi8vXG5AbWl4aW4gZ3V0dGVyLXB1c2goJGxlZnQ6IG51bGwsICRyaWdodDogbnVsbCkge1xuICBAaW5jbHVkZSBndXR0ZXItc2V0KCRsZWZ0LCAkcmlnaHQsIFwibWFyZ2luLVwiKTtcbn1cblxuXG4vL1xuLy8gSGVscGVyIHRvIHdyaXRlIGEgZ3V0dGVyIHZpYSB0cmFuc3BhcmVudCBib3JkZXJcbi8vXG5AbWl4aW4gZ3V0dGVyLWNyb3AoJGxlZnQ6IG51bGwsICRyaWdodDogbnVsbCwgJHVzZS1zaG9ydGhhbmQ6IHRydWUpIHtcblxuICBAZWFjaCAkc2lkZSwgJHdpZHRoIGluIChsZWZ0OiAkbGVmdCwgcmlnaHQ6ICRyaWdodCkge1xuICAgIEBpZiAkd2lkdGggIT0gbnVsbCB7XG4gICAgICBAaWYgJHVzZS1zaG9ydGhhbmQgPT0gdHJ1ZSB7XG4gICAgICAgIGJvcmRlci0jeyRzaWRlfTogJHdpZHRoICogJGd1dHRlci0taGFsZiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYm9yZGVyLSN7JHNpZGV9LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLSN7JHNpZGV9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLSN7JHNpZGV9LXdpZHRoOiAkd2lkdGggKiAkZ3V0dGVyLS1oYWxmO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3V0ZXItZ3JpZC13cmFwcGVyIHtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7XG4gICAgbWF4LXdpZHRoOiA3NjdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkge1xuICAgIG1heC13aWR0aDogMTAwOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbC1hZGp1c3QpIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDExNTJweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMzQ0cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYWJvdmUtZm91ci1jb2wpIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDE1MzZweDtcbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC13cmFwcGVyLTRjb2wge1xuICBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7XG4gICAgICBtYXgtd2lkdGg6IDc4N3B4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMjhweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtYWRqdXN0KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTE3MnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTM2NHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1hYm92ZS1mb3VyLWNvbCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDE1NTZweDtcbiAgICB9XG4gIH1cblxuLm91dGVyLWdyaWQtd3JhcHBlciB7XG4gIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xufVxuXG5AbWl4aW4gZmlsdGVyLWdyaWQtd3JhcHBlciB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY2xlYXI6IGJvdGg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRicC10aHJlZS1jb2wtY2VudGVyfSkge1xuICAgIG1heC13aWR0aDogOTg0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRicC10aHJlZS1jb2wtYWRqdXN0fSkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTE1MXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skYnAtZnJvbS1mb3VyLWNvbH0pIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEzNDRweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCN7JGJwLWFib3ZlLWZvdXItY29sfSkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTUzNnB4O1xuICB9XG59IiwiLy9cbi8vIEd1dHRlclxuLy9cbiRndXR0ZXItLWZ1bGw6IDIuNHJlbTtcbiRndXR0ZXItLWhhbGY6ICRndXR0ZXItLWZ1bGwvMjtcbiRndXR0ZXItLXRleHQ6ICRndXR0ZXItLWZ1bGwqMztcbiRndXR0ZXItLW1lZGlhOiAkZ3V0dGVyLS1mdWxsKjM7XG4kZ3V0dGVyLS1kb3VibGU6ICRndXR0ZXItLWZ1bGwqMjtcblxuLy8gZmluZCByaWdodCBzaXplcyAgXG4vKkBtaXhpbiBvdXRlci1ncmlkLXdyYXBwZXIge1xuXHRtYXgtd2lkdGg6IDExNTJweDtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGNsZWFyOiBib3RoO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gb3V0ZXItZ3JpZC13cmFwcGVyLWdsIHtcblx0bWF4LXdpZHRoOiAxNTM2cHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRjbGVhcjogYm90aDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn0qL1xuXG5cbiIsIi8vXG4vLyBHcmlkXG4vL1xuQGluY2x1ZGUgYWRkLWdyaWQoNCBhdCAkYnAtb25lLWNvbCk7XG5AaW5jbHVkZSBhZGQtZ3JpZCg4IGF0ICRicC1mcm9tLXR3by1jb2wpO1xuQGluY2x1ZGUgYWRkLWdyaWQoMTIgYXQgJGJwLWZyb20tdGhyZWUtY29sKTtcbkBpbmNsdWRlIGFkZC1ncmlkKDE2IGF0ICRicC1mcm9tLWZvdXItY29sKTtcblxuXG4vL1xuLy8gR3V0dGVyXG4vL1xuQGluY2x1ZGUgYWRkLWd1dHRlcigkZ3V0dGVyLS1mdWxsKTtcbkBpbmNsdWRlIGFkZC1ndXR0ZXItc3R5bGUoc3BsaXQgZml4ZWQpO1xuXG5cbi8vXG4vLyBPcHRpb25zXG4vL1xuLy9AaW5jbHVkZSBzZ3MtY2hhbmdlKCdvdXRwdXQnLCAnZmxvYXQnKTtcbi8vQGluY2x1ZGUgc2dzLWNoYW5nZSgnZGVidWcnLCB0cnVlKTtcbiIsIi8vIERlZmluaXRpb24gYnkgbmFtZVxuJGJyaWdodC1yZWQ6ICNjNDAwMGI7XG4kcGVyc2lhbi1yZWQ6ICNjNDAwMGI7XG4kd2UtcGVlcDogI2ZhZWFlYTtcbiRjb2xvci1qbGwtcmVkOiAjZWQxYzI0O1xuXG4kb2xpdmUtZHJhYjogIzU0OGIyODtcbiR3aWxsb3ctYnJvb2s6ICNlZWYzZTk7XG4kaW5wdXQtcGxhY2Vob2xkZXI6ICNmZjJiMzc7XG5cbiRtb25nb29zZTogI2JkOWY4NTtcbiRibHVlLXpvZGlhYzogIzEzMzc1YjtcbiRzaXJvY2NvOiAjNmM3Njc4O1xuJG1pbmUtc2hhZnQ6ICMzMzMzMzM7XG5cbiRzaWx2ZXI6ICNjY2NjY2M7XG4kZ2FsbGVyeTogI2VmZWZlZjtcbiRkb3ZlLWdyYXk6ICM2NjY2NjY7XG4kYmx1ZS1zbW9rZTogIzdhODQ4MDtcbiRhcXVhLWdyYXk6ICM2Yjc2Nzg7XG5cbiRncmF5LWxpZ2h0OiAjZDNkN2RhO1xuJHNodXR0bGUtZ3JheTogIzU1Njk3NztcbiRzaHV0dGxlLWdyYXktZGFyazogIzU5NWU2NDtcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI2ZmZmZmZjtcbi8vJHNoYXJrOiAjMWUyMTI0OyAgLy8gb2xkIHZhcmlhbnRcbiRzaGFyazogIzI5MmUzMjtcbiRibGFjay10ZWFtLW92ZXJ2aWV3OiAjMDAwO1xuJG1pZG5pZ2h0OiAjMDExYjM0O1xuJGRvdmUtZ3JheTogIzY0NjQ2NDtcblxuJHBpY2tsZWQtYmx1ZXdvb2Q6ICMzNDQ5NWQ7XG4kYWJiZXk6ICM0YjRkNTA7XG4kbGltZWQtc3BydWNlOiAjMzk0MTQ2O1xuJHNsYXRlLWdyYXk6ICM3MjgyOGI7XG5cbiRibGFjay1oYXplOiAjZjFmMmYzO1xuJGJsYWNrLWhhemUtb3BhY2l0eTogcmdiYSgyNDEsIDI0MiwgMjQzLCAwLjk1KTtcbiRkdXN0eS1ncmF5OiAjOUI5QjlCO1xuXG4kc2h1dHRsZS1yZWQ6ICNlMTEwMTM7XG4kcmFuZ2UtZ3JheTogI2IxYjFiMTtcbiRyYW5nZS1kYXJrLWdyYXk6ICM2ZjZmNmU7XG4kc2h1dHRsZS1yZWQtZGFyazogI2E1MWExNztcbiRwcm9wZXJ0eS10ZWFzZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG5cbi8vXG4vLyBEZWZpbml0aW9uIGJ5IGNvbG9yIGFuZCBzaGFkZSAtIGN1cnJlbnRseSBub3QgaW4gdXNlXG4vL1xuLy8kY29sb3ItcmVkOiAkYnJpZ2h0LXJlZDtcblxuLy8kY29sb3ItYmVpZ2U6ICRtb25nb29zZTtcblxuLy8kY29sb3ItYmx1ZS1taWQ6ICRibHVlLXpvZGlhYztcbi8vJGNvbG9yLWJsdWUtZGFyazogJG1pZG5pZ2h0O1xuXG4vLyRjb2xvci1ncmF5LWxpZ2h0ZXN0OiAkZ2FsbGVyeTtcbi8vJGNvbG9yLWdyYXktbGlnaHRlcjogJHNpbHZlcjtcbi8vJGNvbG9yLWdyYXktbGlnaHQ6ICRzaXJvY2NvO1xuLy8kY29sb3ItZ3JheS1taWQ6ICRzaHV0dGxlLWdyYXk7XG4vLyRjb2xvci1ncmF5LWRhcms6ICRtaW5lLXNoYWZ0O1xuLy8kY29sb3ItZ3JleS1kYXJrZXI6ICRzaGFyaztcblxuXG4vL1xuLy8gRGVmaW5pdGlvbiBieSBwb3J0YWwgYW5kIHVzYWdlIC0gY3VycmVudGx5IG5vdCBpbiB1c2Vcbi8vXG4vLyRjb2xvci1maC1iYWNrZ3JvdW5kOiAkc2hhcms7XG4vL1xuLy8kY29sb3ItY2ktYmFja2dyb3VuZDogJHNodXR0bGUtZ3JheTtcbi8vJGNvbG9yLWNpLWhlYWRsaW5lOiAkYmx1ZS16b2RpYWM7XG4vLyRjb2xvci1jaS1zdWJsaW5lOiAkc2lyb2Njbztcbi8vXG4vLyRjb2xvci1wZy1iYWNrZ3JvdW5kOiAkbWlkbmlnaHQ7XG4vL1xuLy8kY29sb3ItZGVmYXVsdC10ZXh0OiAkbWluZS1zaGFmdDtcbi8vJGNvbG9yLWRlZmF1bHQtZm9vdGVyLWJhY2tncm91bmQ6ICRibGFjaztcblxuLy9cbi8vIERlZmluaXRpb24gYnkgZmxvcmlcbi8vXG4vLyBUZXh0IGNvbG9yc1xuJHRleHQtY29sb3ItMTogJG1vbmdvb3NlO1xuJHRleHQtY29sb3ItMjogJGJsdWUtem9kaWFjO1xuJHRleHQtY29sb3ItMzogJHNpcm9jY287XG4kdGV4dC1jb2xvci00OiAkbWluZS1zaGFmdDtcbiR0ZXh0LWNvbG9yLTU6ICRkb3ZlLWdyYXk7XG4kdGV4dC1jb2xvci02OiAkc2hhcms7XG4kdGV4dC1jb2xvci03OiAkd2hpdGU7XG5cbi8vIEFjY2VudCBjb2xvcnNcbiRhY2NlbnQtY29sb3ItMTogJGJyaWdodC1yZWQ7XG4kYWNjZW50LWNvbG9yLTI6ICRwZXJzaWFuLXJlZDtcbiRhY2NlbnQtY29sb3ItMi1saWdodDogJHdlLXBlZXA7XG4kYWNjZW50LWNvbG9yLTM6ICRvbGl2ZS1kcmFiO1xuJGFjY2VudC1jb2xvci0zLWxpZ2h0OiAkd2lsbG93LWJyb29rO1xuJGFjY2VudC1jb2xvci00OiAjZmY2YTZhO1xuXG4vLyBFbGVtZW50IGNvbG9yc1xuJGVsZW1lbnQtY29sb3ItMTogJGRvdmUtZ3JheTtcbiRlbGVtZW50LWNvbG9yLTI6ICRibHVlLXNtb2tlO1xuLy8kZWxlbWVudC1jb2xvci0zOiA7XG4kZWxlbWVudC1jb2xvci00OiAkc2lsdmVyO1xuJGVsZW1lbnQtY29sb3ItNTogJHNsYXRlLWdyYXk7XG4kZWxlbWVudC1jb2xvci02OiAkbGltZWQtc3BydWNlO1xuLy8kZWxlbWVudC1jb2xvci03OlxuJGVsZW1lbnQtY29sb3ItODogJGdhbGxlcnk7XG5cbi8vIEJhY2tncm91bmQgY29sb3JzXG4kYmctY29sb3ItMTogJHNodXR0bGUtZ3JheTtcbiRiZy1jb2xvci0yOiAkYmxhY2s7XG4kYmctY29sb3ItMzogJHNoYXJrO1xuJGJnLWNvbG9yLTQ6ICRzaHV0dGxlLWdyYXktZGFyaztcbi8vJGJnLWNvbG9yLTQ6IDtcbiRiZy1jb2xvci01OiAjMDAwO1xuLy8gJGJnLWNvbG9yLTU6ICRtaWRuaWdodDtcbiRiZy1jb2xvci02OiAkcGlja2xlZC1ibHVld29vZDtcbiRiZy1jb2xvci03OiAkYWJiZXk7XG4kYmctY29sb3ItODogJGdyYXktbGlnaHQ7XG4kYmctY29sb3ItOTogJGFxdWEtZ3JheTtcbiRiZy1jb2xvci0xMDogJGJsYWNrLWhhemU7XG4kYmctY29sb3ItMTE6ICRibGFjay1oYXplLW9wYWNpdHk7XG4kYmctY29sb3ItMTI6ICMyYTJmMzM7XG5cbiRjdXN0b20taGlzdG9yeS1jb2xvcjogI0FFQUVBRTtcblxuJGNpLWFuZC1wZy1iYWNrZ3JvdW5kOiAjZDRkMmQyO1xuIiwiLy8gVG9kbzogKEhIKSBXZWl0ZXJlcyBtaXhpbiBmw7xyIGZlcnRpZ2Ugc29jaWFsIGljb25zIGJlcmVpdHN0ZWxsZW4/XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBNaXhpbiBmb3IgZGVmaW5pbmcgaWNvbnM6XG4vLyAgIC0gZGVmaW5lcyBmb250LWZhbWlseSBldGMuXG4vLyAgIC0gcmV0cmlldmVzIHV0Zi04IGNvZGUgZGVmaW5lZCBpbiB0aGUgc3BlY2lmaWMgaWNvbmZvbnQtc3R5bGVzaGVldFxuLy8gICAtIG9wdGlvbmFsbHkgc3BlY2lmeSB0aGUgcHNldWRvLWVsZW1lbnQgZm9yIHRoZSBpY29uXG4vL1xuLy8gRXhhbXBsZTogLmktd2FudC1teS1pY29uLWhlcmUge1xuLy8gICAgICAgICAgICAgQGluY2x1ZGUgaWNvbignY3VzdG9tJywgJ2ZvdG9saWFfMjMxODU0ODNfdGVsZWZvbicpO1xuLy8gICAgICAgICAgIH1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUb2RvOiAoSEgpIHZlcnRpY2FsIGFsaWdubWVudCBoaWVyIHNjaG9uIHJlZ2Vsbj9cblxuQG1peGluIGljb24oJGljb24tZmFtaWx5LCAkaWNvbi1uYW1lLCAkZWxlbWVudDogYmVmb3JlKSB7XG4gICY6OiN7JGVsZW1lbnR9IHtcbiAgICBAZXh0ZW5kIC56YmxfI3skaWNvbi1mYW1pbHl9X2ljb25mb250O1xuICAgIEBleHRlbmQgLnpibF8jeyRpY29uLWZhbWlseX1fXyN7JGljb24tbmFtZX06YmVmb3JlO1xuICB9XG59XG5cbi8vIERlZmF1bHRzIGZvciBhbiBpY29uIHdpdGggcm91bmQgYm9yZGVyIG5leHQgdG8gYSBsaW5rXG4vLyBlLmcuIHBob25lIGljb24gaW4gaGVhZGVyXG5AbWl4aW4gemJsLWJvcmRlci1pY29uKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2FtZSBhcyBhYm92ZSwgYnV0IHdpdGggcHJvcGVydGllcyBtZWV0aW5nIHRoZVxuLy8gcmVxdWlyZW1lbnRzIG9mIHJ0bC1sYXlvdXRzXG5AbWl4aW4gemJsLWJvcmRlci1pY29uLXJ0bCgpIHtcbiAgQGluY2x1ZGUgemJsLWJvcmRlci1pY29uKCk7XG4gIGEge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxufSIsIi8vXG4vLyBXZSBoYXZlIHRvIGNoYW5nZSB0aGUgb3JkZXIgdG8gcHJldmVudCBjdXQgb2ZmIGljb25zIGluIGNocm9tZS5cbi8vXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICd6YmxfY3VzdG9tX2ljb25mb250JztcbiAgc3JjOnVybCgnLi4vZm9udHMvemJsX2N1c3RvbV9pY29uZm9udC96YmxfY3VzdG9tX2ljb25mb250LmVvdD9jeDFpeDQnKTtcbiAgc3JjOnVybCgnLi4vZm9udHMvemJsX2N1c3RvbV9pY29uZm9udC96YmxfY3VzdG9tX2ljb25mb250LmVvdD8jaWVmaXhjeDFpeDQnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vZm9udHMvemJsX2N1c3RvbV9pY29uZm9udC96YmxfY3VzdG9tX2ljb25mb250LnN2Zz9jeDFpeDQjemJsX2N1c3RvbV9pY29uZm9udCcpIGZvcm1hdCgnc3ZnJyksXG4gIHVybCgnLi4vZm9udHMvemJsX2N1c3RvbV9pY29uZm9udC96YmxfY3VzdG9tX2ljb25mb250LndvZmY/Y3gxaXg0JykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vZm9udHMvemJsX2N1c3RvbV9pY29uZm9udC96YmxfY3VzdG9tX2ljb25mb250LndvZmYyP2N4MWl4NCcpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi9mb250cy96YmxfY3VzdG9tX2ljb25mb250L3pibF9jdXN0b21faWNvbmZvbnQudHRmP2N4MWl4NCcpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi56YmxfY3VzdG9tX2ljb25mb250IHtcbiAgZm9udC1mYW1pbHk6ICd6YmxfY3VzdG9tX2ljb25mb250JztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMWVtO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV9mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuXG4uemJsX2N1c3RvbV9fYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG5cbi56YmxfY3VzdG9tX19ldXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XG59XG5cbi56YmxfY3VzdG9tX19nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cblxuLnpibF9jdXN0b21fX3VzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuXG4uemJsX2N1c3RvbV9feWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG5cbi56YmxfY3VzdG9tX19mb3RvbGlhXzIzMTg1NDgzX3RlbGVmb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDBcIjtcbn1cblxuLnpibF9jdXN0b21fX2ZvdG9saWFfMjMxODU0ODNfd2VsdGt1Z2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAxXCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2F3ZXNvbWVfYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDJcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV9hbmdsZS1kb3VibGUtZG93bjI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDNcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV9hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwNFwiO1xufVxuXG4uemJsX2N1c3RvbV9faWNvbW9vbl9hd2Vzb21lX2FuZ2xlLWRvdWJsZS1sZWZ0MjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwNVwiO1xufVxuXG4uemJsX2N1c3RvbV9faWNvbW9vbl9hd2Vzb21lX2FuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwNlwiO1xufVxuXG4uemJsX2N1c3RvbV9faWNvbW9vbl9hd2Vzb21lX2FuZ2xlLWRvdWJsZS1yaWdodDI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDdcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV9hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDhcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV9hbmdsZS1kb3VibGUtdXAyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA5XCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2F3ZXNvbWVfYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwYVwiO1xufVxuXG4uemJsX2N1c3RvbV9faWNvbW9vbl9hd2Vzb21lX2FuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGJcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV9hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwY1wiO1xufVxuXG4uemJsX2N1c3RvbV9faWNvbW9vbl9hd2Vzb21lX2dvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBkXCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2F3ZXNvbWVfbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGVcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV9waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGZcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fYXdlc29tZV90d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjEwXCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2F3ZXNvbWVfeW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxMVwiO1xufVxuXG4uemJsX2N1c3RvbV9faWNvbW9vbl9icmFua2ljMTk3OV9jYW5jZWwzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjEyXCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2JyYW5raWMxOTc5X2NoZWNrbWFyazM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTNcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fZW50eXBvX2Fycm93LWxlZnQ2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE0XCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2VudHlwb19hcnJvdy1sZWZ0NzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxNVwiO1xufVxuXG4uemJsX2N1c3RvbV9faWNvbW9vbl9lbnR5cG9fYXJyb3ctcmlnaHQ2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE2XCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2VudHlwb19hcnJvdy11cDc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTdcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fZW50eXBvX2dvb2dsZXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MThcIjtcbn1cblxuLnpibF9jdXN0b21fX2ljb21vb25fZW50eXBvX3F1b3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE5XCI7XG59XG5cbi56YmxfY3VzdG9tX19pY29tb29uX2Vzc2VudGlhbHNfZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MWFcIjtcbn1cblxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnemJsX2xpbmVhcl9pY29uZm9udCc7XG4gIHNyYzp1cmwoJy4uL2ZvbnRzL3pibF9saW5lYXJfaWNvbmZvbnQvemJsX2xpbmVhcl9pY29uZm9udC5lb3Q/bHNjbTlnJyk7XG4gIHNyYzp1cmwoJy4uL2ZvbnRzL3pibF9saW5lYXJfaWNvbmZvbnQvemJsX2xpbmVhcl9pY29uZm9udC5lb3Q/I2llZml4bHNjbTlnJykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJy4uL2ZvbnRzL3pibF9saW5lYXJfaWNvbmZvbnQvemJsX2xpbmVhcl9pY29uZm9udC53b2ZmMj9sc2NtOWcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvemJsX2xpbmVhcl9pY29uZm9udC96YmxfbGluZWFyX2ljb25mb250LndvZmY/bHNjbTlnJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vZm9udHMvemJsX2xpbmVhcl9pY29uZm9udC96YmxfbGluZWFyX2ljb25mb250LnR0Zj9sc2NtOWcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnLi4vZm9udHMvemJsX2xpbmVhcl9pY29uZm9udC96YmxfbGluZWFyX2ljb25mb250LnN2Zz9sc2NtOWcjemJsX2xpbmVhcl9pY29uZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnpibF9saW5lYXJfaWNvbmZvbnQge1xuICBmb250LWZhbWlseTogJ3pibF9saW5lYXJfaWNvbmZvbnQnO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82NzkxMTE3MF8wOTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzNVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82NzkxMTE3MF8xNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzYlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82Mjg5NTQzMV8xNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTczYVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTQ0Nl8wMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTc2OVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTQ0Nl8wMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTc2YVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTQ0Nl8wODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTc2ZlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTQ0Nl8wOTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTc3MFwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE4M18wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTdhNFwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE4M18xMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTdiMFwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE4M18xNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTdiMlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk5Nl8wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTdiM1wiO1xufVxuXG4uemJsX2xpbmVhcl9fc2hhcnBub3NlX2xpbmVhcl9jdXN0b21fMDI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU3YzNcIjtcbn1cblxuLnpibF9saW5lYXJfX3NoYXJwbm9zZV9saW5lYXJfY3VzdG9tXzAzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlN2M0XCI7XG59XG5cbi56YmxfbGluZWFyX19zaGFycG5vc2VfbGluZWFyX2N1c3RvbV8wNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTdjNVwiO1xufVxuXG4uemJsX2xpbmVhcl9fc2hhcnBub3NlX2xpbmVhcl9jdXN0b21fMDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU3YzZcIjtcbn1cblxuLnpibF9saW5lYXJfX3NoYXJwbm9zZV9saW5lYXJfY3VzdG9tXzA4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlN2M5XCI7XG59XG5cbi56YmxfbGluZWFyX19zaGFycG5vc2VfbGluZWFyX2N1c3RvbV8wOTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTdjYVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk5Ml8wNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyMlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk5Ml8wNzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyNFwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk5Ml8xMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyYVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk5Ml8xNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyYlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82Mjg3MjQ1MV8xMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY4ZVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MjM3NjA4OV8wMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY5NlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE4MF8wODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTZkN1wiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE3Nl8xMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTZmN1wiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE3Ml8wNzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTcyMlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE3Ml8wOTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTcyNFwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTE3Ml8xMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTcyN1wiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTAwNl8wNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTcxMVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTAwNl8xMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTcxYVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NTAwNl8xNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTcwZFwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk4MV8wNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTZlM1wiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk4MV8wNzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTZlNVwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk4MV8wODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTZlNlwiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk4MV8wOTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTZlN1wiO1xufVxuXG4uemJsX2xpbmVhcl9fZm90b2xpYV82MTU1NDk4MV8xMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTZlYlwiO1xufVxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdlcm1hblxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vL1xuLy8gTm9ybWFsXG4vL1xuQGZvbnQtZmFjZXtcbiAgZm9udC1mYW1pbHk6XCJJVENGcmFua2xpbkdvdGhpYy1ERVwiO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzp1cmwoXCIuLi9mb250cy9kZS84MTI5MjQvZWE0MDlkODgtYWY0ZS00OTk2LWE5NTktOGFkNzkyNzlkNWQ2LmVvdD8jaWVmaXhcIik7XG4gIHNyYzp1cmwoXCIuLi9mb250cy9kZS84MTI5MjQvZWE0MDlkODgtYWY0ZS00OTk2LWE5NTktOGFkNzkyNzlkNWQ2LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLFxuICB1cmwoXCIuLi9mb250cy9kZS84MTI5MjQvOTI3Y2RlZGQtYWQxYS00ODgwLWJiMTgtMGE4N2NlNmQzNGU4LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICB1cmwoXCIuLi9mb250cy9kZS84MTI5MjQvYmU5ZDY0NGUtODgxZC00NDJmLTkzMGYtNTljMDg4YTg2NzUzLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgdXJsKFwiLi4vZm9udHMvZGUvODEyOTI0LzZiMzM3MDVmLWRlNDUtNGM3ZC1hNDFlLWNkYzdkNGQ4MThlMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gIHVybChcIi4uL2ZvbnRzL2RlLzgxMjkyNC9iYzUyZTA0MC0wNTA4LTRkOTUtYmJmZC0yNjFkZDk0M2JhNjIuc3ZnI2JjNTJlMDQwLTA1MDgtNGQ5NS1iYmZkLTI2MWRkOTQzYmE2MlwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuLy9cbi8vIE5vcm1hbCBpdGFsaWNcbi8vXG5AZm9udC1mYWNle1xuICBmb250LWZhbWlseTpcIklUQ0ZyYW5rbGluR290aGljLURFXCI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgc3JjOnVybChcIi4uL2ZvbnRzL2RlLzgxMjk0Mi9hZDk3Y2M4OC01YzkwLTQyNmItOGE4OS1iYTY4ZjMzM2RjMDcuZW90PyNpZWZpeFwiKTtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL2RlLzgxMjk0Mi9hZDk3Y2M4OC01YzkwLTQyNmItOGE4OS1iYTY4ZjMzM2RjMDcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksXG4gIHVybChcIi4uL2ZvbnRzL2RlLzgxMjk0Mi84ZTgyYjczNi0zMGQ5LTQwYmItOTdlMS1kZTI3M2Y2OTAyNjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gIHVybChcIi4uL2ZvbnRzL2RlLzgxMjk0Mi8zZmIzYjk0OC04MDE4LTQyYjktYjE2NC0xNmU0YjBlNDkxNGYud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICB1cmwoXCIuLi9mb250cy9kZS84MTI5NDIvYzQzYWFiNTgtM2E5NS00MzM2LWEwNTAtZTg1MGNkOThiNDYwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgdXJsKFwiLi4vZm9udHMvZGUvODEyOTQyLzFiZjhhMDc1LTgwMDUtNGQ3Yi04ODYzLTI1NDZhMjQxY2VkYy5zdmcjMWJmOGEwNzUtODAwNS00ZDdiLTg4NjMtMjU0NmEyNDFjZWRjXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vL1xuLy8gTWVkaXVtXG4vL1xuQGZvbnQtZmFjZXtcbiAgZm9udC1mYW1pbHk6XCJJVENGcmFua2xpbkdvdGhpYy1ERVwiO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzp1cmwoXCIuLi9mb250cy9kZS84MTI5NzIvNzc0NWVmZDgtZDIwMy00ZGY4LWI5YmUtZWVlOGM4MDg1MWU2LmVvdD8jaWVmaXhcIik7XG4gIHNyYzp1cmwoXCIuLi9mb250cy9kZS84MTI5NzIvNzc0NWVmZDgtZDIwMy00ZGY4LWI5YmUtZWVlOGM4MDg1MWU2LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLFxuICB1cmwoXCIuLi9mb250cy9kZS84MTI5NzIvMjI1ZDY4MzctNDllMC00MGYyLTgwMmEtMTE0NTUyZjJiNmIxLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICB1cmwoXCIuLi9mb250cy9kZS84MTI5NzIvYWYzMTI0OTctMTFjMC00ZTg1LThlZTQtNWE4MzEyMDE5NGJlLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgdXJsKFwiLi4vZm9udHMvZGUvODEyOTcyLzQ4ZjZmMDBjLTE4MzUtNDlkNy1hYTYzLWM0ZDg0ZDUyMmEyNC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gIHVybChcIi4uL2ZvbnRzL2RlLzgxMjk3Mi9jZjQ3NzZhNS02M2M1LTQyNDUtODQxNy0wNDNlNWYxNDhhNTIuc3ZnI2NmNDc3NmE1LTYzYzUtNDI0NS04NDE3LTA0M2U1ZjE0OGE1MlwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuLy9cbi8vIE1lZGl1bSBpdGFsaWNcbi8vXG5AZm9udC1mYWNle1xuICBmb250LWZhbWlseTpcIklUQ0ZyYW5rbGluR290aGljLURFXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgc3JjOnVybChcIi4uL2ZvbnRzL2RlLzgxMjk4MS9iZGQ1YWZmZi0xNTQxLTQzNjUtOWEzOS1lYWY5YjY3NWY4MGIuZW90PyNpZWZpeFwiKTtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL2RlLzgxMjk4MS9iZGQ1YWZmZi0xNTQxLTQzNjUtOWEzOS1lYWY5YjY3NWY4MGIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksXG4gIHVybChcIi4uL2ZvbnRzL2RlLzgxMjk4MS9mNGYzZjY2OC1hOTI1LTRkZjAtYTU1ZS1iOTQwYjQwOGI2ZmYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gIHVybChcIi4uL2ZvbnRzL2RlLzgxMjk4MS8xZGI3YjNkZS0zODNjLTQzNTQtYjU5YS03YTkwYWQ5OWRmOWYud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICB1cmwoXCIuLi9mb250cy9kZS84MTI5ODEvMzNhYjVjYTEtM2FjNy00NTg2LWExZDYtZjk3MTc4MDQyMGMxLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgdXJsKFwiLi4vZm9udHMvZGUvODEyOTgxL2EyYWZjYzBhLTc4NmEtNGMzMy05YjdiLTNiMzA5ZWQyOTI1ZC5zdmcjYTJhZmNjMGEtNzg2YS00YzMzLTliN2ItM2IzMDllZDI5MjVkXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1vdGhlciBSdXNzaWFcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBOb3JtYWxcbi8vXG5AZm9udC1mYWNle1xuICBmb250LWZhbWlseTpcIklUQ0ZyYW5rbGluR290aGljLVJVXCI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL3J1Lzg2MjMzOS9mODA3OWM4YS00MDAxLTRkMWItYmJiOC1lMzZlZjZiZWRmZWUuZW90PyNpZWZpeFwiKTtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL3J1Lzg2MjMzOS9mODA3OWM4YS00MDAxLTRkMWItYmJiOC1lMzZlZjZiZWRmZWUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksXG4gIHVybChcIi4uL2ZvbnRzL3J1Lzg2MjMzOS8yMzYwZjIzZC1jMzhmLTRjNWMtODQ2Ni0wNjJhMWIxMzI3MDkud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gIHVybChcIi4uL2ZvbnRzL3J1Lzg2MjMzOS8zNWQyNGI2OC01ZDdkLTQ3ZjEtOTNjNi0yZDlmMzYxYjM2MjQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICB1cmwoXCIuLi9mb250cy9ydS84NjIzMzkvYjMxZmQwMGItOTU5MC00NTM2LTk3MTgtY2ExZmE5YjRhZjViLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgdXJsKFwiLi4vZm9udHMvcnUvODYyMzM5LzU2N2UyM2ZmLWMzZjAtNDdlMC05ZjEwLWM4YjNkYWViYWM4MS5zdmcjNTY3ZTIzZmYtYzNmMC00N2UwLTlmMTAtYzhiM2RhZWJhYzgxXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vL1xuLy8gTm9ybWFsIGl0YWxpY1xuLy9cbkBmb250LWZhY2V7XG4gIGZvbnQtZmFtaWx5OlwiSVRDRnJhbmtsaW5Hb3RoaWMtUlVcIjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBzcmM6dXJsKFwiLi4vZm9udHMvcnUvODYyMzU3L2VmMTgzZjU4LWNmNDktNDA2NC05NGQ2LTFhYjg3MjY1ZjVkNC5lb3Q/I2llZml4XCIpO1xuICBzcmM6dXJsKFwiLi4vZm9udHMvcnUvODYyMzU3L2VmMTgzZjU4LWNmNDktNDA2NC05NGQ2LTFhYjg3MjY1ZjVkNC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSxcbiAgdXJsKFwiLi4vZm9udHMvcnUvODYyMzU3L2Y5NzZkNjhjLWFmNzMtNDk5MS1iZGJlLWJiNzcyMGQyNWY1My53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgdXJsKFwiLi4vZm9udHMvcnUvODYyMzU3LzMzYWUxZTVmLWZiNWUtNGJlMi05NjliLTJhODQ4MmE2OTExMy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gIHVybChcIi4uL2ZvbnRzL3J1Lzg2MjM1Ny9mMTI0MzcxNS04OWY5LTRmZGEtODk2Zi0zYjVlZDYwYTcyODUudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICB1cmwoXCIuLi9mb250cy9ydS84NjIzNTcvZDEwZjg5ZWQtZDhmOS00NGRjLWFkZGMtZGYzNzcwY2E5MzM2LnN2ZyNkMTBmODllZC1kOGY5LTQ0ZGMtYWRkYy1kZjM3NzBjYTkzMzZcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8vXG4vLyBNZWRpdW1cbi8vXG5AZm9udC1mYWNle1xuICBmb250LWZhbWlseTpcIklUQ0ZyYW5rbGluR290aGljLVJVXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL3J1Lzg2MjM5OS85ZTJlZjQ5YS02ZjgyLTQ4MmMtYjdhZC1kZDM0NTU2ODhjNDAuZW90PyNpZWZpeFwiKTtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL3J1Lzg2MjM5OS85ZTJlZjQ5YS02ZjgyLTQ4MmMtYjdhZC1kZDM0NTU2ODhjNDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksXG4gIHVybChcIi4uL2ZvbnRzL3J1Lzg2MjM5OS9mYmYxNDU3Yi01ZWFiLTQ2MWEtYjI0My04YzFlNzkwYzE1YTcud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gIHVybChcIi4uL2ZvbnRzL3J1Lzg2MjM5OS9kZThjNGM0Zi00MTdkLTQ3OGMtOGY4OC02NDIyZjA5MTg3Zjgud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICB1cmwoXCIuLi9mb250cy9ydS84NjIzOTkvYjM3YTI1N2UtMzcyZS00NzBmLTkzNTAtZjdmNGI5OTVkZTkxLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgdXJsKFwiLi4vZm9udHMvcnUvODYyMzk5L2IzMDQzMTVlLTRlZjItNGE1Yy1hNzBkLWE0MjNkOTVkYjhjYy5zdmcjYjMwNDMxNWUtNGVmMi00YTVjLWE3MGQtYTQyM2Q5NWRiOGNjXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vL1xuLy8gTWVkaXVtIGl0YWxpY1xuLy9cbkBmb250LWZhY2V7XG4gIGZvbnQtZmFtaWx5OlwiSVRDRnJhbmtsaW5Hb3RoaWMtUlVcIjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBzcmM6dXJsKFwiLi4vZm9udHMvcnUvODYyNDAyLzQwY2YxNGFlLWNjZGMtNGQyOS1hZTc4LWRmMjUzNjc0NDY2NC5lb3Q/I2llZml4XCIpO1xuICBzcmM6dXJsKFwiLi4vZm9udHMvcnUvODYyNDAyLzQwY2YxNGFlLWNjZGMtNGQyOS1hZTc4LWRmMjUzNjc0NDY2NC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSxcbiAgdXJsKFwiLi4vZm9udHMvcnUvODYyNDAyL2JmOGM5ZWVkLWU4YmItNDJkOC05ODMxLTlkMDYzMmI1MjA3ZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgdXJsKFwiLi4vZm9udHMvcnUvODYyNDAyL2E5MjNiMTNhLTcxYzYtNGQ0Yi1iMGQwLTE4MGMxMDRkMDA3My53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gIHVybChcIi4uL2ZvbnRzL3J1Lzg2MjQwMi9lZTI3NTMyNi02YjQ5LTQxM2QtYmU5MC03OGJjMjcxNDU4ZjEudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICB1cmwoXCIuLi9mb250cy9ydS84NjI0MDIvNDg4ZGM5ZmItOTFjNS00MDQ0LWE3OTEtODk4NjgyODU0MTFlLnN2ZyM0ODhkYzlmYi05MWM1LTQwNDQtYTc5MS04OTg2ODI4NTQxMWVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NvdXJjZV9zYW5zX3Byby9Tb3VyY2VTYW5zUHJvLVNlbWlib2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NvdXJjZV9zYW5zX3Byby9Tb3VyY2VTYW5zUHJvLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NvdXJjZV9zYW5zX3Byby9Tb3VyY2VTYW5zUHJvLUxpZ2h0SXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NvdXJjZV9zYW5zX3Byby9Tb3VyY2VTYW5zUHJvLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2psbF9oYW5kcmVndWxhcic7XG4gIHNyYzogdXJsKCcuLi9mb250cy9qbGxfaGFuZC9qbGxfaGFuZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL2psbF9oYW5kL2psbF9oYW5kLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbiIsIiRmb250LXN0YWNrLW1haW46ICdJVENGcmFua2xpbkdvdGhpYy1ERScsICdJVENGcmFua2xpbkdvdGhpYy1SVScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnO1xuJGZvbnQtbW9kaWZpZXI6IDFweDtcbiRmb250LWZhbWlseS0tZmlsdGVyOiAnU291cmNlIFNhbnMgUHJvJztcbiIsIlxuLy8gVG9kbzogKEhIKSBXZWJraXQtZm9udC1zaXplLWFkanVzdCBkZWFrdGl2aWVyZW4uXG5cbi8vXG4vLyBCYXNlIG1peGluIGRlZmluaW5nIGZvbnQtd2VpZ2h0LCBmb250LXN0eWxlIGFuZCB0ZXh0LXRyYW5zZm9ybVxuLy8gd2l0aCByZWFzb25hYmxlIGRlZmF1bHRzLlxuLy9cbkBtaXhpbiBmcy1iYXNlKCR3ZWlnaHQ6IDMwMCwgJHN0eWxlOiBub3JtYWwsICR0cmFuc2Zvcm06IHVwcGVyY2FzZSkge1xuICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stbWFpbjtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG59XG5cblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuQG1peGluIGZzLWhlYWRsaW5lLTEoKSB7XG4gIEBpbmNsdWRlIGZzLWJhc2U7XG5cbiAgZm9udC1zaXplOiA1MCAqICRmb250LW1vZGlmaWVyO1xuICBsaW5lLWhlaWdodDogKDYwLzUwKTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLTI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgIGZvbnQtc2l6ZTogMzAgKiAkZm9udC1tb2RpZmllcjtcbiAgfVxufVxuXG5AbWl4aW4gZnMtaGVhZGxpbmUtMS1zdWIoKSB7XG4gIEBpbmNsdWRlIGZzLWJhc2U7XG5cbiAgZm9udC1zaXplOiAyMiAqICRmb250LW1vZGlmaWVyO1xuICBsaW5lLWhlaWdodDogKDI5LzIyKTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLTM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICBmb250LXNpemU6IDE4ICogJGZvbnQtbW9kaWZpZXI7XG4gIH1cbn1cblxuQG1peGluIGZzLWhlYWRsaW5lLTIoKSB7XG4gIEBpbmNsdWRlIGZzLWJhc2U7XG5cbiAgZm9udC1zaXplOiAyNCAqICRmb250LW1vZGlmaWVyO1xuICBsaW5lLWhlaWdodDogKDM1LzI4KTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLTQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgIGZvbnQtc2l6ZTogMjAgKiAkZm9udC1tb2RpZmllcjtcbiAgfVxufVxuXG5AbWl4aW4gZnMtaGVhZGxpbmUtMygpIHtcbiAgQGluY2x1ZGUgZnMtYmFzZTtcblxuICBmb250LXNpemU6IDIwICogJGZvbnQtbW9kaWZpZXI7XG4gIGxpbmUtaGVpZ2h0OiAoMjkvMjIpO1xuICBjb2xvcjogJHRleHQtY29sb3ItNDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgZm9udC1zaXplOiAxOSAqICRmb250LW1vZGlmaWVyO1xuICAgIGxpbmUtaGVpZ2h0OiAoMjkvMTgpO1xuICB9XG59XG5cbkBtaXhpbiBmcy1oZWFkbGluZS00KCkge1xuICBAaW5jbHVkZSBmcy1iYXNlO1xuXG4gIGZvbnQtc2l6ZTogMTggKiAkZm9udC1tb2RpZmllcjtcbiAgbGluZS1oZWlnaHQ6ICgyMy8xOCk7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci00O1xufVxuXG5AbWl4aW4gZnMtaGVhZGxpbmUtNSgpIHtcbiAgQGluY2x1ZGUgZnMtYmFzZSgkdHJhbnNmb3JtOiBub25lKTtcblxuICBmb250LXNpemU6IDE0ICogJGZvbnQtbW9kaWZpZXI7XG4gIGxpbmUtaGVpZ2h0OiAoMjQvMTQpO1xuICBjb2xvcjogJHRleHQtY29sb3ItNDtcbn1cblxuXG4vL1xuLy8gSW1hZ2UgSGVhZGVyXG4vL1xuQG1peGluIGZzLWhlYWRlci1oZWFkbGluZSgpIHtcbiAgQGluY2x1ZGUgZnMtYmFzZSgpO1xuICBmb250LXNpemU6IDUwICogJGZvbnQtbW9kaWZpZXI7XG4gIGxpbmUtaGVpZ2h0OiAoNzUvNTApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICBmb250LXNpemU6IDMwICogJGZvbnQtbW9kaWZpZXI7XG4gIH1cbn1cblxuQG1peGluIGZzLWhlYWRlci1zdWJsaW5lKCkge1xuICBAaW5jbHVkZSBmcy1iYXNlKCk7XG4gIGZvbnQtc2l6ZTogMjUgKiAkZm9udC1tb2RpZmllcjtcbiAgbGluZS1oZWlnaHQ6ICg0Ni8yNSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgIGZvbnQtc2l6ZTogMjAgKiAkZm9udC1tb2RpZmllcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBPdGhlciBlbGVtZW50c1xuLy9cbkBtaXhpbiBmcy1wYXJhZ3JhcGgoKSB7XG4gIEBpbmNsdWRlIGZzLWJhc2UoJHRyYW5zZm9ybTogbm9uZSk7XG5cbiAgZm9udC1zaXplOiAxNiAqICRmb250LW1vZGlmaWVyO1xuICBsaW5lLWhlaWdodDogKDI0LzE2KTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLTQ7XG59XG5cbkBtaXhpbiBmcy1mb3JtLWVsZW1lbnQoKSB7XG4gIEBpbmNsdWRlIGZzLWJhc2UoJHRyYW5zZm9ybTogbm9uZSk7XG5cbiAgZm9udC1zaXplOiAxOCAqICRmb250LW1vZGlmaWVyO1xuICBsaW5lLWhlaWdodDogKDI0LzE2KTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLTQ7XG59XG5cbkBtaXhpbiBmcy1saW5rKCkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJyaWdodC1yZWQ7XG4gIH1cblxuLy8gQWx0ZXJuYXRpdmUgYXByb2FjaDogTGluayBuZWVkcyB0byBiZSBpbmxpbmUtYmxvY2sgZm9yIHRoaXMuXG4vLyAgJjo6YWZ0ZXIge1xuLy8gICAgY29udGVudDogXCJcIjtcbi8vICAgIGhlaWdodDogMXB4O1xuLy8gICAgYmFja2dyb3VuZDogJHRleHQtY29sb3ItNDtcbi8vICB9XG4vLyAgJjpob3Zlcjo6YWZ0ZXIge1xuLy8gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodC1yZWQ7XG4vLyAgfVxufVxuXG5AbWl4aW4gZnMtbGlzdCgkc2VsZWN0b3I6ICcmJykge1xuICBAaW5jbHVkZSBmcy1iYXNlKCR0cmFuc2Zvcm06IG5vbmUpO1xuXG4gIGZvbnQtc2l6ZTogMTYgKiAkZm9udC1tb2RpZmllcjtcbiAgbGluZS1oZWlnaHQ6ICgyNC8xNik7XG59XG5cbkBtaXhpbiBmcy1xdW90ZSgkc2VsZWN0b3I6ICcmJykge1xuICBAaW5jbHVkZSBmcy1iYXNlKCRzdHlsZTogaXRhbGljLCAkdHJhbnNmb3JtOiBub25lKTtcbiAgZm9udC1zaXplOiAxNiAqICRmb250LW1vZGlmaWVyO1xuICBsaW5lLWhlaWdodDogKDI0LzE2KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL2NvbG9yOiAkdGV4dC1jb2xvci00O1xuXG4gICN7JHNlbGVjdG9yfTo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9lbnR5cG9fcXVvdGUnKTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVgoLTEpKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTE5cHg7XG4gICAgdG9wOiAwO1xuICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnbGVmdCcsICdhdXRvJyk7XG4gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdyaWdodCcsICctMTZweCcpO1xuLy8gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCd0b3AnLCAnYXV0bycpO1xuLy8gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdib3R0b20nLCAnMCcpO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgaWNvbignY3VzdG9tJywgJ2ljb21vb25fZW50eXBvX3F1b3RlJywgJ2FmdGVyJyk7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWSgtMSkpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oNTAlIDUwJSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMTZweDtcbiAgICBib3R0b206IDA7XG4gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdsZWZ0JywgJy0xOXB4Jyk7XG4gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdyaWdodCcsICdhdXRvJyk7XG4vLyAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ3RvcCcsICcwJyk7XG4vLyAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ2JvdHRvbScsICdhdXRvJyk7XG4gIH1cbn1cblxuQG1peGluIGZzLWJ1dHRvbigkYnV0dG9uLXNpemUpIHtcbiAgQGluY2x1ZGUgZnMtYmFzZSgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGlmICRidXR0b24tc2l6ZSA9PSAnbGFyZ2UnIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIH1cbiAgQGVsc2UgaWYgJGJ1dHRvbi1zaXplID09ICdzbWFsbCcge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGRlYnVnIFRoZXJlIHdhcyBubyBrbm93biBidXR0b24gc2l6ZSBzcGVjaWZpZWQ7XG4gIH1cbn1cblxuXG4vL1xuLy8gUHJvcGVydHktVGVhc2VyIGxhcmdlXG4vL1xuQG1peGluIGZzLXByb3BlcnR5LXRlYXNlci1sYXJnZS1oZWFkaW5nKCkge1xuICBAaW5jbHVkZSBmcy1iYXNlKCk7XG4gIGZvbnQtc2l6ZTogMzYgKiAkZm9udC1tb2RpZmllcjtcbiAgbGluZS1oZWlnaHQ6ICg0NC8zNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgIGZvbnQtc2l6ZTogMjggKiAkZm9udC1tb2RpZmllcjtcbiAgfVxufVxuXG4vL1xuLy8gUHJvcGVydHktVGVhc2VyIG1lZGl1bVxuLy9cbkBtaXhpbiBmcy1wcm9wZXJ0eS10ZWFzZXItbWVkaXVtLWhlYWRpbmcoKSB7XG4gIEBpbmNsdWRlIGZzLWJhc2UoKTtcbiAgZm9udC1zaXplOiAyOCAqICRmb250LW1vZGlmaWVyO1xuICBsaW5lLWhlaWdodDogKDM1LzI4KTtcbiAgb3ZlcmZsb3ctd3JhcDogaW5oZXJpdDtcbiAgd29yZC13cmFwOiBpbmhlcml0O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vL1xuLy8gUHJvcGVydHktVGVhc2VyIHNtYWxsXG4vL1xuQG1peGluIGZzLXByb3BlcnR5LXRlYXNlci1zbWFsbC1wcmljZSgpIHtcbiAgQGluY2x1ZGUgZnMtYmFzZSgpO1xuICBmb250LXNpemU6IDI0ICogJGZvbnQtbW9kaWZpZXI7XG4gIGxpbmUtaGVpZ2h0OiAoNDAvMjQpO1xufVxuXG4vL1xuLy8gUHJvcGVydHktRGV0YWlsXG4vL1xuQG1peGluIGZzLXByb3BlcnR5LWRldGFpbC1rZXktZmlndXJlLXZhbHVlKCkge1xuICBAaW5jbHVkZSBmcy1iYXNlKCk7XG4gIGZvbnQtc2l6ZTogMjggKiAkZm9udC1tb2RpZmllcjtcbiAgbGluZS1oZWlnaHQ6ICgzNS8yOCk7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci0xO1xufVxuXG5AbWl4aW4gZnMtcHJvcGVydHktZGV0YWlsLWtleS1maWd1cmUtdW5pdCgpIHtcbiAgQGluY2x1ZGUgZnMtYmFzZSgpO1xuICBmb250LXNpemU6IDE2ICogJGZvbnQtbW9kaWZpZXI7XG4gIGxpbmUtaGVpZ2h0OiAoMTYvMTQpO1xuICBjb2xvcjogJHRleHQtY29sb3ItNDtcbn1cblxuLy9cbi8vIE5hdmlnYXRpb25cbi8vXG5AbWl4aW4gZnMtbmF2aWdhdGlvbi10ZXh0KCkge1xuICBAaW5jbHVkZSBmcy1iYXNlKCk7XG4gIGZvbnQtc2l6ZTogMTMgKiAkZm9udC1tb2RpZmllcjtcbiAgbGluZS1oZWlnaHQ6ICgxOC8xNSk7XG59XG5cbi8vXG4vLyBFeGFtcGxlIFVuaXRzXG4vL1xuQG1peGluIGZzLWV4YW1wbGUtdW5pdCgpIHtcbiAgQGluY2x1ZGUgZnMtYmFzZSgpO1xuICBmb250LXNpemU6IDE0ICogJGZvbnQtbW9kaWZpZXI7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuIiwiQG1peGluIGZ1bGwtc2l6ZS1saW5rKCR2LWluZGVudDogMCwgJGgtaW5kZW50OiAwKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkdi1pbmRlbnQ7XG4gIHJpZ2h0OiAkaC1pbmRlbnQ7XG4gIGJvdHRvbTogJHYtaW5kZW50O1xuICBsZWZ0OiAkaC1pbmRlbnQ7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uZnVsbC1zaXplLWxpbmsge1xuICBAaW5jbHVkZSBmdWxsLXNpemUtbGluaygpO1xufSIsIkBtaXhpbiBoaWRlLXRleHQge1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59IiwiLy9cbi8vIEEgc2hvcnRoYW5kIGZvciB0aGVtZS1zcGVjaWZpYyBzY3NzLlxuLy8gVXNlIGl0IGxpa2U6XG4vLyAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kLWNvbG9yJywgJ3JlZCcsICdncmVlbicsICdibHVlJylcbi8vXG4vLyAtIG9wdGlvbmFsbHkgc3BlY2lmeSBhbiBvdGhlciBzZWxlY3RvciB0aGFuICcmJ1xuLy9cbkBtaXhpbiB0aGVtZS1zcGVjaWZpYygkcHJvcGVydHksICRmaCwgJGNpLCAkcGcsICRzZWxlY3RvcjogJyYnKSB7XG4gIEBhdC1yb290IHtcbiAgICAuemJsLXNlY3Rpb24tZmggI3skc2VsZWN0b3J9IHsgI3skcHJvcGVydHl9OiAkZmggfVxuICAgIC56Ymwtc2VjdGlvbi1jaSAjeyRzZWxlY3Rvcn0geyAjeyRwcm9wZXJ0eX06ICRjaSB9XG4gICAgLnpibC1zZWN0aW9uLXBnICN7JHNlbGVjdG9yfSB7ICN7JHByb3BlcnR5fTogJHBnIH1cbiAgfVxufVxuIiwiLy9cbi8vIEEgc2hvcnRoYW5kIGZvciBsYW5nLXNwZWNpZmljIHNjc3MuXG4vL1xuXG5AbWl4aW4gbGFuZy1zcGVjaWZpYygkcHJvcGVydHksICRsYW5nLWNsYXNzLCAkdmFsdWUsICRzZWxlY3RvcjogJyYnKSB7XG4gIEBhdC1yb290IHtcbiAgICAjeyRsYW5nLWNsYXNzfSAjeyRzZWxlY3Rvcn0geyAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfSB9XG4gIH1cbn1cblxuQG1peGluIHJ0bC1zcGVjaWZpYygkcHJvcGVydHksICR2YWx1ZSwgJHNlbGVjdG9yOiAnJicpIHtcbiAgQGF0LXJvb3Qge1xuICAgIC5sYW5nLXJ0bCAjeyRzZWxlY3Rvcn0geyAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfSB9XG4gIH1cbn1cbiIsIi8vXG4vLyBXZSBuZWVkIGEgY2xlYWZpeCBzb2x1dGlvbiBzaW5jZSBvdmVyZmxvdzogaGlkZGVuIGlzbid0IGFsd2F5cyB0aGUgYW5zd2VyLlxuLy8gRm9yIHBvc3NpYmxlIGFsdGVybmF0aXZlcyBzZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMTEzODMvd2hpY2gtbWV0aG9kLW9mLWNsZWFyZml4LWlzLWJlc3Rcbi8vXG4vLyBDdXJyZW50IGltcGxlbWVudGF0aW9uIHV0aWxpemVzIGNvbGxhcHNpbmcgbWFyZ2lucy5cblxuQG1peGluIGNsZWFyZml4KCRwc2V1ZG86IGFmdGVyKSB7XG4gICY6OiN7JHBzZXVkb30ge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn0iLCIuY2VudGVyZWQtbGlua3Mge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNsZWFyOiBib3RoO1xufVxuIiwiQG1peGluIGFiYnJldmlhdGUtdGV4dCgpIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbkBtaXhpbiBoeXBoZW5hdGUoKSB7XG5cbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgIC1tb3otaHlwaGVuczogbm9uZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xufSIsIi8vIEB0b2RvIFtGSV0gQmVuZW5udW5nZW4gdmVyZWluaGVpdGxpY2hlblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTWl4aW4gdXNlZCB0byBjcmVhdGUgYSBiYWNrZ3JvdW5kLWdyYWRpZW50IHJlcHJlc2VudGluZyB0aGUgZ3JpZC1wYXR0ZXJuLlxuLy8gTmVlZHMgb3V0cHV0IGZyb20gXCJjcmVhdGUtZ3JpZC1iYWNrZ3JvdW5kXCItZnVuY3Rpb24gYXMgaW5wdXQuXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBtaXhpbiBncmlkLXBhdHRlcm4oJGxheWVycykge1xuXG4gICRzaXplczogKCk7XG4gICRiYWNrZ3JvdW5kczogKCk7XG4gICRvZmZzZXRzOiAoKTtcbiAgJHJlcGVhdHM6ICgpO1xuXG4gIEBlYWNoICRsYXllci1uYW1lLCAkbGF5ZXIgaW4gJGxheWVycyB7XG5cbiAgICAvLyBVc2VkIHRvIGNvbnZlcnQgYSBncmFkaWVudCdzIHVuaXQgc3RvcHMgdG8gcGVyY2VudGFnZXNcbiAgICAkc2NhbGU6ICAxMDAlIC8gbWFwLWdldCgkbGF5ZXIsIHdpZHRoKTtcbiAgICAkd2lkdGg6ICAxMDAlIC8gbWFwLWdldCgkbGF5ZXIsIHVuaXRzKSAqIG1hcC1nZXQoJGxheWVyLCB3aWR0aCk7XG4gICAgJGhlaWdodDogMTAwJTtcbiAgICAkb2Zmc2V0OiBsZWZ0IHRvcDtcbiAgICAkcmVwZWF0OiByZXBlYXQ7XG4gICAgJG1vZGU6IGZpbGw7XG4gICAgJHRoaWNrbmVzczogMTA7XG4gICAgJGFuZ2xlOiA5MGRlZztcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbGF5ZXIsIG1vZGUpIHtcbiAgICAgICRtb2RlOiBtYXAtZ2V0KCRsYXllciwgbW9kZSk7XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRsYXllciwgdGhpY2tuZXNzKSB7XG4gICAgICAkdGhpY2tuZXNzOiBtYXAtZ2V0KCRsYXllciwgdGhpY2tuZXNzKTtcbiAgICB9XG4gICAgJGxpbmUtd2lkdGg6IG1hcC1nZXQoJGxheWVyLCB1bml0cykgLyBtYXAtZ2V0KCRsYXllciwgd2lkdGgpICogJHRoaWNrbmVzcyAqIC4xJTtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbGF5ZXIsIGhlaWdodCkge1xuICAgICAgJGhlaWdodDogbWFwLWdldCgkbGF5ZXIsIGhlaWdodCk7XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRsYXllciwgb2Zmc2V0KSB7XG4gICAgICAkb2Zmc2V0OiBsZWZ0IG1hcC1nZXQoJGxheWVyLCBvZmZzZXQpO1xuICAgICAgJHJlcGVhdDogcmVwZWF0LXg7XG4gICAgfVxuXG4gICAgJGdyYWRpZW50OiAgJGFuZ2xlO1xuICAgICRsYXN0LXN0b3A6IG51bGw7XG5cbiAgICBAZWFjaCAkb2Zmc2V0LCAkY29sb3IgaW4gbWFwLWdldCgkbGF5ZXIsIHN0b3BzKSB7XG5cbiAgICAgICRyZWFsLW9mZnNldDogJG9mZnNldCAqICRzY2FsZTtcblxuICAgICAgQGlmICRtb2RlID09IGZpbGwge1xuICAgICAgICBAaWYgJGxhc3Qtc3RvcCAhPSBudWxsIHtcbiAgICAgICAgICAkZ3JhZGllbnQ6IGFwcGVuZCgkZ3JhZGllbnQsICRsYXN0LXN0b3AgJHJlYWwtb2Zmc2V0LCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgICAgJGdyYWRpZW50OiBhcHBlbmQoJGdyYWRpZW50LCAkY29sb3IgJHJlYWwtb2Zmc2V0LCBjb21tYSk7XG4gICAgICAgICRsYXN0LXN0b3A6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJG1vZGUgPT0gbGluZSB7XG4gICAgICAgICRsaW5lLW9mZnNldC1sZWZ0OiAkcmVhbC1vZmZzZXQgLSAkbGluZS13aWR0aCAqIC41O1xuICAgICAgICAkbGluZS1vZmZzZXQtcmlnaHQ6ICRyZWFsLW9mZnNldCArICRsaW5lLXdpZHRoICogLjU7XG4gICAgICAgICRncmFkaWVudDogYXBwZW5kKCRncmFkaWVudCwgdHJhbnNwYXJlbnQgJGxpbmUtb2Zmc2V0LWxlZnQsIGNvbW1hKTtcbiAgICAgICAgJGdyYWRpZW50OiBhcHBlbmQoJGdyYWRpZW50LCAkY29sb3IgJGxpbmUtb2Zmc2V0LWxlZnQsIGNvbW1hKTtcbiAgICAgICAgJGdyYWRpZW50OiBhcHBlbmQoJGdyYWRpZW50LCAkY29sb3IgJGxpbmUtb2Zmc2V0LXJpZ2h0LCBjb21tYSk7XG4gICAgICAgICRncmFkaWVudDogYXBwZW5kKCRncmFkaWVudCwgdHJhbnNwYXJlbnQgJGxpbmUtb2Zmc2V0LXJpZ2h0LCBjb21tYSk7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gRnVuY3Rpb24gbGluZWFyLWdyYWRpZW50IG1heSBiZSBkZWZpbmVkIGJ5IGNvbXBhc3MvY3NzMy9ncmFkaWVudFxuICAgICRncmFkaWVudDogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRncmFkaWVudH0pXCIpO1xuXG4gICAgJGJhY2tncm91bmRzOiBhcHBlbmQoJGJhY2tncm91bmRzLCAkZ3JhZGllbnQsIGNvbW1hKTtcbiAgICAkb2Zmc2V0czogICAgIGFwcGVuZCgkb2Zmc2V0cywgJG9mZnNldCwgY29tbWEpO1xuICAgICRyZXBlYXRzOiAgICAgYXBwZW5kKCRyZXBlYXRzLCAkcmVwZWF0LCBjb21tYSk7XG4gICAgJHNpemVzOiAgICAgICBhcHBlbmQoJHNpemVzLCAkd2lkdGggJGhlaWdodCwgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplcztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJG9mZnNldHM7XG4gIGJhY2tncm91bmQtcmVwZWF0OiAkcmVwZWF0cztcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmaW5pbmcgdGhlIHNldHVwIGZvciBcImdyaWQtcGF0dGVyblwiLW1peGluLlxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gY3JlYXRlLWdyaWQtYmFja2dyb3VuZCgkdW5pdHMsICRjb2xvci1tYXApIHtcbiAgJGJhY2tncm91bmQ6IChcbiAgICBsaW5lczogKFxuICAgICAgdW5pdHM6ICR1bml0cyxcbiAgICAgIHdpZHRoOiAzMixcbiAgICAgIG1vZGU6IGxpbmUsXG4gICAgICB0aGlja25lc3M6IDMyIC8gJHVuaXRzICogNyxcbiAgICAgIHN0b3BzOiAoXG4gICAgICAgIDA6IG1hcC1nZXQoJGNvbG9yLW1hcCwgbGluZS1tYWluKSxcbiAgICAgICAgODogbWFwLWdldCgkY29sb3ItbWFwLCBsaW5lLWJhc2UpLFxuICAgICAgICAxNjogbWFwLWdldCgkY29sb3ItbWFwLCBsaW5lLXN1YiksXG4gICAgICAgIDI0OiBtYXAtZ2V0KCRjb2xvci1tYXAsIGxpbmUtYmFzZSksXG4gICAgICAgIDMyOiBtYXAtZ2V0KCRjb2xvci1tYXAsIGxpbmUtbWFpbiksXG4gICAgICApXG4gICAgKSxcblxuICAgIHNlZ21lbnRzOiAoXG4gICAgICB1bml0czogJHVuaXRzLFxuICAgICAgd2lkdGg6IDgsXG4gICAgICBzdG9wczogKFxuICAgICAgICAwOiBtYXAtZ2V0KCRjb2xvci1tYXAsIGd1dHRlciksXG4gICAgICAgIDE6IG1hcC1nZXQoJGNvbG9yLW1hcCwgcGFkZGluZyksXG4gICAgICAgIDM6IG1hcC1nZXQoJGNvbG9yLW1hcCwgY29udGVudCksXG4gICAgICAgIDU6IG1hcC1nZXQoJGNvbG9yLW1hcCwgcGFkZGluZyksXG4gICAgICAgIDc6IG1hcC1nZXQoJGNvbG9yLW1hcCwgZ3V0dGVyKSxcbiAgICAgIClcbiAgICApLFxuICApO1xuXG4gIEByZXR1cm4gJGJhY2tncm91bmQ7XG59XG5cblxuJWJhY2tncm91bmQtZ3JpZC1wYXR0ZXJuIHtcbiAgJGdyaWQtY29sb3JzOiAoXG4gICAgZ3V0dGVyOiAgI2ZmZixcbiAgICBwYWRkaW5nOiAjZGRkLFxuICAgIGNvbnRlbnQ6ICNlZWUsXG4gICAgbGluZS1iYXNlOiAjZGRkLFxuICAgIGxpbmUtc3ViOiAjZmJiLFxuICAgIGxpbmUtbWFpbjogcmVkLFxuICAgIGJveGVzOiByZ2JhKGJsYWNrLCAuNClcbiAgKTtcbiAgQGluY2x1ZGUgZ3JpZC1wYXR0ZXJuKGNyZWF0ZS1ncmlkLWJhY2tncm91bmQoMzIgKiAxLCAkZ3JpZC1jb2xvcnMpKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXR3by1jb2wpIHtcbiAgICBAaW5jbHVkZSBncmlkLXBhdHRlcm4oY3JlYXRlLWdyaWQtYmFja2dyb3VuZCgzMiAqIDIsICRncmlkLWNvbG9ycykpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHtcbiAgICBAaW5jbHVkZSBncmlkLXBhdHRlcm4oY3JlYXRlLWdyaWQtYmFja2dyb3VuZCgzMiAqIDMsICRncmlkLWNvbG9ycykpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkge1xuICAgIEBpbmNsdWRlIGdyaWQtcGF0dGVybihjcmVhdGUtZ3JpZC1iYWNrZ3JvdW5kKDMyICogNCwgJGdyaWQtY29sb3JzKSk7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8gR3JpZCBkZWJ1Z2dpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIFRvZ2dsZVxuLy9cbi5kZWJ1Zy10b2dnbGUtZ3JpZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNjY2MgNTAlLCAjODg4IDUwJSk7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG9wYWNpdHk6IC41O1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuZGVidWcgJiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjY2NjIDUwJSwgcmVkIDUwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vL1xuLy8gU3R5bGVzIGZvciBiYWNrZ3JvdW5kLWdyaWRcbi8vXG4uZGVidWcge1xuICBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZGVidWctLXBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXI7XG4gICAgei1pbmRleDogOTk5ODtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIEBleHRlbmQgJWJhY2tncm91bmQtZ3JpZC1wYXR0ZXJuO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFR5cG8gZGVidWdnaW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5pLnNpemUtaW5mbyB7XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbn1cbiIsImJvZHkge1xuICBcbn0iLCIvLyBmb3Jtc1xuLm1lc3NhZ2VzIHtcbiAgbWF4LXdpZHRoOiAxNTM2cHg7XG4gIG1hcmdpbjogMTVweCBhdXRvO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWZvdXItY29sKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG59XG4ubWVzc2FnZXMuZXJyb3Ige1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmFlYWVhO1xuICBjb2xvcjogI2QxMzAzMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2E2MDAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICB1bCB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbltpZCo9XCJ3ZWJmb3JtLWFqYXgtd3JhcHBlclwiXSB7XG4gIC5tZXNzYWdlcy5lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmZvb3RlciB7XG4gIFtpZCo9XCJ3ZWJmb3JtLWFqYXgtd3JhcHBlclwiXSB7XG4gICAgLndlYmZvcm0tY29uZmlybWF0aW9uLFxuICAgIC5saW5rcyBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gZmlsZSBibG9ja3Ncbi5maWxlIHtcbiAgbWFyZ2luOiAxLjVlbSAwO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJyaWdodC1yZWQ7XG4gICAgfVxuICB9XG59XG4uZmlsZS12aWRlbyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDEwJSArIDMuNnJlbSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMTAlICsgMy42cmVtKTtcblxuICAuZmllbGQtbmFtZS1maWVsZC1mb2xkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5maWxlLWRvY3VtZW50IHtcbiAgLmlzc3V1ZW1iZWQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gICAgICAgICAgbWF4LWhlaWdodDogNzEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9iamVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyB5b3V0dWJlIHZpZGVvXG4vLyAubWVkaWEteW91dHViZS12aWRlbyB7XG4vLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLyogMTY6OSAqL1xuLy8gICBoZWlnaHQ6IDA7XG5cbi8vICAgaWZyYW1lIHtcbi8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMHB4IG51bGwgbnVsbCAwcHgpO1xuLy8gICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4vLyAgIH1cbi8vIH1cblxuLy8gbm9kZSBjb21tb24gc3R5bGVzXG4ubm9kZSB7XG4gICYuaGlkZS1zY3JvbGxkb3duIHtcbiAgICBhLnNjcm9sbC1kb3duIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi52aWV3LW1vZGUtZnVsbCB7XG4gICAgLmZpZWxkLXR5cGUtZmlsZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwJSA0MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDBweCAxMDI0cHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgICAgIH1cblxuICAgICAgLmZpbGUge1xuICAgICAgICBwYWRkaW5nOiAwIDMuNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gZm9ybXMgY29tbW9uIHN0eWxlc1xuLndlYmZvcm0tY2xpZW50LWZvcm0gYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci0xO1xuICB9XG59XG5cbi8vIHNsaWNrIGNhcm91c2VsIHN0eWxlc1xuZGl2LnNsaWNrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBkaXYubWVkaWEge1xuICAgIHBpY3R1cmUge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgwcHggNzIwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuXG4gICAgICAgICAgLmltYWdlaGVhZGVyICYge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnNsaWNrLWRvdHMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbiNjb2xvcmJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ubGFuZGluZy1wYWdlLmxhbmctcnRsIHtcbiAgI2NvbG9yYm94IC56YmxfcGFnZSB7XG4gICAgZGlyZWN0aW9uOiBsdHIgIWltcG9ydGFudFxuICB9XG59XG5cbiNjYm94Q29udGVudCwgLmNib3hQaG90byB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFBvcHVwc1xuI2Nib3hDbG9zZS5jYm94LWNsb3NlLXBsYWluIHtcbiAgJGxpZ2h0LWdyYXk6ICNkZGQgIWRlZmF1bHQ7XG4gICRtb2RhbC1jbG9zZS1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdyaWdodCcsICdpbml0aWFsJyk7XG4gIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnbGVmdCcsICcyNXB4Jyk7XG5cbiAgJjphZnRlcixcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA3cHggN3B4IDAgNTAlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG4gICAgQGluY2x1ZGUgc2l6ZSgycHggMjFweCk7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWNsb3NlLWNvbG9yO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogLTNweCAwIDAgLTFweDtcblxuICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygndG9wJywgJzdweCcpO1xuICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygncmlnaHQnLCAnMTNweCcpO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO1xuICB9XG4gICY6aG92ZXI6YWZ0ZXIsXG4gICY6aG92ZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG1vZGFsLWNsb3NlLWNvbG9yLCAxMCUpO1xuICB9XG59XG5cbi8vIFNlbGVjdHJpY1xuLnNlbGVjdHJpYyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLTM7XG59XG4uc2VsZWN0cmljLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG4uc2VsZWN0cmljLWJ1dHRvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbjogLTZweCAwIDAgLTNweDtcbiAgY29udGVudDogXCJcXGU2MGFcIjtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICd6YmxfY3VzdG9tX2ljb25mb250JztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG59XG4uc2VsZWN0cmljLWJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zZWxlY3RyaWMtcmVxdWlyZWQge1xuICAubGFiZWwge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyonO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29udGVudCBsb2dvXG4ucmljaHRleHQgYS5jb250ZW50LWxvZ28tbGluayB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWF4LXdpZHRoOiAyNjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAzMHB4O1xuXG4gIC5jb250ZW50LWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5jb250ZW50LWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAyNjBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbn1cblxuLy8gcGhvbmUgbnVtYmVyXG4ucGhvbmUtbnVtYmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBDb250ZXh0dWFsIGxpbmtzXG5kaXYuY29udGV4dHVhbC1saW5rcy13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4vLyBIeXBoZW5hdGlvblxuLmRlYnVnLXRvZ2dsZS1ncmlkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vLyBDb2xvcmJveFxuI2Nib3hOZXh0LFxuI2Nib3hQcmV2aW91cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQnLCByZ2JhKDAsIDAsIDAsIC43KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCByZ2JhKDEsIDI3LCA1MiwgMC44KSk7XG4gIG9wYWNpdHk6IC44O1xuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4jY2JveFByZXZpb3VzOmJlZm9yZSwgI2Nib3hOZXh0OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCB3aGl0ZSk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4jY2JveFByZXZpb3VzIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBsZWZ0OiAgMDtcbiAgQGluY2x1ZGUgaWNvbignY3VzdG9tJywgJ2ljb21vb25fYXdlc29tZV9hbmdsZS1sZWZ0Jyk7XG59XG5cbiNjYm94TmV4dCB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICByaWdodDogMDtcbiAgQGluY2x1ZGUgaWNvbignY3VzdG9tJywgJ2ljb21vb25fYXdlc29tZV9hbmdsZS1yaWdodCcpO1xufVxuXG5cbiNjYm94TG9hZGVkQ29udGVudCAuY29udGVudC1ibG9jay5yaWNodGV4dCBoMyB7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cbiIsIi5kZWZhdWx0LXNpdGUtdGVtcGxhdGUge1xuICAvLyBub3BlLi4uIG5vdCBhbnltb3JlLlxuICAvL0BpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcjtcbn1cblxuLmwtaGVhZGVyLXdyYXBwZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmwtY29udGVudC1yb3cge1xuICBjbGVhcjogYm90aDtcbiAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgIC1tb3otaHlwaGVuczogbm9uZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuXG4gIGJvZHkubG9nZ2VkLWluOm5vdCguZnJvbnQpICZ7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gIH1cblxuICBib2R5LmxvZ2dlZC1pbiAme1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMzhweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuXG4gICAgYm9keS5sb2dnZWQtaW4gJiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTQ1cHg7XG4gICAgfVxuXG4gICAgYm9keS5sb2dnZWQtaW4uZnJvbnQgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogMjk1cHg7XG4gICAgfVxuICB9XG5cbiAgYm9keS5sb2dnZWQtaW4uZnJvbnQgJiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMjhweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzODBweCkge1xuICAgICAgcGFkZGluZy10b3A6IDIyNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uc3R1Y2sge1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgei1pbmRleDogMTU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIvL1xuLy8gVGhlIGN1cnJlbnQgc3RydWN0dXJlIGlzIGFzIGZvbGxvd3M6XG4vLyAgIC0gV2UgaGF2ZSB0aGUgcGFuZWwgcGFuZSwgd2hlcmUgZWl0aGVyIFwibC1mdWxsXCIgb3IgXCJsLWNvbnRlbnRcIiBpcyBkZWZpbmVkXG4vLyAgIC0gSW5zaWRlIHRoZSBwYW5lbCBwYW5lIGlzIHRoZSBcInNlY3Rpb24taXRlbVwiLiBEZXBlbmRpbmcgb24gdGhlIFwibC1cIi1jbGFzcyBvbiB0aGUgcGFuZWwgcGFuZSB0aGlzIGJveFxuLy8gICAgIGlzIGVpdGhlciAxMDAlIHdpZGUgb3IgZXF1YWwgdG8gdGhlIG91dGVyLWdyaWQtd3JhcHBlci5cbi8vICAgLSBJbnNpZGUgdGhlIHNlY2lvbi1pdGVtIGlzIHRoZSBcInNlY3Rpb24tY29udGVudC1pdGVtXCIuIEF0IGxlYXN0IHRoaXMgb25lIGlzIGVxdWFsIHRvIHRoZSBvdXRlci1ncmlkLXdyYXBwZXIuXG4vLyAgIC0gSW5zaWRlIHRoZSBzZWN0aW9uLWNvbnRlbnQtaXRlbSBpcyB0aGUgYWN0dWFsIGNob3NlbiBsYXlvdXRcbi8vICAgICAtIGxheW91dHMgd2l0aCAxIGNvbnRlbnQtY29sIChsLXRleHQgYW5kIGwtbWVkaWEpIGRlZmluZSB0aGUgaW5kZW50IG9uIHRoZWlyIG93blxuLy8gICAgIC0gbGF5b3V0cyB3aXRoIDIgY29udGVudC1jb2xzIChsLXRleHQtbWVkaWEsIGwtdGV4dC10ZXh0LCBsLW1lZGlhLXRleHQuLi4pIG5lZWQgdGhlIGwtaW5kZW50IHdyYXBwZXJcbi8vICAgICAgIHRvIGhhdmUgdGhlIGNvcnJlY3QgaW5kZW50XG4vL1xuLy9cblxuXG4vL1xuLy8gU2VjdGlvbiBpdGVtc1xuLy9cbi5zZWN0aW9uLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAmLmJnLWxvY2F0aW9uIHtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLnBhcmFncmFwaHMtaXRlbXMgLmVudGl0eS5maXJzdCB7XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbi5wYXJhZ3JhcGhzLWl0ZW1zIHtcbiAgLmVudGl0eSB7XG4gICAgJi5sYXN0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIH1cbiAgICAmLnBhcmFncmFwaHMtaXRlbS16YmwtYmFja2dyb3VuZC10ZXh0LXJpZ2h0LFxuICAgICYucGFyYWdyYXBocy1pdGVtLXpibC1iYWNrZ3JvdW5kLXRleHQtbGVmdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLnBhbmUtemJsLXByb3BlcnRpZXMtcGFuZS11bnByb21vdGVkLFxuLm92ZXJ2aWV3LXBhZ2Uge1xuXHQuc2VjdGlvbi1pdGVtIHtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4uc2VjdGlvbi1hZGQtcGFkZGluZy1sZWZ0LXJpZ2h0IHtcblx0cGFkZGluZy1sZWZ0OiAxMCU7XG5cdHBhZGRpbmctcmlnaHQ6IDEwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDBweCAxMDI0cHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4ucmVhZC1tb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmwtZnVsbCAuc2VjdGlvbi1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaHRtbCAubC1jb250ZW50IHtcbiAgLy9cbiAgLy8gV3JhcHBlciBhcm91bmQgYWxsIHNlY3Rpb25zLlxuICAvLyBXZSBuZWVkIHRoZSBmaXJzdC0gYW5kIGxhc3QtY2hpbGQgc2VsZWN0b3JzIGZvciBjYXNlc1xuICAvLyB3aGVuIHRoZXJlIGFyZSBvdGhlciBzZWN0aW9ucyAoZWcuIHBhbmVsLXBhbmVzKSBvbiBhIHBhZ2VcbiAgLy9cbiAgLy8ucGFuZS1ub2RlLWZpZWxkLXpibC1zLXNlY3Rpb24ge1xuICAvLyAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLy8gICY6bGFzdC1jaGlsZCAgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC8vfVxuICAucGFuZS1ub2RlLWZpZWxkLXpibC1zLWhlYWRlciArIC5wYW5lLW5vZGUtZmllbGQtemJsLXMtc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuICAuc2VjdGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcblxuICAgICYucHJvcGVydHktZGV0YWlsIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmlldy1tb2RlLWZ1bGwge1xuICAgIC5zZWN0aW9uLWNvbnRlbnQtaXRlbSB7XG4gICAgICAuaGVhZGluZyxcbiAgICAgIC5jb250ZW50LFxuICAgICAgLnNlY3Rpb24tY29udGVudC1pdGVtLFxuICAgICAgLmNhc2Utc3R1ZHktaW5mbyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGhyZWUtY29sKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyAuZHMtZHMtY29udGVudCB7XG4gICAgICAgIC5lbnRpdHkuZmlyc3Q6bm90KC5iYWNrZ3JvdW5kLWltYWdlKSB7XG4gICAgICAgICAgLnNlY3Rpb24tY29udGVudC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZHMtZHMtY29udGVudCB7XG5cdCAgICAucGFyYWdyYXBocy1pdGVtcyB7XG4gICAgICAgIC5zZWN0aW9uLWNvbnRlbnQtaXRlbSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICBcdFx0ICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMHB4IDEwMjRweCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gIFx0ICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnBhcmFncmFwaHMtaXRlbS16YmwtYmFja2dyb3VuZC10ZXh0LWxlZnQsXG4gICAgLnBhcmFncmFwaHMtaXRlbS16YmwtYmFja2dyb3VuZC10ZXh0LXJpZ2h0IHtcbiAgICAgIC5zZWN0aW9uLWNvbnRlbnQtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgfVxuXG4gICAgICAubC1pbmRlbnQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgLmwtaGFsZi10ZXh0LWxlZnQsXG4gICAgICAubC1oYWxmLXRleHQtcmlnaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5zZWNvbmQtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy42cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgLmwtaW5kZW50IHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5zZWNvbmQtaW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucGFyYWdyYXBocy1pdGVtLXpibC1iYWNrZ3JvdW5kLXRleHQtbGVmdCB7XG4gICAgICAubC1pbmRlbnQgIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgICAuc2Vjb25kLWltYWdlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICAucGFyYWdyYXBocy1pdGVtLXpibC1iYWNrZ3JvdW5kLXRleHQtcmlnaHQge1xuICAgICAgLmwtaW5kZW50ICB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICAgIC5zZWNvbmQtaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm92ZXJ2aWV3LXBhZ2Uge1xuXHQgIC5zZWN0aW9uLWl0ZW0ge1xuXHRcdCAgd2lkdGg6IDEwMCU7XG5cdCAgfVxuICB9XG4gIC5mdWxsc2NyZWVuIHtcblx0ICAuc2VjdGlvbi1pdGVtLFxuXHQgIC52aWV3LWNvbnRlbnQge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luOiBpbmhlcml0O1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG92ZXJmbG93OiBpbmhlcml0O1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0ICB9XG4gIH1cbn1cblxuLm5vZGUudmlldy1tb2RlLWZ1bGwge1xuICA+IC5zZWN0aW9uLWl0ZW0ge1xuXHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIC5jb250YWN0ICYge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5lbnRpdHkge1xuICAgICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG4gICAgICAuc2VjdGlvbi1jb250ZW50LWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgICB9XG5cbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDY4NXB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblx0fVxuICAucGFyYWdyYXBocy1pdGVtczpsYXN0LWNoaWxkIHtcbiAgICAmLnJpY2h0ZXh0IHtcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ub2RlLXR5cGUtemJsLXBhZ2Uuc2l0ZW1hcCxcbi5jb250YWN0LXBhZ2Uge1xuXHQuc2VjdGlvbi1pdGVtIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLm92ZXJ2aWV3LXBhZ2Uge1xuXHQuc2VjdGlvbi1jb250ZW50LWl0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHR9XG59XG5cblxuLy9cbi8vIFNlY3Rpb24gY29udGVudCBpdGVtc1xuLy9cbi5zZWN0aW9uLWNvbnRlbnQtaXRlbSxcbi5vZmZpY2UtaGVhZGVyIC5kcy1kcy1jb250ZW50IHtcbiAgQGluY2x1ZGUgb3V0ZXItZ3JpZC13cmFwcGVyKCk7XG59XG5cbi5wYXJhZ3JhcGhzLWl0ZW0temJsLWNvbnRlbnQtbWVkaWEsXG4ucGFyYWdyYXBocy1pdGVtLXpibC1scC10aXRsZXMtbWVkaWEtZnVsbCB7XG4gIC5kcy1kcy1tZWRpYSB7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMjhweCAwO1xuICAgIH1cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vL1xuLy8gSW4gNC1jb2wgd2UgaGF2ZSAzIGNvbHVtbnMgY2VudGVyZWQsIGluIDMtY29sIGFuZCBiZWxvdyAxMDAlIHdpZHRoXG4vL1xuLmwtaW5kZW50IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkge1xuICAgIC8vd2lkdGg6IDc1JTtcbiAgICAvL21hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbn1cbiIsIi5zZWN0aW9uLWl0ZW0uc2VjdGlvbi10aGVtZS1saWdodCAucmljaHRleHQge1xuICAmLFxuICBwLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLnNlY3Rpb24taXRlbS5zZWN0aW9uLXRoZW1lLWRhcmsgLnJpY2h0ZXh0IHtcbiAgJixcbiAgcCxcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLTQ7XG4gIH1cbn1cblxuLmVudGl0eS1wYXJhZ3JhcGhzLWl0ZW0ge1xuXG4gICYuc2VjdGlvbi10aGVtZS1saWdodCB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAucmljaHRleHQsXG4gICAgcCxcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNlY3Rpb24tdGhlbWUtZGFyayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLTQgIWltcG9ydGFudDtcbiAgICBcbiAgICAucmljaHRleHQsXG4gICAgcCxcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci00ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiAkYmx1ZS16b2RpYWMgIWltcG9ydGFudDtcbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRibHVlLXpvZGlhYyAhaW1wb3J0YW50O1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWUtem9kaWFjICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRibHVlLXpvZGlhYyAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlLXpvZGlhYyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiJHNlY3Rpb24tbWFyZ2luLXNtYWxsOiAyMHB4O1xuJHNlY3Rpb24tbWFyZ2luLW1lZGl1bTogNjRweDtcbiRzZWN0aW9uLW1hcmdpbi1sYXJnZTogODBweDtcbiRwcmVmaXg6ICAgJ3NlY3Rpb24tY29udGVudC1tYXJnaW4nO1xuJHByb3BlcnR5OiAncGFkZGluZyc7XG4kbXEtZmFjdG9yLW1hcDogKCRicC1vbmUtY29sIDAuNCwgJGJwLXR3by1jb2wgMC42LCAkYnAtdGhyZWUtY29sIDAuOCwgJGJwLWZyb20tZm91ci1jb2wgMSk7XG4kZGlyZWN0aW9uczogKCd0b3AnLCAnYm90dG9tJyk7XG4kc2l6ZS1tYXA6ICgnbm9uZScgMHB4LCAnc21hbGwnIDIwcHgsICdtZWRpdW0nIDY0cHgsICdsYXJnZScgODBweCk7XG5cbkBlYWNoICRtcSwgJGZhY3RvciBpbiAkbXEtZmFjdG9yLW1hcCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1xKSB7XG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkZGlyZWN0aW9ucyB7XG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHNpemUtbWFwIHtcbiAgICAgICAgLiN7JHByZWZpeH0tI3skZGlyZWN0aW9ufS0jeyRrZXl9IHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufSA6ICR2YWx1ZSokZmFjdG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy8gVG9kbzogQWxzIG1peGluIGJlcmVpdHN0ZWxsZW4uXG4uc21hbGwtc2V0Y2FyZC1saXN0LXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMDtcblxuICAubW9kYWwge1xuXHQgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5zbWFsbC1zZXRjYXJkIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSAgICAgICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tb25lLWNvbCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIubC1tZWRpYSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNCwgMSwgJGd1dHRlcjogJGd1dHRlci0tbWVkaWEpOyB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXR3by1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oOCwgMSwgJGd1dHRlcjogJGd1dHRlci0tbWVkaWEpOyB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oMTIsIDEsICRndXR0ZXI6ICRndXR0ZXItLW1lZGlhKTsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDEyLCAzLCAkZ3V0dGVyOiAkZ3V0dGVyLS1tZWRpYSk7IH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubC1tZWRpYSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sLW1lZGlhIGlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sLW1lZGlhIC5zY2FsZC1nYWxsZXJ5IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufSIsIi5sLXRleHQge1xuICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNCwgMSwgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbiAgLy9AaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDEsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG4gIC8vQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGhyZWUtY29sKSAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3BhbigxMiwgMSwgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbiAgLy9AaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDEyLCAzLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICBcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdHBhZGRpbmctbGVmdDogMy42cmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAzLjZyZW1cbiAgXG59XG4iLCIvKmRvY1xuLS0tXG50aXRsZTogTWVkaWEgRnVsbCBXaWR0aFxubmFtZTogTWVkaXVtIHZvbGxlIEJyZWl0ZVxuY2F0ZWdvcnk6IFBhcmFncmFwaHMtTGF5b3V0c1xuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cImwtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1jb250ZW50LWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPSdsLW1lZGlhJz5cbiAgICAgIDxpbWcgc3JjPVwiZGVtby1pbWFnZXMvYmFjb24uanBnXCIgYWx0PVwiYmFjb25cIiB0aXRsZT1cIkJhY29uIVwiPjwvaW1nPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuIiwiLypkb2Ncbi0tLVxudGl0bGU6IFRleHQgRnVsbCBXaWR0aFxubmFtZTogVGV4dCB2b2xsZSBCcmVpdGVcbmNhdGVnb3J5OiBQYXJhZ3JhcGhzLUxheW91dHNcbi0tLVxuXG5CZXNjaHJlaWJ1bmc6IFRleHQsIGRlciDDvGJlciBkaWUgdm9sbGUgQnJlaXRlIGzDpHVmdC5cblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwibC1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWNvbnRlbnQtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9J2wtdGV4dCByaWNodGV4dCc+XG4gICAgICA8aDM+RGllcyBpc3QgZWluZSBIZWFkbGluZSBtaXQgQXVzemVpY2hudW5nIEgzPC9oMz5cbiAgICAgIDxwPk1hZWNlbmFzIHRlbXB1cywgdGVsbHVzIGVnZXQgY29uZGltZW50dW0gcmhvbmN1cywgc2VtIHF1YW0gc2VtcGVyIGxpYmVybywgc2l0IGFtZXQgYWRpcGlzY2luZyBzZW0gbmVxdWUgc2VkIGlwc3VtLlxuICAgICAgTmFtIHF1YW0gbnVuYywgYmxhbmRpdCB2ZWwsIGx1Y3R1cyBwdWx2aW5hciwgaGVuZHJlcml0IGlkLCBsb3JlbS4gTWFlY2VuYXMgbmVjIG9kaW8gZXQgYW50ZSB0aW5jaWR1bnQgdGVtcHVzLiBEb25lY1xuICAgICAgdml0YWUgc2FwaWVuIHV0IGxpYmVybyB2ZW5lbmF0aXMgZmF1Y2lidXMuIE51bGxhbSBxdWlzIGFudGUuIEV0aWFtIHNpdCBhbWV0IG9yY2kgZWdldCBlcm9zIGZhdWNpYnVzIHRpbmNpZHVudC5cbiAgICAgIER1aXMgbGVvLiBTZWQgZnJpbmdpbGxhIG1hdXJpcyBzaXQgYW1ldCBuaWJoLiBEb25lYyBzb2RhbGVzIHNhZ2l0dGlzIG1hZ25hLiBTZWQgY29uc2VxdWF0LCBsZW8gZWdldCBiaWJlbmR1bSBzb2RhbGVzLFxuICAgICAgYXVndWUgdmVsaXQgY3Vyc3VzIG51bmM8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4iLCIvKmRvY1xuLS0tXG50aXRsZTogVGV4dCBIZWFkaW5nXG5uYW1lOiBUZXh0IMOcYmVyc2NocmlmdGVuIEJsb2NrXG5jYXRlZ29yeTogUGFyYWdyYXBocy1MYXlvdXRzXG4tLS1cblxuQmVzY2hyZWlidW5nOiBIMSB1bmQgU3VibGluZSAtPiBEaWVzZSBcIktvbXBvbmVudGVcIiBzdGVsbHQgbGVkaWdsaWNoZSBlaW5lIEtvbWJpbmF0aW9uIGF1cyByaWNodGV4dCB1bmRcbmRlbSBsLWZ1bGwtdGV4dCBsYXlvdXQtd3JhcHBlciBkYXIuXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cImwtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1jb250ZW50LWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPSdsLXRleHQgcmljaHRleHQnPlxuICAgICAgPGgxPlxuICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdC4gQWVuZWFuIGNvbW1vZG8gbGlndWxhIGVnZXQgZG9sb3JcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgQ3VtIHNvY2lpcyBuYXRvcXVlIHBlbmF0aWJ1cyBldCBtYWduaXMgZGlzIHBhcnR1cmllbnQgbW9udGVzLCBuYXNjZXR1ciByaWRpY3VsdXMgbXVzLiBEb25lYyBxdWFtIGZlbGlzLFxuICAgICAgICAgIHVsdHJpY2llcyBuZWMsIHBlbGxlbnRlc3F1ZSBldSwgcHJldGl1bSBxdWlzLCBzZW0uXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvaDE+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG5cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBUZXh0IFF1b3RlXG5uYW1lOiBUZXh0IFppdGV0XG5jYXRlZ29yeTogUGFyYWdyYXBocy1MYXlvdXRzXG4tLS1cblxuQmVzY2hyZWlidW5nOiBFaW4gWml0YXQsIGRhc3MgYXVzIGRlbSBDS0VkaXRvciBrb21tdC5cblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwibC1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWNvbnRlbnQtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9J2wtdGV4dCByaWNodGV4dCc+XG4gICAgICA8YmxvY2txdW90ZT5Ob2NoIHp1IGVybGVkaWdlbi4uLjwvYmxvY2txdW90ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cblxuIiwiLmdsLWwtaGFsZi1tZWRpYS1sZWZ0LFxuLmdsLWwtaGFsZi1tZWRpYS1yaWdodCB7XG5cdG1heC13aWR0aDogNTAlO1xuXHRtYXJnaW4tdG9wOiAwLjQ1ZW07XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cbi5nbC1sLWhhbGYtbWVkaWEtbGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwYWRkaW5nOiAwIDMwcHggMTRweCAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcblx0XHRwYWRkaW5nOiAwIDAgMTRweCAwO1xuICAgIGZsb2F0OiBub25lO1xuXHR9XG59XG4uZ2wtbC1oYWxmLW1lZGlhLXJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwYWRkaW5nOiAwIDAgMTRweCAzMHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcblx0XHRwYWRkaW5nOiAwIDAgMTRweCAwO1xuICAgIGZsb2F0OiBub25lO1xuXHR9XG59XG4uZ2wtbC1oYWxmLWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICBoMSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbn1cbi5sLXRleHQgIHtcblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcblx0fVxufVxuIiwiLmwtaGFsZi10ZXh0LWxlZnQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRncmlkOiA0LCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDYsIDEsICRncmlkOiAxMiwgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig2LCAxLCAkZ3JpZDogMTIsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG59XG5cbi5sLWhhbGYtdGV4dC1yaWdodCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNCwgMSwgJGdyaWQ6IDQsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNiwgNywgJGdyaWQ6IDEyLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDYsIDcsICRncmlkOiAxMiwgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbn1cblxuLy8gVG9kbzogV2VubiBDb250YWluZXIgcmlnaHQgbGVlciBpc3QsIGRhcmYgZGllc2VyIG5pY2h0IGF1c2dlZ2ViZW4gd2VyZGVuXG4vLyBBbnNvbnN0ZW4gZ2lidHMgaW0gZWluc3BhbHRpZ2VuIFByb2JsZW1lLCBkYSBkYW5uIGRpZXNlIFJlZ2VsIGdyZWlmZW4gd8O8cmRlLlxuLmwtaGFsZi1tZWRpYS1sZWZ0ICsgLmwtaGFsZi10ZXh0LXJpZ2h0LFxuLmwtaGFsZi10ZXh0LWxlZnQgKyAubC1oYWxmLXRleHQtcmlnaHQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4ubC1ib3R0b20ge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmwtYm90dG9tLWhhbGYtdGV4dC1yaWdodCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNCwgMSwgJGdyaWQ6IDQsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNiwgMSwgJGdyaWQ6IDEyLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDYsIDEsICRncmlkOiAxMiwgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbn1cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBNZWRpYSArIE1lZGlhXG5uYW1lOiBNZWRpYSBoYWxiZSBCcmVpdGUgKyBNZWRpYSBoYWxiZSBCcmVpdGVcbmNhdGVnb3J5OiBQYXJhZ3JhcGhzLUxheW91dHNcbi0tLVxuXG5CZXNjaHJlaWJ1bmc6IDJ4IE1lZGl1bVxuXG5gYGBodG1sX2V4YW1wbGVcbjxkaXYgY2xhc3M9XCJsLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cInNlY3Rpb24tY29udGVudC1pdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cImwtaW5kZW50IHJpY2h0ZXh0XCI+XG4gICAgICA8ZGl2IGNsYXNzPSdsLWhhbGYtbWVkaWEtbGVmdCc+XG4gICAgICAgIDxpbWcgc3JjPVwiZGVtby1pbWFnZXMvYmFjb24uanBnXCIgYWx0PVwiYmFjb25cIiB0aXRsZT1cIkJhY29uIVwiPjwvaW1nPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPSdsLWhhbGYtbWVkaWEtcmlnaHQnPlxuICAgICAgICA8aW1nIHNyYz1cImRlbW8taW1hZ2VzL2JhY29uLmpwZ1wiIGFsdD1cImJhY29uXCIgdGl0bGU9XCJCYWNvbiFcIj48L2ltZz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuIiwiLypkb2Ncbi0tLVxudGl0bGU6IE1lZGlhICsgTm90aGluZ1xubmFtZTogTWVkaWEgaGFsYmUgQnJlaXRlICsgTmljaHRzXG5jYXRlZ29yeTogUGFyYWdyYXBocy1MYXlvdXRzXG4tLS1cblxuQmVzY2hyZWlidW5nOiAxeCBNZWRpdW0gbGlua3MgcG9zaXRpb25pZXJ0XG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cImwtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1jb250ZW50LWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibC1pbmRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9J2wtaGFsZi1tZWRpYS1sZWZ0Jz5cbiAgICAgICAgPGltZyBzcmM9XCJkZW1vLWltYWdlcy9iYWNvbi5qcGdcIiBhbHQ9XCJiYWNvblwiIHRpdGxlPVwiQmFjb24hXCI+PC9pbWc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBNZWRpYSArIFRleHRcbm5hbWU6IE1lZGlhIGhhbGJlIEJyZWl0ZSArIFRleHQgaGFsYmUgQnJlaXRlXG5jYXRlZ29yeTogUGFyYWdyYXBocy1MYXlvdXRzXG4tLS1cblxuQmVzY2hyZWlidW5nOiAxeCBNZWRpdW0sIDF4IFRleHRcblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwibC1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWNvbnRlbnQtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsLWluZGVudCByaWNodGV4dFwiPlxuICAgICAgPGRpdiBjbGFzcz0nbC1oYWxmLW1lZGlhLWxlZnQnPlxuICAgICAgICA8aW1nIHNyYz1cImRlbW8taW1hZ2VzL2JhY29uLmpwZ1wiIGFsdD1cImJhY29uXCIgdGl0bGU9XCJCYWNvbiFcIj48L2ltZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0nbC1oYWxmLXRleHQtcmlnaHQnPlxuICAgICAgICA8aDM+SGllciBzdGVodCBlaW5lIEgzPC9oMz5cbiAgICAgICAgPHA+TWFlY2VuYXMgdGVtcHVzLCB0ZWxsdXMgZWdldCBjb25kaW1lbnR1bSByaG9uY3VzLCBzZW0gcXVhbSBzZW1wZXIgbGliZXJvLCBzaXQgYW1ldCBhZGlwaXNjaW5nIHNlbSBuZXF1ZSBzZWQgaXBzdW0uXG4gICAgICAgIE5hbSBxdWFtIG51bmMsIGJsYW5kaXQgdmVsLCBsdWN0dXMgcHVsdmluYXIsIGhlbmRyZXJpdCBpZCwgbG9yZW0uIE1hZWNlbmFzIG5lYyBvZGlvIGV0IGFudGUgdGluY2lkdW50IHRlbXB1cy4gRG9uZWNcbiAgICAgICAgdml0YWUgc2FwaWVuIHV0IGxpYmVybyB2ZW5lbmF0aXMgZmF1Y2lidXMuIE51bGxhbSBxdWlzIGFudGUuIEV0aWFtIHNpdCBhbWV0IG9yY2kgZWdldCBlcm9zIGZhdWNpYnVzIHRpbmNpZHVudC5cbiAgICAgICAgRHVpcyBsZW8uIFNlZCBmcmluZ2lsbGEgbWF1cmlzIHNpdCBhbWV0IG5pYmguIERvbmVjIHNvZGFsZXMgc2FnaXR0aXMgbWFnbmEuIFNlZCBjb25zZXF1YXQsIGxlbyBlZ2V0IGJpYmVuZHVtIHNvZGFsZXMsXG4gICAgICAgIGF1Z3VlIHZlbGl0IGN1cnN1cyBudW5jPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4iLCIvKmRvY1xuLS0tXG50aXRsZTogTm90aGluZyArIE1lZGlhXG5uYW1lOiBOaWNodHMgKyBNZWRpYSBoYWxiZSBCcmVpdGVcbmNhdGVnb3J5OiBQYXJhZ3JhcGhzLUxheW91dHNcbi0tLVxuXG5CZXNjaHJlaWJ1bmc6IDF4IE1lZGl1bSByZWNodHMgcG9zaXRpb25pZXJ0XG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cImwtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1jb250ZW50LWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibC1pbmRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9J2wtaGFsZi1tZWRpYS1yaWdodCc+XG4gICAgICAgIDxpbWcgc3JjPVwiZGVtby1pbWFnZXMvYmFjb24uanBnXCIgYWx0PVwiYmFjb25cIiB0aXRsZT1cIkJhY29uIVwiPjwvaW1nPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4iLCIvKmRvY1xuLS0tXG50aXRsZTogTm90aGluZyArIFRleHRcbm5hbWU6IE5pY2h0cyArIFRleHQgaGFsYmUgQnJlaXRlXG5jYXRlZ29yeTogUGFyYWdyYXBocy1MYXlvdXRzXG4tLS1cblxuQmVzY2hyZWlidW5nOiAxeCBUZXh0IHJlY2h0cyBwb3NpdGlvbmllcnRcblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwibC1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWNvbnRlbnQtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsLWluZGVudCByaWNodGV4dFwiPlxuICAgICAgPGRpdiBjbGFzcz0nbC1oYWxmLXRleHQtcmlnaHQnPlxuICAgICAgICA8aDM+SGllciBzdGVodCBlaW5lIEgzPC9oMz5cbiAgICAgICAgPHA+TWFlY2VuYXMgdGVtcHVzLCB0ZWxsdXMgZWdldCBjb25kaW1lbnR1bSByaG9uY3VzLCBzZW0gcXVhbSBzZW1wZXIgbGliZXJvLCBzaXQgYW1ldCBhZGlwaXNjaW5nIHNlbSBuZXF1ZSBzZWQgaXBzdW0uXG4gICAgICAgIE5hbSBxdWFtIG51bmMsIGJsYW5kaXQgdmVsLCBsdWN0dXMgcHVsdmluYXIsIGhlbmRyZXJpdCBpZCwgbG9yZW0uIE1hZWNlbmFzIG5lYyBvZGlvIGV0IGFudGUgdGluY2lkdW50IHRlbXB1cy4gRG9uZWNcbiAgICAgICAgdml0YWUgc2FwaWVuIHV0IGxpYmVybyB2ZW5lbmF0aXMgZmF1Y2lidXMuIE51bGxhbSBxdWlzIGFudGUuIEV0aWFtIHNpdCBhbWV0IG9yY2kgZWdldCBlcm9zIGZhdWNpYnVzIHRpbmNpZHVudC5cbiAgICAgICAgRHVpcyBsZW8uIFNlZCBmcmluZ2lsbGEgbWF1cmlzIHNpdCBhbWV0IG5pYmguIERvbmVjIHNvZGFsZXMgc2FnaXR0aXMgbWFnbmEuIFNlZCBjb25zZXF1YXQsIGxlbyBlZ2V0IGJpYmVuZHVtIHNvZGFsZXMsXG4gICAgICAgIGF1Z3VlIHZlbGl0IGN1cnN1cyBudW5jPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4iLCIvKmRvY1xuLS0tXG50aXRsZTogVGV4dCArIE1lZGlhXG5uYW1lOiBUZXh0IGhhbGJlIEJyZWl0ZSArIE1lZGl1bSBoYWxiZSBCcmVpdGVcbmNhdGVnb3J5OiBQYXJhZ3JhcGhzLUxheW91dHNcbi0tLVxuXG5CZXNjaHJlaWJ1bmc6IDF4IFRleHQsIDF4IE1lZGl1bVxuXG5gYGBodG1sX2V4YW1wbGVcbjxkaXYgY2xhc3M9XCJsLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cInNlY3Rpb24tY29udGVudC1pdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cImwtaW5kZW50IHJpY2h0ZXh0XCI+XG4gICAgICA8ZGl2IGNsYXNzPSdsLWhhbGYtdGV4dC1sZWZ0Jz5cbiAgICAgICAgPGgzPkhpZXIgc3RlaHQgZWluZSBIMzwvaDM+XG4gICAgICAgIDxwPk1hZWNlbmFzIHRlbXB1cywgdGVsbHVzIGVnZXQgY29uZGltZW50dW0gcmhvbmN1cywgc2VtIHF1YW0gc2VtcGVyIGxpYmVybywgc2l0IGFtZXQgYWRpcGlzY2luZyBzZW0gbmVxdWUgc2VkIGlwc3VtLlxuICAgICAgICBOYW0gcXVhbSBudW5jLCBibGFuZGl0IHZlbCwgbHVjdHVzIHB1bHZpbmFyLCBoZW5kcmVyaXQgaWQsIGxvcmVtLiBNYWVjZW5hcyBuZWMgb2RpbyBldCBhbnRlIHRpbmNpZHVudCB0ZW1wdXMuIERvbmVjXG4gICAgICAgIHZpdGFlIHNhcGllbiB1dCBsaWJlcm8gdmVuZW5hdGlzIGZhdWNpYnVzLiBOdWxsYW0gcXVpcyBhbnRlLiBFdGlhbSBzaXQgYW1ldCBvcmNpIGVnZXQgZXJvcyBmYXVjaWJ1cyB0aW5jaWR1bnQuXG4gICAgICAgIER1aXMgbGVvLiBTZWQgZnJpbmdpbGxhIG1hdXJpcyBzaXQgYW1ldCBuaWJoLiBEb25lYyBzb2RhbGVzIHNhZ2l0dGlzIG1hZ25hLiBTZWQgY29uc2VxdWF0LCBsZW8gZWdldCBiaWJlbmR1bSBzb2RhbGVzLFxuICAgICAgICBhdWd1ZSB2ZWxpdCBjdXJzdXMgbnVuYzwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0nbC1oYWxmLW1lZGlhLXJpZ2h0Jz5cbiAgICAgICAgPGltZyBzcmM9XCJkZW1vLWltYWdlcy9iYWNvbi5qcGdcIiBhbHQ9XCJiYWNvblwiIHRpdGxlPVwiQmFjb24hXCI+PC9pbWc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBUZXh0ICsgTm90aGluZ1xubmFtZTogVGV4dCBoYWxiZSBCcmVpdGUgKyBOaWNodHNcbmNhdGVnb3J5OiBQYXJhZ3JhcGhzLUxheW91dHNcbi0tLVxuXG5CZXNjaHJlaWJ1bmc6IDF4IFRleHQgbGlua3MgcG9zaXRpb25pZXJ0XG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cImwtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1jb250ZW50LWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibC1pbmRlbnQgcmljaHRleHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9J2wtaGFsZi10ZXh0LWxlZnQnPlxuICAgICAgICA8aDI+SGllciBzdGVodCBlaW5lIEgyPC9oMj5cbiAgICAgICAgPHA+TWFlY2VuYXMgdGVtcHVzLCB0ZWxsdXMgZWdldCBjb25kaW1lbnR1bSByaG9uY3VzLCBzZW0gcXVhbSBzZW1wZXIgbGliZXJvLCBzaXQgYW1ldCBhZGlwaXNjaW5nIHNlbSBuZXF1ZSBzZWQgaXBzdW0uXG4gICAgICAgIE5hbSBxdWFtIG51bmMsIGJsYW5kaXQgdmVsLCBsdWN0dXMgcHVsdmluYXIsIGhlbmRyZXJpdCBpZCwgbG9yZW0uIE1hZWNlbmFzIG5lYyBvZGlvIGV0IGFudGUgdGluY2lkdW50IHRlbXB1cy4gRG9uZWNcbiAgICAgICAgdml0YWUgc2FwaWVuIHV0IGxpYmVybyB2ZW5lbmF0aXMgZmF1Y2lidXMuIE51bGxhbSBxdWlzIGFudGUuIEV0aWFtIHNpdCBhbWV0IG9yY2kgZWdldCBlcm9zIGZhdWNpYnVzIHRpbmNpZHVudC5cbiAgICAgICAgRHVpcyBsZW8uIFNlZCBmcmluZ2lsbGEgbWF1cmlzIHNpdCBhbWV0IG5pYmguIERvbmVjIHNvZGFsZXMgc2FnaXR0aXMgbWFnbmEuIFNlZCBjb25zZXF1YXQsIGxlbyBlZ2V0IGJpYmVuZHVtIHNvZGFsZXMsXG4gICAgICAgIGF1Z3VlIHZlbGl0IGN1cnN1cyBudW5jPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4iLCIvKmRvY1xuLS0tXG50aXRsZTogVGV4dCArIFRleHRcbm5hbWU6IFRleHQgaGFsYmUgQnJlaXRlICsgVGV4dCBoYWxiZSBCcmVpdGVcbmNhdGVnb3J5OiBQYXJhZ3JhcGhzLUxheW91dHNcbi0tLVxuXG5CZXNjaHJlaWJ1bmc6IDJ4IFRleHRcblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwibC1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWNvbnRlbnQtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsLWluZGVudCByaWNodGV4dFwiPlxuICAgICAgPGRpdiBjbGFzcz0nbC1oYWxmLXRleHQtbGVmdCc+XG4gICAgICAgIDxoMj5IaWVyIHN0ZWh0IGVpbmUgSDI8L2gyPlxuICAgICAgICA8cD5NYWVjZW5hcyB0ZW1wdXMsIHRlbGx1cyBlZ2V0IGNvbmRpbWVudHVtIHJob25jdXMsIHNlbSBxdWFtIHNlbXBlciBsaWJlcm8sIHNpdCBhbWV0IGFkaXBpc2Npbmcgc2VtIG5lcXVlIHNlZCBpcHN1bS5cbiAgICAgICAgTmFtIHF1YW0gbnVuYywgYmxhbmRpdCB2ZWwsIGx1Y3R1cyBwdWx2aW5hciwgaGVuZHJlcml0IGlkLCBsb3JlbS4gTWFlY2VuYXMgbmVjIG9kaW8gZXQgYW50ZSB0aW5jaWR1bnQgdGVtcHVzLiBEb25lY1xuICAgICAgICB2aXRhZSBzYXBpZW4gdXQgbGliZXJvIHZlbmVuYXRpcyBmYXVjaWJ1cy4gTnVsbGFtIHF1aXMgYW50ZS4gRXRpYW0gc2l0IGFtZXQgb3JjaSBlZ2V0IGVyb3MgZmF1Y2lidXMgdGluY2lkdW50LlxuICAgICAgICBEdWlzIGxlby4gU2VkIGZyaW5naWxsYSBtYXVyaXMgc2l0IGFtZXQgbmliaC4gRG9uZWMgc29kYWxlcyBzYWdpdHRpcyBtYWduYS4gU2VkIGNvbnNlcXVhdCwgbGVvIGVnZXQgYmliZW5kdW0gc29kYWxlcyxcbiAgICAgICAgYXVndWUgdmVsaXQgY3Vyc3VzIG51bmM8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9J2wtaGFsZi10ZXh0LXJpZ2h0Jz5cbiAgICAgICAgPGgzPkhpZXIgc3RlaHQgZWluZSBIMzwvaDM+XG4gICAgICAgIDxwPk1hZWNlbmFzIHRlbXB1cywgdGVsbHVzIGVnZXQgY29uZGltZW50dW0gcmhvbmN1cywgc2VtIHF1YW0gc2VtcGVyIGxpYmVybywgc2l0IGFtZXQgYWRpcGlzY2luZyBzZW0gbmVxdWUgc2VkIGlwc3VtLlxuICAgICAgICBOYW0gcXVhbSBudW5jLCBibGFuZGl0IHZlbCwgbHVjdHVzIHB1bHZpbmFyLCBoZW5kcmVyaXQgaWQsIGxvcmVtLiBNYWVjZW5hcyBuZWMgb2RpbyBldCBhbnRlIHRpbmNpZHVudCB0ZW1wdXMuIERvbmVjXG4gICAgICAgIHZpdGFlIHNhcGllbiB1dCBsaWJlcm8gdmVuZW5hdGlzIGZhdWNpYnVzLiBOdWxsYW0gcXVpcyBhbnRlLiBFdGlhbSBzaXQgYW1ldCBvcmNpIGVnZXQgZXJvcyBmYXVjaWJ1cyB0aW5jaWR1bnQuXG4gICAgICAgIER1aXMgbGVvLiBTZWQgZnJpbmdpbGxhIG1hdXJpcyBzaXQgYW1ldCBuaWJoLiBEb25lYyBzb2RhbGVzIHNhZ2l0dGlzIG1hZ25hLiBTZWQgY29uc2VxdWF0LCBsZW8gZWdldCBiaWJlbmR1bSBzb2RhbGVzLFxuICAgICAgICBhdWd1ZSB2ZWxpdCBjdXJzdXMgbnVuYzwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuIiwiLy8gV2hhdCBpcyBoYXBwZW5pbmcgaGVyZT9cbi8vIDEuKSBCcmVha3BvaW50IGluIHBpeGVsIGRpdmlkZWQgYnkgY29sdW1ucyB0aW1lcyB0aGUgbnVtYmVyIG9mIHN0cmlwZXMgaW4gb25lIGNvbHVtblxuLy8gMi4pIFRoYXQgbnVtYmVyIGRpdmlkZWQgYnkgMi40cmVtIGVxdWFscyBvdXIgZGVzaXJlZCBmb250LXNpemUgb24gdGhlIGh0bWwgZWxlbWVudFxuXG4vLyBFeGFtcGxlczpcbi8vIEluIG1heGltdW0gb25lIGNvbHVtbiBsYXlvdXRcbi8vIDEuKSA0NzlweCAvIDE2IHN0cmlwZXMgPSB+MzBweFxuLy8gMi4pIDMwcHgvMi40cmVtID0gMTIuNVxuXG4vLyBJbiBtYXhpbXVtIHR3byBjb2x1bW4gbGF5b3V0XG4vLyAxLikgNzY3cHggLyAzMiBzdHJpcGVzID0gfjI0cHhcbi8vIDIuKSAyNC8yLjRyZW0gPSAxMFxuXG4vLyBJbiBtYXhpbXVtIHRocmVlIGNvbHVtbiBsYXlvdXRcbi8vIDEuKSAxMTUycHggLyA0OCBzdHJpcGVzID0gMjRweFxuLy8gMi4pIDI0LzIuNHJlbSA9IDEwXG5cbi8vIGFuZCBzbyBvbi4uLlxuXG4vL1xuLy8gU2ltcGxpZmllZCBhcHJvYWNoOlxuLy8gRm9yIGZ1cnRoZXIgLyBmaW5lciByZW0tZGVmaW5pdGlvbnMgYWRkIHRoZSBzY3JlZW53aWR0aCBhbmRcbi8vIGhvdyBtYW55IGNvbHVtbnMgd2UgaGF2ZSBpbiB0aGF0IHNwZWNpZmljIGxheW91dC5cbi8vXG4kc3VwZXItcmVtLW1hcDogKFxuICAyNDBweDogIDEsXG4gIDMyMHB4OiAgMSxcbiAgNDAwcHg6ICAxLFxuICA0NzlweDogIDEsXG4gIDQ4MHB4OiAgMixcbiAgNTc2cHg6ICAyLFxuICA2NzJweDogIDIsXG4gIDc2N3B4OiAgMixcbiAgNzY4cHg6ICAzLFxuICA4OTVweDogIDMsXG4gIDEwMjNweDogMyxcbiAgMTE2N3B4OiAzLFxuICAxMzU5cHg6IDQsXG4gIDE1NTFweDogNCxcbik7XG5cbkBlYWNoICRzaXplLCAkY29sdW1ucyBpbiAkc3VwZXItcmVtLW1hcCB7XG4gICRjYWxjdWxhdGVkLXJlbTogKCRzaXplIC8gKCRjb2x1bW5zICogMTYpKSAvIDIuNDtcbiAgaHRtbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgZm9udC1zaXplOiAkY2FsY3VsYXRlZC1yZW07XG4gICAgfVxuICB9XG59XG4iLCJib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmcy1wYXJhZ3JhcGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjaS1hbmQtcGctYmFja2dyb3VuZDtcbn1cblxuLy8gV2UgaGF2ZSB0byB1c2UgaW1wb3J0YW50IGhlcmUuXG4vLyBJZiB0aGVyZSB3YXMgYSBtb2RhbCBvcGVuZWQgYmVmb3JlLCB3ZSBoYXZlIGlubGluZSBjc3Ncbi8vIG9uIHRoZSBib2R5IHdoaWNoIHdlIGhhdmUgdG8gb3ZlcnJpZGUgd2l0aCB0aGlzIGNsYXNzLlxuYm9keS5tb2JpbGUtbmF2LW9wZW4ge1xuICAvKiBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgKi9cbn1cblxuYm9keS5jdG9vbHMtbW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkubGFuZy1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cbiIsIkBtaXhpbiBiZWhhdmUtbGlrZS1oMSgpIHtcbiAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMTtcbiAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAzKTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDM0cHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtZXh0cmEtbGFyZ2UtcGhvbmUpIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDE3MHB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICRlbGVtZW50LWNvbG9yLTQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gICYgPiBzcGFuIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0xLXN1YjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbn1cblxuLnJpY2h0ZXh0IHtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG5cbiAgaDEgeyBAaW5jbHVkZSBiZWhhdmUtbGlrZS1oMTsgfVxuICBoMiB7IEBpbmNsdWRlIGZzLWhlYWRsaW5lLTI7IH1cbiAgaDMgeyBAaW5jbHVkZSBmcy1oZWFkbGluZS0zOyB9XG4gIGg0IHsgQGluY2x1ZGUgZnMtaGVhZGxpbmUtNDsgfVxuICBoNSB7IEBpbmNsdWRlIGZzLWhlYWRsaW5lLTU7IH1cbiAgaDEsIGgyLCBoMywgaDQsIGg1IHtcblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlcjogMDtcblx0XHR9XG5cdH1cbiAgLmhlYWRpbmctLXNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgcCB7XG4gICAgQGluY2x1ZGUgZnMtcGFyYWdyYXBoO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gIH1cbiAgYSAgICAgeyBAaW5jbHVkZSBmcy1saW5rOyB9XG5cbiAgLmljb25zIGEge1xuXHQgIGJvcmRlcjogMDtcblx0ICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgZW0gICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIHUgICAgICB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlICFpbXBvcnRhbnQ7XG4gICAgbGlzdC1zdHlsZTogdXJsKCcuLi9pbWFnZXMvbGlzdC1zdHlsZS5wbmcnKTtcblxuICAgIGxpe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogMWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIHRleHQtaW5kZW50OiAtMWVtO1xuICAgIH1cblxuICAgIGh0bWxbZGlyPXJ0bF0gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIH1cbiAgfVxuICB1bCBsaSB7XG4gICAgQGluY2x1ZGUgZnMtbGlzdDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICB9XG5cbiAgb2wge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbiAgb2wgbGkge1xuICAgIEBpbmNsdWRlIGZzLXBhcmFncmFwaDtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgfVxuXG4gIC5zb2NpYWwge1xuXHQgIGxpIHtcblx0XHQgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHQgIH1cbiAgfVxuXG4gIC8vXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudHMgYmV0d2VlbiBlbGVtZW50c1xuICAvL1xuICAvLyAkdHlwby1lbGVtZW50czogaDIsIGgzLCBoNCwgaDUsIHAsIHVsLCBvbCwgYmxvY2txdW90ZTtcbiAgLy8gJGNvbWJpbmVkOiAnJztcbiAgLy8gQGVhY2ggJHNlbC0xIGluICR0eXBvLWVsZW1lbnRzIHtcbiAgLy8gICBAZWFjaCAkc2VsLTIgaW4gJHR5cG8tZWxlbWVudHMge1xuICAvLyAgICAgJGNvbWJpbmVkOiBhcHBlbmQoJGNvbWJpbmVkLCAkc2VsLTEpO1xuICAvLyAgICAgJGNvbWJpbmVkOiBhcHBlbmQoJGNvbWJpbmVkLCAnKycpO1xuICAvLyAgICAgJGNvbWJpbmVkOiBhcHBlbmQoJGNvbWJpbmVkLCAkc2VsLTIpO1xuICAvLyAgICAgJGNvbWJpbmVkOiBhcHBlbmQoJGNvbWJpbmVkLCAnLCcpO1xuICAvLyAgIH1cbiAgLy8gfVxuICAvLyAjeyRjb21iaW5lZH0ge1xuICAvLyAgIHBhZGRpbmctdG9wOiAxZW07XG4gIC8vIH1cblxuXG4gIC8vXG4gIC8vIE92ZXJyaWRlcyBmb3Igc3BlY2lmaWMgYWxpZ25tZW50cywgdGhhdCBhcmUgbm90IDFlbVxuICAvL1xuICAvLyBoMiArIHAgeyBwYWRkaW5nLXRvcDogMjVweDsgfVxuICAvLyBoMyArIHAgeyBwYWRkaW5nLXRvcDogMjhweDsgfVxuICAvLyBoNCArIHAgeyBwYWRkaW5nLXRvcDogMjhweDsgfVxuICAvLyBoNSArIHAgeyBwYWRkaW5nLXRvcDogMjhweDsgfVxuICAvLyBwICArIHAgeyBwYWRkaW5nLXRvcDogMDsgfVxuICBoMiwgaDMsIGg0LCBoNSB7XG4gICAgbWFyZ2luOiAyOHB4IDA7XG4gIH1cblxuICAvL1xuICAvLyBDdXN0b20gY2FzZSBibG9ja3F1b3RlXG4gIC8vXG4gIGJsb2NrcXVvdGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICBAaW5jbHVkZSBmcy1xdW90ZTtcblxuICAgIGVtIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gICAgcCB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbiAgLnF1b3Rlcy1hdXRob3Ige1xuICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5xdW90ZXMtbHAge1xuICAgIEBleHRlbmQgYmxvY2txdW90ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiAzOC41cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkge1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAmLmwtdGV4dCB7XG4gICAgYmxvY2txdW90ZSxcbiAgICAucXVvdGVzLWF1dGhvciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5xdW90ZXMtYXV0aG9yIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gICAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gICAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICBlbSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5sYW5nLXJ0bCB7XG4gIC5yaWNodGV4dHtcbiAgICB1bCB7XG5cbiAgICAgIGxpe1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgICB0ZXh0LWluZGVudDogLTFlbTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG59IiwiLmhlYWRpbmctLXBhZ2Uge1xuICBAaW5jbHVkZSBiZWhhdmUtbGlrZS1oMSgpO1xufVxuXG4uaGVhZGluZy0tc2VjdGlvbiB7XG4gIEBpbmNsdWRlIGZzLWhlYWRsaW5lLTIoKTtcbn1cblxuLmhlYWRpbmctLWNvbnRlbnQge1xuICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG59XG5cbi5oZWFkaW5nLS1zdWJvcmRpbmF0ZWQge1xuICBAaW5jbHVkZSBmcy1oZWFkbGluZS00KCk7XG59XG5cbi8vLmhlYWRpbmctLWluZmVyaW9yIHtcbi8vICBAaW5jbHVkZSBmcy1oZWFkbGluZS01KCk7XG4vL30iLCIvL1xuLy8gTWl4aW5zIHVzZWQgZm9yIHRoZSBidXR0b24gY2xhc3MuXG4vLyBJZiB0aGVyZSBpcyBubyB3YXkgdG8gc2V0IHRoZSBidXR0b24tY2xhc3NlcyBvbiB0aGUgZWxlbWVudFxuLy8ganVzdCBwaWNrIHRoZSAgbmVlZGVkIG1peGlucyBhbmQgaW5jbHVkZSB0aGVtLlxuLy9cbkBtaXhpbiBidXR0b24tZGVmYXVsdHMoKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBub25lOyAvLyByZXNldCBmb3IgcG9zc2libGUgYm9yZGVyIGZyb20gcmljaHRleHRcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMCAyLjRyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmlnaHQtcmVkO1xuICAgIGJvcmRlci1jb2xvcjogJGJyaWdodC1yZWQ7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4vLyBTaXplc1xuQG1peGluIGJ1dHRvbi0tc21hbGwoKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1kZWZhdWx0cygpO1xuICBoZWlnaHQ6IDQwcHg7XG4gIEBpbmNsdWRlIGZzLWJ1dHRvbignc21hbGwnKTtcbn1cblxuQG1peGluIGJ1dHRvbi0tbGFyZ2UoKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1kZWZhdWx0cygpO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBmcy1idXR0b24oJ2xhcmdlJyk7XG59XG5cblxuLy8gU2NoZW1lc1xuQG1peGluIGJ1dHRvbi1zY2hlbWUtLXJlZCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0xO1xufVxuXG5AbWl4aW4gYnV0dG9uLXNjaGVtZS0tb25saWdodCB7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci00O1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1jb2xvci00O1xufVxuXG5AbWl4aW4gYnV0dG9uLXNjaGVtZS0tb25kYXJrIHtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vLyBQcm92aWRlIGEgc2V0IG9mIGNsYXNzZXMgdG8gdXNlIGluIHRlbXBsYXRlc1xuLy9cbi5idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdHMoKTtcblxuICAvLyBTaXplc1xuICAmLmJ1dHRvbi0tc21hbGwgeyBAaW5jbHVkZSBidXR0b24tLXNtYWxsKCk7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgJi5idXR0b24tLWxhcmdlIHsgQGluY2x1ZGUgYnV0dG9uLS1sYXJnZSgpOyB9XG4gICYuYnV0dG9uLS1zbGltIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMi40cmVtIDAuNXJlbSA0LjhyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuICAmLmJ1dHRvbi0tc2Nyb2xsLWRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZhLWFuZ2xlLWRvdWJsZS1kb3duLXdoaXRlLnBuZykgbm8tcmVwZWF0IDUwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG4gICYuYnV0dG9uLS1zaW1wbGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNpbHZlcjtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cbiAgJi5idXR0b24tLWNsb3NlIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tY2xvc2UucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tY2xvc2UucG5nKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICB9XG4gIH1cblxuICAvLyBTY2hlbWVzXG4gICYuYnV0dG9uLXNjaGVtZS0tcmVkICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zY2hlbWUtLXJlZCgpOyB9XG4gICYuYnV0dG9uLXNjaGVtZS0tb25saWdodCB7IEBpbmNsdWRlIGJ1dHRvbi1zY2hlbWUtLW9ubGlnaHQoKTsgfVxuICAmLmJ1dHRvbi1zY2hlbWUtLW9uZGFyayAgeyBAaW5jbHVkZSBidXR0b24tc2NoZW1lLS1vbmRhcmsoKTsgfVxuXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgYSB7XG5cdCAgYm9yZGVyOiAwO1xuXHQgIGNvbG9yOiB3aGl0ZTtcblx0ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdCAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnpibC1idXR0b24tbGluayxcbi5yaWNodGV4dCAuemJsLWJ1dHRvbi1saW5rIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWRlZmF1bHRzKCk7XG4gIEBpbmNsdWRlIGJ1dHRvbi0tc21hbGwoKTtcbiAgQGluY2x1ZGUgYnV0dG9uLXNjaGVtZS0tcmVkKCk7XG59XG4ucGFuZS1nbC16YmwtZ2xvYmFsLXphYmVsLWxvZ291dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMTBweCAxLjJyZW07XG5cbiAgLnBhbmUtY29udGVudCBhIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdHMoKTtcbiAgICBAaW5jbHVkZSBidXR0b24tLXNtYWxsKCk7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXNjaGVtZS0tb25saWdodCgpO1xuXG4gICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1jb2xvcjogJHNpbHZlcjtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItNDtcblxuICAgIC5mcm9udCAmIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnY29sb3InLCB3aGl0ZSwgJHRleHQtY29sb3ItNCwgd2hpdGUpO1xuICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdib3JkZXItY29sb3InLCAkYmctY29sb3ItNywgJGVsZW1lbnQtY29sb3ItNCwgd2hpdGUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgfVxuICB9XG59XG4iLCIudmlldy16YmwtZ21hcCxcbi5pcC1nZW9sb2MtbWFwLFxuLmdtLXN0eWxlIHtcbiAgbWF4LWhlaWdodDogNzB2aDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuIiwiaW5wdXQsXG50ZXh0YXJlYSB7XG4gIEBpbmNsdWRlIGZzLWZvcm0tZWxlbWVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmLmZvcm0tcmVxdWlyZWQge1xuXG4gIH1cblxuICAmLnZhbGlkYXRlLWVycm9yIHtcblxuICB9XG5cbiAgJi52YWxpZGF0ZS1zdWNjZXNzIHtcblxuICB9XG59XG5cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZnMtcGFyYWdyYXBoO1xuICAvLyBTaW5jZSB3ZSBjYW50ICh5ZXQpIGRpc3Rpbmd1aXNoIGJldHdlZW4gcmVxdWlyZWQgYW5kIG5vbiByZXF1aXJlZCBmaWVsZHNcbiAgLy8gYW5kIHdlIG9ubHkgaGF2ZSByZXF1aXJlZCBmaWVsZHMgYXQgdGhlIG1vbWVudCB3ZSB0YWtlIHRoaXMgc2hvcnRjdXQ6XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArICYgeyBmb250LXdlaWdodDogNTAwOyB9XG5cbiAgaW5wdXQgKyAmIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgJi5mb3JtLXJlcXVpcmVkIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgJi52YWxpZGF0ZS1lcnJvciB7XG4gICAgY29sb3I6ICRhY2NlbnQtY29sb3ItMTtcbiAgfVxuXG4gICYudmFsaWRhdGUtc3VjY2VzcyB7XG4gICAgY29sb3I6ICRhY2NlbnQtY29sb3ItMztcbiAgfVxuXG59XG5cbi8vIENvbG9ycyBtYWlubHkgdXNlZCBmb3IgY3VzdG9tIGNoZWNrYm94IGFuZCByYWRpbyBzdHlsZXMuXG4kY29sb3ItYWNjZW50LTE6ICRkb3ZlLWdyYXk7XG4kY29sb3ItYWNjZW50LTI6ICR0ZXh0LWNvbG9yLTM7XG4kY29sb3ItYWNjZW50LTM6ICRnYWxsZXJ5O1xuIiwiLmZvcm0taXRlbS5mb3JtLXR5cGUtY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDM2cHg7XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgc3RhdGVcbiAgbGFiZWw6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xLjJyZW07XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYWNjZW50LTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTNweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDdweDtcbiAgICBsZWZ0OiA0cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFjY2VudC0yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgbGFiZWw6YWN0aXZlOjpiZWZvcmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1hY2NlbnQtMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50LTE7XG4gIH1cbiAgbGFiZWw6YWN0aXZlOjphZnRlciB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cblxuXG4gIC8vIENoZWNrZWRcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAvL2JvcmRlci1jb2xvcjogJGNvbG9yLWFjY2VudC0yICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItYWNjZW50LTE7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cblxuXG4gIC8vIERpc2FibGVkXG4gIGlucHV0OmRpc2FibGVkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudC0zO1xuICB9XG5cblxuICAvLyBFcnJvclxuICBpbnB1dC5lcnJvciArIGxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci00ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yLWxpZ2h0O1xuICB9XG59IiwiLmZvcm0tdHlwZS1yYWRpb3Mge1xuICBtYXJnaW4tdG9wOiAzNHB4O1xuXG4gICYgPiBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxufVxuXG4uZm9ybS1pdGVtLmZvcm0tdHlwZS1yYWRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjJyZW07XG4gIH1cblxuICAvLyBOb3JtYWwgc3RhdGVcbiAgbGFiZWw6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFjY2VudC0yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYWNjZW50LTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgbGFiZWw6YWN0aXZlOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiA2cHggc29saWQgJGNvbG9yLWFjY2VudC0xO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLy8gQ2hlY2tlZFxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFjY2VudC0yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIGlucHV0OmNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNnB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50LTI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdsZWZ0JywgJ2luaXRpYWwnKTtcbiAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ3JpZ2h0JywgJzZweCcpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWRcbiAgaW5wdXQ6ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50LTM7XG4gIH1cblxuICAvLyBFcnJvclxuICAuZXJyb3IgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTItbGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLTQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBIYW5kbGUgUlRMIHNwZWNpZmljIHByb3BlcnRpZXNcbi5sYW5nLXJ0bCAuZm9ybS1pdGVtLmZvcm0tdHlwZS1yYWRpbyxcbmh0bWxbZGlyPXJ0bF0gLmZvcm0taXRlbS5mb3JtLXR5cGUtcmFkaW8ge1xuICBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcbiAgfVxuXG4gIGxhYmVsOjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0xLjJyZW07XG4gIH1cbn1cbiIsIi8vIE1heWJlIHB1dCB0aGlzIGluIHRoZSBcImFsbC1pbnB1dHNcIiBzdHlsZXNoZWV0XG4uZm9ybS10eXBlLXNlbGVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNDBweDtcblxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnNlbGVjdHJpYy13cmFwcGVyLFxuLnNlbGVjdHJpYyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uc2VsZWN0cmljLWVycm9yIC5zZWxlY3RyaWMge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50LWNvbG9yLTQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yLWxpZ2h0O1xuXG4gIHAubGFiZWwge1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLTQgIWltcG9ydGFudDtcbiAgfVxufVxuLnNlbGVjdHJpYy1vcGVuIHtcbiAgLnNlbGVjdHJpYyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGVsZW1lbnQtY29sb3ItMTtcbiAgfVxuICAmLnNlbGVjdHJpYy1lcnJvciB7XG4gICAgLnNlbGVjdHJpYyB7XG4gICAgICBib3JkZXI6IHB4IHNvbGlkICRhY2NlbnQtY29sb3ItMSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIZWxwZXJcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIGJyb3dzZXItY29tcGF0aWJsZS1wbGFjZWhvbGRlci1jb2xvcigkY29sb3IpIHtcbiAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgLy8gTW96aWxsYSBGaXJlZm94IDQgdG8gMThcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6ICAxO1xuICB9XG4gIC8vIE1vemlsbGEgRmlyZWZveCAxOStcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAgMTtcbiAgfVxuICAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN0eWxlc1xuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5mb3JtLXRleHQge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci00O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1jb2xvci0zO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6MDtcbiAgYm9yZGVyLXJhZGl1czowO1xuXG4gIC8vIEN1c3RvbSBiYWNrZ3JvdW5kIGluIGZvb3RlclxuICAuZm9vdGVyICYge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBAaW5jbHVkZSBicm93c2VyLWNvbXBhdGlibGUtcGxhY2Vob2xkZXItY29sb3IoJyRnYWxsZXJ5Jyk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyb3dzZXItY29tcGF0aWJsZS1wbGFjZWhvbGRlci1jb2xvcigkdGV4dC1jb2xvci0zKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZWxlbWVudC1jb2xvci0xO1xuICB9XG5cbiAgJi5mb3JtLXJlcXVpcmVkIHtcblxuICB9XG5cbiAgJltkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZWxlbWVudC1jb2xvci00O1xuICAgIEBpbmNsdWRlIGJyb3dzZXItY29tcGF0aWJsZS1wbGFjZWhvbGRlci1jb2xvcigkZWxlbWVudC1jb2xvci00KTtcbiAgfVxuXG4gICYuZXJyb3Ige1xuICAgIEBpbmNsdWRlIGJyb3dzZXItY29tcGF0aWJsZS1wbGFjZWhvbGRlci1jb2xvcigkYWNjZW50LWNvbG9yLTQgIWltcG9ydGFudCk7XG5cbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci00O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQtY29sb3ItNDtcbiAgICBiYWNrZ3JvdW5kOiAkYWNjZW50LWNvbG9yLTItbGlnaHQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRhY2NlbnQtY29sb3ItMSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC12YWxpZCAmIHtcbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci0zO1xuICAgIEBpbmNsdWRlIGJyb3dzZXItY29tcGF0aWJsZS1wbGFjZWhvbGRlci1jb2xvcigkYWNjZW50LWNvbG9yLTMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQtY29sb3ItMztcbiAgICBiYWNrZ3JvdW5kOiAkYWNjZW50LWNvbG9yLTMtbGlnaHQ7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYWNjZW50LWNvbG9yLTM7XG4gICAgfVxuICB9XG59XG5sYWJlbC5lcnJvciB7XG4gIGNvbG9yOiAkYWNjZW50LWNvbG9yLTQgIWltcG9ydGFudDtcbn1cblxuLnZpZXdzLXdpZGdldCB7XG5cdGlucHV0LmZvcm0tdGV4dCB7XG5cdCAgIGJvcmRlcjogMnB4IHNvbGlkICRlbGVtZW50LWNvbG9yLTQ7XG5cdH1cbn0iLCJ0ZXh0YXJlYSB7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci00O1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMXB4O1xuICBvdXRsaW5lOiAxcHggc29saWQgJGVsZW1lbnQtY29sb3ItNDtcblxuICAvLyBSZXNldFxuICBib3JkZXI6IG5vbmU7XG5cbiAgLy8gTmVlZGVkIGZvciBpT1NcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gIEBpbmNsdWRlIGJyb3dzZXItY29tcGF0aWJsZS1wbGFjZWhvbGRlci1jb2xvcigkdGV4dC1jb2xvci0zKTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJGVsZW1lbnQtY29sb3ItMTtcbiAgfVxuXG4gICYuZXJyb3Ige1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLTI7XG4gICAgQGluY2x1ZGUgYnJvd3Nlci1jb21wYXRpYmxlLXBsYWNlaG9sZGVyLWNvbG9yKGxpZ2h0ZW4oJGFjY2VudC1jb2xvci0yLCAyMCUpKTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgJGFjY2VudC1jb2xvci0xO1xuICAgIGJhY2tncm91bmQ6ICRhY2NlbnQtY29sb3ItMi1saWdodDtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkYWNjZW50LWNvbG9yLTE7XG4gICAgfVxuICB9XG59IiwiLmZvb3RlciAge1xuICAubWVzc2FnZXMtLXN0YXR1cyB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMygpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS00KCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXR3by1jb2wpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG4gIFxuICAubWVzc2FnZXM6bm90KC5lcnJvcikge1xuXHRjb2xvcjogd2hpdGU7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHBhZGRpbmctbGVmdDogMjBweDtcblx0Zm9udC1zaXplOiAxM3B4OyAgICBcblx0YSwgbGkge1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0ICAgIH1cblx0fVxuXG4gIC53ZWJmb3JtLWNsaWVudC1mb3JtIHtcblxuICAgIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgaW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgICAgaGVpZ2h0OiAzOXB4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkYWJiZXk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5mb3JtLXR5cGUtdGV4dGZpZWxkLFxuICAgIC5mb3JtLXR5cGUtY2hlY2tib3gsXG4gICAgLndlYmZvcm0tY29tcG9uZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgfVxuICAgIFxuICAgIC5mb3JtLWFjdGlvbnMgPiBpbnB1dCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdHMoKTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi0tbGFyZ2UoKTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zY2hlbWUtLW9uZGFyaygpO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hamF4LXByb2dyZXNzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn0iLCIvL0BpbmNsdWRlIHNncy1jaGFuZ2UoJ2RlYnVnJywgdHJ1ZSk7XG5AbWl4aW4gaGFuZGxlLWxhYmVscy1yYWRpb3MtYW5kLXN1Ym1pdCgpIHtcbiAgLmZvcm0tYWN0aW9ucyA+IGlucHV0IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdHMoKTtcbiAgICBAaW5jbHVkZSBidXR0b24tLWxhcmdlKCk7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXNjaGVtZS0tcmVkKCk7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4uZW5xdWlyZS1mb3JtIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICBwYWRkaW5nOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygndGV4dC1hbGlnbicsICdyaWdodCcpO1xuXG4gICYsXG4gIGlucHV0LFxuICAuc2VsZWN0cmljLFxuICAuc2VsZWN0cmljLXNjcm9sbCxcbiAgLnNlbGVjdHJpYy1pdGVtcyBsaSxcbiAgLmZvcm0tdHlwZS1yYWRpbyBsYWJlbDo6YmVmb3JlLFxuICAuZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci05O1xuICB9XG4gIGlucHV0LFxuICBsYWJlbCxcbiAgLnNlbGVjdHJpYyAubGFiZWwsXG4gIC5zZWxlY3RyaWMgLnNlbGVjdHJpYy1idXR0b24sXG4gIC5zZWxlY3RyaWMtaXRlbXMgbGkge1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuICAuc2VsZWN0cmljLWl0ZW1zIGxpLnNlbGVjdGVkLFxuICAuc2VsZWN0cmljLWl0ZW1zIGxpOmhvdmVyIHtcbiAgICBjb2xvcjogJGJnLWNvbG9yLTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbiAgLnNlbGVjdHJpYyAuc2VsZWN0cmljLWJ1dHRvbjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogd2hpdGU7XG4gIH1cbiAgLnNlbGVjdHJpYyB7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gIH1cbiAgLnNlbGVjdHJpYy1lcnJvciB7XG4gICAgcC5sYWJlbCB7XG4gICAgICBjb2xvcjogbGlnaHRlbigkYWNjZW50LWNvbG9yLTQsIDIwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgJi5lcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjZhNmE7XG4gICAgICBAaW5jbHVkZSBicm93c2VyLWNvbXBhdGlibGUtcGxhY2Vob2xkZXItY29sb3IobGlnaHRlbigkYWNjZW50LWNvbG9yLTQsIDIwJSkgIWltcG9ydGFudCk7XG4gICAgfVxuICB9XG4gIC5mb3JtLWFjdGlvbnMge1xuICAgID4gaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodC1yZWQ7XG4gICAgfVxuICB9XG4gIC5mb3JtLWl0ZW0uZm9ybS10eXBlLXJhZGlvIHtcbiAgICBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci05O1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3ItOTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBsYWJlbDpiZWZvcmUge1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogLTEuMnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdsZWZ0JywgJzEuMnJlbScpO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDRweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG4gIC5mb3JtLXR5cGUtY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB7XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWVzc2FnZXMuZXJyb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICBAaW5jbHVkZSBhZGQtZ3JpZCgxMik7XG4gICAgQGluY2x1ZGUgYWRkLWd1dHRlcigxZW0pO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIGhhbmRsZS1sYWJlbHMtcmFkaW9zLWFuZC1zdWJtaXQoKTtcblxuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbiAgICAuZm9ybS1pdGVtLmZvcm0tdHlwZS1jaGVja2JveCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkLFxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC1zZWxlY3QsXG4gICAgLndlYmZvcm0tY29tcG9uZW50LW51bWJlcixcbiAgICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwsXG4gICAgLndlYmZvcm0tY29tcG9uZW50LXJhZGlvcyxcbiAgICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGFyZWEsXG4gICAgLndlYmZvcm0tY29tcG9uZW50LWNoZWNrYm94ZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLndlYmZvcm0tY29tcG9uZW50LS1wdXJwb3NlLFxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tcmVhY2hhYmxlIHtcbiAgICAgIC5mb3JtLXR5cGUtcmFkaW8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ3RleHQtYWxpZ24nLCAncmlnaHQnKTtcbiAgICB9XG4gICAgLndlYmZvcm0tY29tcG9uZW50LW1hcmt1cCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNwYW4oMTIsIDEsIDEyKTtcblxuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAud2ViZm9ybS1jb21wb25lbnQtLXRpdGxlICB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNwYW4oMTIsIDEsIDEyKTtcbiAgICAgIC5mb3JtLXR5cGUtcmFkaW8ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ2Zsb2F0JywgJ3JpZ2h0Jyk7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnbWFyZ2luLXJpZ2h0JywgJzAnKTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdtYXJnaW4tbGVmdCcsICc0MHB4Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tZmlyc3QtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNwYW4oNiwgMSwgMTIpO1xuICAgICAgY2xlYXI6IHJpZ2h0O1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ21hcmdpbi1yaWdodCcsICcwJyk7XG4gICAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ2Zsb2F0JywgJ3JpZ2h0Jyk7XG4gICAgfVxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tbGFzdC1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc3Bhbig2LCA3LCAxMik7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnZmxvYXQnLCAnbGVmdCcpO1xuICAgIH1cbiAgICAud2ViZm9ybS1jb21wb25lbnQtLWNvdW50cnkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zcGFuKDQsIDEsIDEyKTtcbiAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ2Zsb2F0JywgJ3JpZ2h0Jyk7XG4gICAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ21hcmdpbi1yaWdodCcsICcwJyk7XG4gICAgfVxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tYXJlYS1jb2RlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc3Bhbig0LCA1LCAxMik7XG4gICAgfVxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tbnVtYmVyIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc3Bhbig0LCA5LCAxMik7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnZmxvYXQnLCAnbGVmdCcpO1xuICAgIH1cbiAgICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1zcGFuKDEyLCAxLCAxMik7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgLndlYmZvcm0tY29tcG9uZW50LS1wdXJwb3NlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc3Bhbig2LCAxLCAxMik7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgfVxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tcmVhY2hhYmxlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc3Bhbig2LCA3LCAxMik7XG4gICAgfVxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC0teW91ci1yZXF1ZXN0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc3BhbigxMiwgMSwgMTIpO1xuICAgIH1cbiAgICAud2ViZm9ybS1jb21wb25lbnQtY2hlY2tib3hlcyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXNwYW4oMTIsIDEsIDEyKTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtc3BhbigxMiwgMSwgMTIpO1xuICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgIH1cbiAgICAud2ViZm9ybS1jb21wb25lbnQtc2VsZWN0IGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC53ZWJmb3JtLWNvbXBvbmVudCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtc3BhbigxMiwgMSwgMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZ3JpcHBpZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5vZGUtdHlwZS1wcm9wZXJ0eSB7XG5cdC53ZWJmb3JtLW91dGVyLXdyYXBwZXIge1xuXHRcdHBhZGRpbmctbGVmdDogMTAlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDEwJTtcblx0XHRwYWRkaW5nLXRvcDogNjRweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuXHRcdFx0cGFkZGluZzogNDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgwICRicC10aHJlZS1jb2wtYWRqdXN0KSB7XG5cdFx0XHRwYWRkaW5nOiA0MHB4IDAgMDtcblx0XHR9XG5cblx0XHQucGFuZS1jb250ZW50IHtcblx0XHRcdHBhZGRpbmctbGVmdDogMy42cmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMy42cmVtO1xuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ubm9kZS10eXBlLXByb3BlcnR5IC53ZWJmb3JtLW91dGVyLXdyYXBwZXIge1xuXHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0Y29sb3I6IGJsYWNrO1xufVxuXG4ubm9kZS10eXBlLXByb3BlcnR5IHtcblx0LnNlY3Rpb24tY29udGVudC1pdGVtIHtcblx0XHQubm9kZS13ZWJmb3JtIHtcblx0XHRcdC53ZWJmb3JtLWNvbmZpcm1hdGlvbixcblx0XHRcdC5saW5rcyBhIHtcblx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFtpZCo9XCJ3ZWJmb3JtLWFqYXgtd3JhcHBlclwiXSB7XG5cdFx0XHRAZXh0ZW5kIC5lbnF1aXJlLWZvcm07XG5cdFx0fVxuXHRcdC53ZWJmb3JtLW91dGVyLXdyYXBwZXIge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmctY29sb3ItOTtcblx0XHRcdH1cblxuXHRcdFx0LnJpY2h0ZXh0IHtcblx0XHRcdFx0Y29sb3I6ICMzMzM7XG5cdFx0XHRcdCYuY29udGVudC1ibG9jayB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG4gICAgICAgIH1cbiAgICAgICAgaDEge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblx0XHRcdFx0aDMsIHAge1xuXHRcdFx0XHRcdGNvbG9yOiAjMzMzO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIC5ub2RlLXR5cGUtemJsLXByb3BlcnR5LWNpIHtcbi8vIFx0LnNlY3Rpb24tY29udGVudC1pdGVtIHtcbi8vIFx0XHQud2ViZm9ybS1vdXRlci13cmFwcGVyIHtcbi8vICAgICAgIC5yaWNodGV4dCB7XG4vLyAgICAgICAgIGNvbG9yOiAjMzMzO1xuLy8gICAgICAgICAvLyBoMSB7XG4vLyAgICAgICAgIC8vICAgY29sb3I6ICMzMzM7XG4vLyAgICAgICAgIC8vIH1cbi8vICAgICAgICAgaDMsIHAge1xuLy8gICAgICAgICAgIGNvbG9yOiAjMzMzO1xuLy8gICAgICAgICB9XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gXHR9XG4vLyB9XG5cbi53ZWJmb3JtLW91dGVyLXdyYXBwZXIsXG4ud2ViZm9ybS1vdXRlci13cmFwcGVyLWNvbnRhY3Qge1xuXHRwYWRkaW5nLWJvdHRvbTogODBweDtcbn1cbi5tb2RhbCAud2ViZm9ybS1vdXRlci13cmFwcGVyLFxuI2NvbG9yYm94IC5pbnNpZGUge1xuXHRwYWRkaW5nOiA0MHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXHR9XG5cblx0LnBhbmUtdGl0bGUge1xuXHRcdEBpbmNsdWRlIGJlaGF2ZS1saWtlLWgxO1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0fVxuXG5cdCYsXG5cdCYgKixcblx0JiAqOmJlZm9yZSxcblx0JiAqOmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdC5zZWxlY3RyaWMge1xuXHRcdGJvcmRlci1jb2xvcjogJHRleHQtY29sb3ItMztcblx0fVxufVxuXG5baWQqPVwid2ViZm9ybS1hamF4LXdyYXBwZXJcIl0ge1xuXHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG5cdC5saW5rcyB7XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMXB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogI2E2MDAwMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuYm9keS5icm9jaHVyZS1wYWdlIHtcbiAgLm1vZGFsLWlubmVyLFxuICAjY29sb3Jib3gge1xuICAgIFtpZCo9XCJ3ZWJmb3JtLWFqYXgtd3JhcHBlclwiXSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRhYmxldCkge1xuICAgICNjb2xvcmJveCB7XG4gICAgICBtYXgtaGVpZ2h0OiA2NDBweDtcbiAgICB9XG4gICAgI2Nib3hMb2FkZWRDb250ZW50IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLWlubmVyLFxuI2NvbG9yYm94IHtcbiAgW2lkKj1cIndlYmZvcm0tYWpheC13cmFwcGVyXCJdIHtcblxuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbC1jZW50ZXIpIHtcblx0XHQgIGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDY4JTtcblx0XHR9XG4gIH1cblxuICAuY29udGVudC1ibG9jayB7XG5cdCAgcGFkZGluZzogMDtcblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtY2VudGVyKSB7XG5cdCAgXHRmbG9hdDogcmlnaHQ7XG5cdCAgXHR3aWR0aDogMjglO1xuXHQgIH1cbiAgfVxuICAuY2xpZW50cy1xdW90ZXMge1xuICBcdGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5vZGUtdHlwZS1wcm9wZXJ0eSAud2ViZm9ybS1vdXRlci13cmFwcGVyLFxuLm5vZGUtdHlwZS1wcm9wZXJ0eSAud2ViZm9ybS1vdXRlci13cmFwcGVyIHtcbiAgW2lkKj1cIndlYmZvcm0tYWpheC13cmFwcGVyXCJdLFxuICAubWVzc2FnZXMtLXN0YXR1cyB7XG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGhyZWUtY29sLWFkanVzdCkge1xuXHRcdCAgZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0d2lkdGg6IDQ4JTtcblx0XHR9XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sge1xuXHQgIHBhZGRpbmc6IDQwcHg7XG5cblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10aHJlZS1jb2wpIHtcblx0ICBcdHBhZGRpbmc6IDAgMy42cmVtIDMuNnJlbTtcblx0ICB9XG5cblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtYWRqdXN0KSB7XG5cdFx0ICBwYWRkaW5nOiAwO1xuXHQgIFx0ZmxvYXQ6IGxlZnQ7XG5cdCAgXHR3aWR0aDogNDglO1xuXHQgIH1cbiAgfVxufVxuXG4ubm9kZS13ZWJmb3JtIHtcblx0LndlYmZvcm0tY2xpZW50LWZvcm0ge1xuICAgIEBleHRlbmQgLmVucXVpcmUtZm9ybV9fZm9ybTtcbiAgfVxufVxuXG4jY29sb3Jib3gge1xuICBjb2xvcjogJG1pbmUtc2hhZnQ7XG4gIFxuICAucGFuZS1ub2RlLWNvbnRlbnQge1xuICAgIC5wYW5lLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXHQubm9kZS13ZWJmb3JtIC53ZWJmb3JtLWNsaWVudC1mb3JtIHtcblx0XHRAaW5jbHVkZSBhZGQtZ3V0dGVyKDApO1xuXG4gICAgY29sb3I6ICRtaW5lLXNoYWZ0O1xuICAgIFxuXHR9XG59XG5cbi53ZWJmb3JtLWNsaWVudC1mb3JtIHtcbiAgLndlYmZvcm0tY29tcG9uZW50LWNoZWNrYm94ZXMge1xuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5LmxhbmctcnRsIHtcbiAgLndlYmZvcm0tY2xpZW50LWZvcm0ge1xuICAgIC53ZWJmb3JtLWNvbXBvbmVudC1jaGVja2JveGVzIHtcbiAgICAgIGxhYmVsLm9wdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjZweCAwIDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiAtMjZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2NvbG9yYm94IHtcbiAgI2Nib3hXcmFwcGVyIHtcbiAgICAjY2JveENvbnRlbnR7XG4gICAgICAud2ViZm9ybS1jb21wb25lbnQtY2hlY2tib3hlcyB7XG4gICAgICAgIC8vIENoZWNrZWRcbiAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWFjY2VudC0yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxhbmRpbmctcGFnZSB7XG4gIC53ZWJmb3JtLWNsaWVudC1mb3JtIHtcbiAgICAud2ViZm9ybS1jb21wb25lbnQtY2hlY2tib3hlcyB7XG4gICAgICBsYWJlbDphZnRlciB7XG4gICAgICAgIHRvcDogOXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qQG1peGluIGNvbnRhY3QtZm9ybS1vdXRlci1sYXlvdXQoKSB7XG4gIGZvcm0sXG4gIC5tZXNzYWdlcy0tc3RhdHVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdHdvLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig4LCAxKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oOCwgMyk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDUpOyB9XG4gIH1cbn1cblxuLnNlY3Rpb24taXRlbS5jb250YWN0LWZvcm0ge1xuICBAaW5jbHVkZSBjb250YWN0LWZvcm0tb3V0ZXItbGF5b3V0KCk7XG4gIEBpbmNsdWRlIGVucXVpcnktZm9ybS1maWVsZC1hbGlnbm1lbnQoKTtcbiAgQGluY2x1ZGUgZW5xdWlyeS1mb3JtLWlubmVyLWxheW91dCgpO1xuICBAaW5jbHVkZSBoYW5kbGUtbGFiZWxzLXJhZGlvcy1hbmQtc3VibWl0KCk7XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtemJsLWZvcm0tbWVzc2FnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5tZXNzYWdlcy0tc3RhdHVzIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG4gICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAzKTtcbiAgfVxuXG59Ki9cblxuLnNlY3Rpb24taXRlbS5jb250YWN0LWZvcm0ge1xuICAubm9kZS13ZWJmb3JtIHtcblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEpOyBmbG9hdDogbm9uZTt9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDEpOyBmbG9hdDogbm9uZTt9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDMpOyBmbG9hdDogbm9uZTt9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDUpOyBmbG9hdDogbm9uZTt9XG5cbiAgICBmb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5mb3JtIHtcbiAgLmxhbmd1YWdlLWxpc3Qtc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiI3VzZXItbG9naW4sXG4jdXNlci1sb2dpbi1mb3JtLFxuI3VzZXItcGFzcyB7XG4gIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJiA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10d28tY29sKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgaW5wdXQgeyBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgfVxuXG4gIC5mb3JtLWl0ZW0tcGFzcyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5mb3JtLWFjdGlvbnMgPiBpbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdHMoKTtcbiAgICBAaW5jbHVkZSBidXR0b24tLXNtYWxsKCk7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXNjaGVtZS0tcmVkKCk7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gcGFydG5lci1sb2dpbiBzcGVjaWZpY1xuICAuaXRlbS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuXG4gICAgJiA+IHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIGEgeyBAaW5jbHVkZSBmcy1saW5rKCk7IH1cbiAgfVxuXG59XG5cbi5wYWdlLXByb3BlcnR5LWdyb3VwLXNhbGVzLFxuLnBhZ2UtdXNlciB7XG4gICYgLmwtY29udGVudC1yZWdpb24gPiAubWVzc2FnZXMge1xuICAgIEBpbmNsdWRlIGd1dHRlci1wYWQoMywgMyk7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMygpO1xuICAgIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuXG4gICAgLm1lc3NhZ2VzX19saXN0IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBmcy1wYXJhZ3JhcGgoKTtcbiAgICAgIEBpbmNsdWRlIGZzLWxpbmsoKTtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCRwc2V1ZG86IGJlZm9yZSk7XG4gICAgfVxuICB9XG59IiwiYm9keS5maWx0ZXJzLWlzLW9wZW5lZCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4udmlldy1nbC1jYXNlLXN0dWRpZXMsXG4udmlldy1nbC16YmwtcHJvcGVydGllcy1zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMCA3MjBweCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnZpZXctZ2wtemJsLXByb3BlcnRpZXMtc2VhcmNoIHtcbiAgLnZpZXctZmlsdGVycy13cmFwcGVyIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3ktd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMzYwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDI2MDBweCkge1xuICAgICAgbWFyZ2luLXRvcDogNTAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGFibGV0LWFuZC1sYXJnZS1waG9uZSkge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICBhbmQgKG1pbi13aWR0aCA6IDEwMjRweClcbiAgICBhbmQgKG1heC13aWR0aCA6IDEwMjRweClcbiAgICBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQpIHtcbiAgICAgIC8vbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MjBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWxhcmdlLXBob25lKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWZpbHRlcnMge1xuICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsICR0ZXh0LWNvbG9yLTYsICR0ZXh0LWNvbG9yLTYsICR0ZXh0LWNvbG9yLTYpO1xuXG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBlYXNlLWluLW91dDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1sYXJnZS1waG9uZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1zbWFsbC1waG9uZSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA4MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG5cbiAgICAgIGJvZHkubG9nZ2VkLWluICYge1xuICAgICAgICB0b3A6IDE1NXB4O1xuICAgICAgfVxuXG4gICAgICBib2R5LmxvZ2dlZC1pbi5mcm9udCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVycyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1leHRyYS1sYXJnZS1waG9uZSkge1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWxhcmdlLXBob25lKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtc21hbGwtcGhvbmUpIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgQGluY2x1ZGUgZmlsdGVyLWdyaWQtd3JhcHBlcjtcbiAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZmlsdGVycyB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kLWNvbG9yJywgJHByb3BlcnR5LXRlYXNlci1jb2xvciwgJHByb3BlcnR5LXRlYXNlci1jb2xvciwgJHByb3BlcnR5LXRlYXNlci1jb2xvcik7XG5cbiAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAud3JhcHBlci1maWx0ZXItY2xvc2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGZpbHRlci1ncmlkLXdyYXBwZXI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZmlsdGVyLWNsb3NlIHtcbiAgICAgICAgICAgIC8vdG9wOiAxLjJyZW07XG4gICAgICAgICAgICByaWdodDogMS4ycmVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlN2M2XCI7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnemJsX2xpbmVhcl9pY29uZm9udCc7XG4gICAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY2xvc2VkIHtcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlN2MzXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNmaWx0ZXJzLXRhYnMge1xuICAgICAgICAgIEBpbmNsdWRlIGZpbHRlci1ncmlkLXdyYXBwZXI7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJHRhYi1jb2xvcjogIzJkMmEyODtcbiAgICAgICAgJGJvcmRlci1jb2xvcjogI2Q2ZDdkYTtcbiAgICAgICAgLnRhYi1saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWZpbHRlcjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBjb2xvcjogJHRhYi1jb2xvcjtcbiAgICAgICAgICBwYWRkaW5nOiAyM3B4IDYwcHggMjNweCA1MHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuMjVzLCBmb250LXNpemUgMC4yNXMsIHBhZGRpbmcgMC4yNXM7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZDJhMjg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2NoZWNrLWJsYWNrLnBuZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1zbWFsbC1waG9uZSkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9jaGVjay13aGl0ZS5wbmcpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2QzZDNkO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMzZDNkM2Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYzcHgpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWxhcmdlLXBob25lKSB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW46IDE3cHggMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzN3B4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1zbWFsbC1waG9uZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1saW5rLTEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgJGJnLXNpemUtLWxpbmsxOiAyOXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvQWxsXzEucG5nKSBuby1yZXBlYXQgNTAlIDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNXB4IDUwJTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRhYmxldC1hbmQtbGFyZ2UtcGhvbmUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzNweCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1saW5rLTIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvU2VsZi5zdmcpIG5vLXJlcGVhdCA1MCUgMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1cHggNDglO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGFibGV0LWFuZC1sYXJnZS1waG9uZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyLWxpbmstMyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9JbnZlc3RtZW50LnN2Zykgbm8tcmVwZWF0IDUwJSAwO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTVweCA0OCU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10YWJsZXQtYW5kLWxhcmdlLXBob25lKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI2cHggMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1saW5rLTQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvR2VybWFueS5zdmcpIG5vLXJlcGVhdCA1MCUgMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1cHggNTAlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRhYmxldC1hbmQtbGFyZ2UtcGhvbmUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjJweCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1saW5rLTUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvR2xvYmFsLnN2Zykgbm8tcmVwZWF0IDUwJSAwO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDBweCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTVweCA1MCU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGFibGV0LWFuZC1sYXJnZS1waG9uZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MnB4IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyLWxpbmstMyxcbiAgICAgICAgLmZpbHRlci1saW5rLTUge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci02O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzdHJvbmcsXG4gICAgYiB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIC5idG4tZmlsdGVyLXdyYXBwZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC1mcm9tLXNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLWZpbHRlci10cmlnZ2VyIHtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAvL3BhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC11bnRpbC1waG9uZSkge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGU3YzZcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICd6YmxfbGluZWFyX2ljb25mb250JztcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC11bnRpbC1waG9uZSkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjZlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWZpbHRlcjtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NTBweCkgYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjBweCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1NzBweCkgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtbGFyZ2UtcGhvbmUpIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzRweCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCAkcHJvcGVydHktdGVhc2VyLWNvbG9yLCAkcHJvcGVydHktdGVhc2VyLWNvbG9yLCAkcHJvcGVydHktdGVhc2VyLWNvbG9yKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyB7XG4gICAgICBAaW5jbHVkZSBmaWx0ZXItZ3JpZC13cmFwcGVyO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIHBhZGRpbmc6IDE4cHggMTVweCAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICNlZGl0LXByZWZpeC13cmFwcGVyLCAjZWRpdC1maWVsZC16YWJlbC1jb250ZW50LXByZWZpeC0xLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxOCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgJiNmaWx0ZXItc2l6ZS13cmFwcGVyIHtcbiAgICAgICAgICB3aWR0aDogMjMlO1xuICAgICAgICB9XG5cbiAgICAgICAgJiNmaWx0ZXItcHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IDIzJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudmlld3Mtd2lkZ2V0LWZpbHRlci1maWVsZF9sb2NhdGlvbl9wYXJlbnRzX2FsbCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0tZmlsdGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnZpZXdzLXN1Ym1pdC1idXR0b24sJi52aWV3cy1yZXNldC1idXR0b24ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCAxMTY3cHgpIHtcbiAgICAgICAgICB3aWR0aDogMTclO1xuXG4gICAgICAgICAgJiNmaWx0ZXItc2l6ZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJiNmaWx0ZXItcHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgICAgICAmLnZpZXdzLXdpZGdldC1maWx0ZXItZmllbGRfbG9jYXRpb25fcGFyZW50c19hbGwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudmlld3Mtc3VibWl0LWJ1dHRvbiwmLnZpZXdzLXJlc2V0LWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAvL3dpZHRoOiAyNCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgJi52aWV3cy13aWRnZXQtZmlsdGVyLWZpZWxkX2xvY2F0aW9uX3BhcmVudHNfYWxsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYudmlld3MtZXhwb3NlZC13aWRnZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnZpcnR1YWwtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnZpZXdzLXN1Ym1pdC1idXR0b24sJi52aWV3cy1yZXNldC1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi52aWV3cy1yZXNldC1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0tc3VibWl0LFxuICAgICAgICAgIC5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0tdHlwZS1zZWxlY3Qge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1leHRyYS1sYXJnZS1waG9uZSkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNDBweDtcblxuICAgICAgICAgICYudmlld3Mtd2lkZ2V0LWZpbHRlci1maWVsZF9sb2NhdGlvbl9wYXJlbnRzX2FsbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC52YWx1ZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi52aWV3cy1zdWJtaXQtYnV0dG9uLCYudmlld3MtcmVzZXQtYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgICAgICAgIC5zdWJtaXQtYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAucmVzdWx0cy1jb3VudCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWxhcmdlLXBob25lKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcblxuICAgICAgICAgICYudmlld3Mtd2lkZ2V0LWZpbHRlci1maWVsZF9sb2NhdGlvbl9wYXJlbnRzX2FsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudmlld3Mtc3VibWl0LWJ1dHRvbiwmLnZpZXdzLXJlc2V0LWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudmFsdWUtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXBob25lKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICAgICYudmlld3Mtd2lkZ2V0LWZpbHRlci1maWVsZF9sb2NhdGlvbl9wYXJlbnRzX2FsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnZpZXdzLXN1Ym1pdC1idXR0b24sJi52aWV3cy1yZXNldC1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXNtYWxsLXBob25lKSB7XG4gICAgICAgICAgLnZpcnR1YWwtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudmlld3Mtc3VibWl0LWJ1dHRvbiwmLnZpZXdzLXJlc2V0LWJ1dHRvbiB7XG4gICAgICAgICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuc2VsZWN0cmljIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWZpbHRlcjtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgLnNlbGVjdHJpYy1idXR0b24ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudmFsdWUtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudmlld3MtZXhwb3NlZC13aWRnZXQge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnZpZXdzLXdpZGdldC1maWx0ZXItZmllbGRfbG9jYXRpb25fcGFyZW50c19hbGwge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zZW07XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1ncmF5O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgfVxuICAgIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzaHV0dGxlLWdyYXk7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNik7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1kYXJrLWdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgICAgdG9wOiAtN3B4O1xuICAgIH1cbiAgICAudWktc2xpZGVyLXJhbmdlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRicmlnaHQtcmVkO1xuICAgIH1cbiAgICAuZmlsdGVyLXNsaWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtc21hbGwtcGhvbmUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgfVxuICAgIH1cbiAgICAudmlydHVhbC13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgICAgLnN3aXRjaGVyLXdyYXBwZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgIC5kZWxpbWl0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnZpcnR1YWwtbGFiZWwge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5zd2l0Y2hlci10cmlnZ2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDExO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzZjNmM1O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTYwYVwiO1xuICAgICAgICBmb250LWZhbWlseTogJ3pibF9jdXN0b21faWNvbmZvbnQnO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5zd2l0Y2hlci1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICB0b3A6IC0xcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTFweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnN3aXRjaGVyLWl0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICNjNmM2YzU7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCA5cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzaGFyaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmFsdWUtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2NvbG9yJywgJHJhbmdlLWRhcmstZ3JheSwgJHJhbmdlLWRhcmstZ3JheSwgJHJhbmdlLWRhcmstZ3JheSk7XG4gICAgICAudmFsdWVfb25le1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAudmFsdWVfdHdve1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdHJpYyB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZC1jb2xvcicsICRyYW5nZS1ncmF5LCAkcmFuZ2UtZ3JheSwgJHJhbmdlLWdyYXkpO1xuICAgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2NvbG9yJywgJHRleHQtY29sb3ItNywgJHRleHQtY29sb3ItNywgJHRleHQtY29sb3ItNyk7XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICB9XG4gICAgICAuc2VsZWN0cmljLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdib3JkZXItdG9wLWNvbG9yJywgd2hpdGUsICR0ZXh0LWNvbG9yLTQsICR0ZXh0LWNvbG9yLTQpO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IC0xMnB4IDAgMCAtMTJweDtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggN3B4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLTcgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2VsZWN0cmljLWl0ZW1zIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kLWNvbG9yJywgJHJhbmdlLWdyYXksICRyYW5nZS1ncmF5LCAkcmFuZ2UtZ3JheSk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsICR0ZXh0LWNvbG9yLTcsICR0ZXh0LWNvbG9yLTcsICR0ZXh0LWNvbG9yLTcpO1xuICAgICAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZC1jb2xvcicsICRyYW5nZS1ncmF5LCAkcmFuZ2UtZ3JheSwgJHJhbmdlLWdyYXkpO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgICAgICAgJi5zZWxlY3RlZCxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCAkc2hhcmssICRzaGFyaywgJHNoYXJrKTtcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnY29sb3InLCAkdGV4dC1jb2xvci03LCAkdGV4dC1jb2xvci03LCAkdGV4dC1jb2xvci03KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC52aWV3cy1zdWJtaXQtYnV0dG9uLCAudmlld3MtcmVzZXQtYnV0dG9uIHtcbiAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmlnaHQtcmVkO1xuICAgICAgICBjb2xvcjogJGJnLWNvbG9yLTEwO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmlld3Mtc3VibWl0LWJ1dHRvbiB7XG4gICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJpZ2h0LXJlZFxuICAgICAgICB1cmwoLi4vaW1hZ2VzL3NlYXJjaC5wbmcpIG5vLXJlcGVhdCAyMCUgO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTdweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDAgMTE2N3B4KSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyaWdodC1yZWRcbiAgICAgICAgICB1cmwoLi4vaW1hZ2VzL3NlYXJjaC5wbmcpIG5vLXJlcGVhdCAxNCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyaWdodC1yZWQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRwZXJzaWFuLXJlZFxuICAgICAgICAgIHVybCguLi9pbWFnZXMvc2VhcmNoLnBuZykgbm8tcmVwZWF0IDIwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTdweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDAgMTE2N3B4KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGVyc2lhbi1yZWRcbiAgICAgICAgICAgIHVybCguLi9pbWFnZXMvc2VhcmNoLnBuZykgbm8tcmVwZWF0IDE0JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCAxN3B4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRicC11bnRpbC10YWJsZXQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwZXJzaWFuLXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VibWl0LWJ1dHRvbi1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgIH1cblxuICAgIC5yZXN1bHRzLXRleHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAucmVzdWx0cy1jb3VudCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuXG4gICAgJi5zdHVjayB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuXG4gICAgICBib2R5LmxvZ2dlZC1pbiAmIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICAgIHRvcDogMTU1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcbiAgICAgICAgdG9wOiA4MHB4O1xuXG4gICAgICAgIGJvZHkubG9nZ2VkLWluICYge1xuICAgICAgICAgIHRvcDogMTU1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBib2R5LmxvZ2dlZC1pbi5mcm9udCAmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5mdWxsLXdpZHRoIHtcbiAgICAgIGZvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAyMDBtcyBsaW5lYXIsIHdpZHRoIDIwMG1zIGxpbmVhcik7XG4gICAgICB9XG4gICAgfVxuICAgICYuY29sbGFwc2VkIHtcbiAgICAgIGZvcm0ge1xuICAgICAgICAuZmlsdGVycyB7XG4gICAgICAgICAgLnRhYi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNTBweCAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1sYXJnZS1waG9uZSkge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxOXB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODY0cHgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZmlsdGVyLWxpbmstMSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmZpbHRlci1saW5rLTIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5maWx0ZXItbGluay0zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZmlsdGVyLWxpbmstNCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmZpbHRlci1saW5rLTUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyOHB4IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjhweCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zdHJpcGUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjphZnRlcixcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA5NjAwcHg7XG4gICAgcmlnaHQ6IDEwMCU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuXG4gIGJvZHkubG9nZ2VkLWluICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi53cmFwcGVyLWZpbHRlci1vcGVuIHtcbiAgJixcbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAwLjkpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXJnaW46IDNweCBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgIH1cbiAgfVxufVxuXG4ubG9hZGluZyB7XG4gIC53cmFwcGVyLWZpbHRlci1vcGVuIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogMzUlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvcHJvZ3Jlc3NfYmFyLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBtYXJnaW46IDNweCBhdXRvO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5LmxvZ2dlZC1pbiB7XG4gIC53cmFwcGVyLWZpbHRlci1vcGVuIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuOSk7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy9cbi8vIFRocm9iYmVyIGluIENUb29scyBPdmVybGF5c1xuLy9cbiNtb2RhbC10aHJvYmJlciAubW9kYWwtdGhyb2JiZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYWpheC1sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG59XG5cbi8vXG4vLyBEZWZhdWx0IERydXBhbCBUaHJvYmJlclxuLy9cbi5hamF4LXByb2dyZXNzIC50aHJvYmJlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLy9GaXggR29sZGxhbmRcbi5nbC1oZWFkZXItbGFyZ2Uge1xuXHQuaW1hZ2UtZnVsbC1iZyB7XG5cdFx0aGVpZ2h0OiA3MHZoO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0aDIge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjB2aDtcblx0XHR9XG5cdH1cbn1cblxuLmltYWdlLWZ1bGwtYmcgLmltZy11cmwge1xuICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmltYWdlaGVhZGVyIHtcblx0aGVpZ2h0OiA2MDBweDsgLy8gRGVmYXVsdCBoZWlnaHRcblxuICAuaGVhZGVyLWxhcmdlIC5ub2RlLW1hc3Rlci1wcm9wZXJ0eTpub3QoLnZpZXctbW9kZS1wcm9wZXJ0eV9sYW5kaW5nX3BhZ2UpOm5vdCgudmlldy1tb2RlLXN0b3J5X2xhbmRpbmdfcGFnZSkgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGhyZWUtY29sLWNlbnRlcikge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTUxcHgpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbC1hZGp1c3QpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE0MHB4KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtZmx1aWQpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE0MHB4KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQtaW5jbHVkaW5nKSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsZXN0LXBob25lKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA3NXB4KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuc2xpY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcblxuICAgIC8vLnNsaWNrX19zbGlkZXIsIC5zbGlja19fc2xpZGUsIC5zbGljay1saXN0LCAuc2xpY2stdHJhY2ssIC5zbGlkZV9fY29udGVudCwgLm1lZGlhIHtcbiAgICAvLyAgaGVpZ2h0OiBhdXRvO1xuICAgIC8vICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIC8vfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgIGhlaWdodDogMzAwcHg7XG5cbiAgICAvLy5oZWFkZXItbGFyZ2UgLm5vZGUtbWFzdGVyLXByb3BlcnR5Om5vdCgudmlldy1tb2RlLXByb3BlcnR5X2xhbmRpbmdfcGFnZSk6bm90KC52aWV3LW1vZGUtc3RvcnlfbGFuZGluZ19wYWdlKSAmIHtcbiAgICAvLyAgaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xuICAgIC8vfVxuICB9XG5cbiAgJi5pbWFnZWhlYWRlci0tMmNvbCB7XG4gICAgLnNsaWNrIHtcbiAgICAgICYsXG4gICAgICAuc2xpY2tfX3NsaWRlcixcbiAgICAgIC5zbGljay1saXN0LFxuICAgICAgLnNsaWNrLXRyYWNrLFxuICAgICAgLnNsaWNrX19zbGlkZSxcbiAgICAgIC5zbGlkZV9fY29udGVudCxcbiAgICAgIC5tZWRpYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5tZWRpYSB7XG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyLS1vdmVybGF5IHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuXG4gICAgICBwYWRkaW5nOiA2MHB4IDMuNnJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLmVudGl0eSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICAubC10ZXh0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggOCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdmbG9hdCcsICdyaWdodCcpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWZvdXItY29sKSB7XG4gICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10aHJlZS1jb2wpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmhlYWRlci0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmhlYWRlci0tc3VidGl0bGUge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmhlYWRlci1mb3JtIHtcbiAgICAgICAgQGV4dGVuZCAuZW5xdWlyZS1mb3JtO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGFxdWEtZ3JheSwgMC45KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtZm91ci1jb2wpIHtcbiAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmcy1oZWFkZXItaGVhZGxpbmUoKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53ZWJmb3JtLWNvbXBvbmVudC1tYXJrdXAge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIC5zZWxlY3RyaWMge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgJi5lcnJvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci00O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJvd3Nlci1jb21wYXRpYmxlLXBsYWNlaG9sZGVyLWNvbG9yKCRwZXJzaWFuLXJlZCAhaW1wb3J0YW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlbGVjdHJpYyB7XG4gICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3RyaWMtZXJyb3Ige1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci00O1xuICAgICAgICAgIHAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwZXJzaWFuLXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VsZWN0cmljLWl0ZW1zIHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXF1YS1ncmF5O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhLWdyYXk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0taXRlbS5mb3JtLXR5cGUtcmFkaW8ge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnbGVmdCcsICdpbml0aWFsJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ3JpZ2h0JywgJzVweCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53ZWJmb3JtLWNsaWVudC1mb3JtIHtcbiAgICAgICAgICBAZXh0ZW5kIC5lbnF1aXJlLWZvcm1fX2Zvcm07XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tbWVzc2FnZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Ryb25nLFxuICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1pbWFnZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kLWltYWdlJywgdXJsKC4uL2ltYWdlcy9hc2lhLXBhY2lmaWMtZmgucG5nKSwgdXJsKC4uL2ltYWdlcy9hc2lhLXBhY2lmaWMtY2kucG5nKSwgdXJsKC4uL2ltYWdlcy9hc2lhLXBhY2lmaWMtY2kucG5nKSk7XG5cbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMTZweDtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWxhcmdlLXBob25lKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC53ZWJmb3JtLWNvbXBvbmVudC1yYWRpb3Mge1xuICAgICAgICAgICAgLmZvcm0tdHlwZS1yYWRpbyB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC53ZWJmb3JtLWNvbXBvbmVudC1yYWRpb3Mge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgICAgICAud2ViZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIC0gWVNCXG4uaW1hZ2VoZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5zbGlkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAuc2xpZGVyLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAuc2xpZGVyLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG5cbiAgLmhlYWRlci0tb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmwtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcblxuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtbGFyZ2UtcGhvbmUpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICBwYWRkaW5nOiAxNjBweCAxMSUgMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygxMCUgKyA0LjRyZW0pO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYygxMCUgKyA0LjRyZW0pO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICAgeyBwYWRkaW5nLXRvcDogNDBweDsgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXR3by1jb2wpICAgICAgICB7IHBhZGRpbmctdG9wOiAyMjBweDsgcGFkZGluZy1sZWZ0OiAzJTsgcGFkZGluZy1yaWdodDogMyU7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7IHBhZGRpbmctdG9wOiAyMjBweDsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYWJvdmUtZm91ci1jb2wpIHsgcGFkZGluZy10b3A6IDI1MHB4OyB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzU4cHgpIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0LjhyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuOHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLS10aXRsZSxcbiAgICAuaGVhZGVyLS1zdWJ0aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgIGJveC1zaGFkb3c6IDEuMnJlbSAwIDAgcmdiYSgwLCAwLCAwLCAuNyksIC0xLjJyZW0gMCAwIHJnYmEoMCwgMCwgMCwgLjcpO1xuICAgICAgcGFkZGluZzogNnB4IDA7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5oZWFkZXItLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGZzLWhlYWRlci1oZWFkbGluZSgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgZm9udC1zaXplOiAzNCAqICRmb250LW1vZGlmaWVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItLXN1YnRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGZzLWhlYWRlci1zdWJsaW5lKCk7XG4gICAgICBsaW5lLWhlaWdodDogMS45O1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICAgIC52b2NhYnVsYXJ5LWJ1aWxkaW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAubGF6eWxvYWRlci1pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zY3JvbGwtZG93biB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbi13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA2MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc29jaWFsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tb25lLWNvbCkgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDMuMjUsIDEuMzcyNSwgJGd1dHRlcjogMCwgJGNsZWFyOiBib3RoKTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10d28tY29sKSAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oMy4yNSwgMy4zNzI1LCAkZ3V0dGVyOiAwLCAkY2xlYXI6IGJvdGgpOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkgeyBAaW5jbHVkZSBpc29sYXRpb24tc3BhbigzLjI1LCA1LjM3MjUsICRndXR0ZXI6IDAsICRjbGVhcjogYm90aCk7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDMuMjUsIDcuMzcyNSwgJGd1dHRlcjogMCwgJGNsZWFyOiBib3RoKTsgfVxuICAgIH1cbiAgfVxuXG4gICYuaGVhZGVyLWhpZGUtdGV4dCB7XG4gICAgLmhlYWRlci0tdGl0bGUsXG4gICAgLmhlYWRlci0tc3VidGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE91dGVyIEhlYWRlciBMYXlvdXRcbi5sLWhlYWRlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yLTU7XG4gIHRvcDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjA7XG4gIHRyYW5zaXRpb246IHRvcCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwNjA7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLC42KSAtNjAlLCB0cmFuc3BhcmVudCk7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMSwyNyw1MiwuOCk7IC8vIHJnYmEtdmFsdWUgZm9yICRiZy1jb2xvci01XG4gIH1cbn1cblxuLy8gSGlkZSBoZWFkZXIgb24gc2Nyb2xsXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWhpZGRlbl9sLWNvbnRlbnQtcm93IC52aWV3LWdsLXpibC1wcm9wZXJ0aWVzLXNlYXJjaCAudmlldy1maWx0ZXJzIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5oZWFkZXItaGlkZGVuX2wtY29udGVudC1yb3cge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gSW5uZXIgSGVhZGVyIExheW91dFxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY2xlYXI6IGJvdGg7XG4gIHotaW5kZXg6IDk5O1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gcmVzZXQgdGhlIG91dGVyLWdyaWQtd3JhcHBlclxuICBAaW5jbHVkZSBndXR0ZXItcGFkKDEsIDEpO1xuXG4gIC5sb2dvLCAjbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxuXG4gIC5waG9uZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgfVxuXG4gIC5sYW5ndWFnZS1zd2l0Y2gsXG4gIC5sYW5nX2Ryb3Bkb3duX2Zvcm0sXG4gIC5wYW5lLWdsLXpibC1nbG9iYWwtemFiZWwtbG9nb3V0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDBweCAxMDI0cHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICB9XG4gIC5wYW5lLWdsLXpibC1nbG9iYWwtemFiZWwtbG9nb3V0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24sXG4gICYgPiAubWVudSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAyMnB4O1xuXG4gICAgLmV4cGFuZGVkIHtcblxuICAgICAgLy8gQXJyb3dzIGZvciBtYWluIG1lbnUgbGlua3Mgd2l0aCBzdWJtZW51c1xuICAgICAgLmV4cGFuZGVkID4gLm1lbnVfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAvL3ZlcnRpY2FsLWFsaWduOiAtMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIC5leHBhbmRlZCA+IC5tZW51X19saW5rIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgQGluY2x1ZGUgaWNvbignY3VzdG9tJywgJ2ljb21vb25fYXdlc29tZV9hbmdsZS1yaWdodCcsIGFmdGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhLFxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSBmcy1uYXZpZ2F0aW9uLXRleHQoKTtcbiAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnY29sb3InLCB3aGl0ZSwgJHRleHQtY29sb3ItNCwgd2hpdGUpO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cbn1cblxuXG4iLCIuaGVhZGVyIC5sb2dvLFxuLmhlYWRlciAjbG9nbyAge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIyMHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kJyxcbiAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9oZWFkZXIvbG9nby1maC5wbmcnKSxcbiAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9oZWFkZXIvbG9nby1jaS5wbmcnKSxcbiAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9oZWFkZXIvbG9nby1wZy5wbmcnKVxuICApO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4haW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0IWltcG9ydGFudDtcbiAgaW1nIHtcblx0ICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbmh0bWxbZGlyPXJ0bF0gLmhlYWRlciAubG9nbyxcbmh0bWxbZGlyPXJ0bF0gLmhlYWRlciAjbG9nbyB7XG4gIGZsb2F0OiByaWdodDtcbn1cbiIsIi8vIEdMIERyb3Bkb3duIE1lbnUgcHVyZSBDU1Ncbi5tYWluLW5hdmlnYXRpb24ge1xuXHRjbGVhcjogYm90aDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdH1cblx0LnBhbmUtY29udGVudCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdHVsIHtcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdCY6aG92ZXIgbGkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnBhbmUtY29udGVudCA+IHVsLm1lbnUgPiBsaSA+IHVsLm1lbnUge1xuXHRcdHBhZGRpbmctdG9wOiA0NHB4O1xuXHR9XG5cblx0dWwgdWwgdWwge1xuXHQgIGxlZnQ6IDEwMCU7XG5cdCAgdG9wOiAwO1xuXHR9XG5cdFxuXHRsaSB1bCB7IFxuXHRcdGRpc3BsYXk6IG5vbmU7IFxuXHR9XG5cdFxuXHR1bCBsaSBhIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICBwYWRkaW5nOiAxZW07XG5cdCAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdCAgY29sb3I6ICNmZmY7XG5cdH1cblx0XG5cdGxpOmhvdmVyID4gdWwge1xuXHQgIGRpc3BsYXk6IGJsb2NrO1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG5cdC5tYWluLW5hdmlnYXRpb24gbGkgdWwgbGkgeyBcblx0XHRib3JkZXItdG9wOiAwOyBcblx0fVxuXHRcblx0dWwgdWwgdWwge1xuXHQgIGxlZnQ6IDEwMCU7XG5cdCAgdG9wOiAwO1xuXHR9XG5cblx0dWw6YmVmb3JlLFxuXHR1bDphZnRlciB7XG5cdCAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cblx0ICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xuXHR9XG5cdFxuXHR1bDphZnRlciB7IFxuXHRcdGNsZWFyOiBib3RoOyBcblx0fVxufVxuXG4vL1xuLy8gTmF2aWdhdGlvbiBzcGVjaWZpYyBjb2xvcnNcbi8vXG4uaGVhZGVyIHVsLm1lbnUge1xuICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZCcsIGJsYWNrLCB3aGl0ZSwgJGJnLWNvbG9yLTUpO1xuXG4gIC8vIEFsbCBtZW51IGxpbmtzXG4gIGxpID4gYSAgICAgICB7IEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCB3aGl0ZSk7IH1cbiAgbGk6aG92ZXIgPiBhIHsgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2NvbG9yJywgJGVsZW1lbnQtY29sb3ItNCwgJHRleHQtY29sb3ItMyAsICRlbGVtZW50LWNvbG9yLTQpOyB9XG5cbiAgLy8gU3VibWVudSBsaW5rc1xuICBsaSBsaSA+IGEgICAgICAgeyBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZCcsIGJsYWNrLCB3aGl0ZSwgJGJnLWNvbG9yLTUpOyB9XG4gIGxpIGxpOmhvdmVyID4gYSB7IEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kJywgJGJnLWNvbG9yLTMsICRlbGVtZW50LWNvbG9yLTgsICRiZy1jb2xvci02KTsgfVxufVxuXG5cbi8vXG4vLyBOYXZpZ2F0aW9uIHNwZWNpZmljIGJveC1zaGFkb3dzXG4vL1xuXG4vLyBBZGQgYm94LXNoYWRvdyBmb3IgYWxsIHN1Ym1lbnVzXG4vLy5oZWFkZXI6bm90KC5tb2JpbGUpID4gdWwubWVudSA+IGxpLm1lbnVfX2l0ZW0gdWwubWVudSB7XG4uaGVhZGVyIHVsLm1lbnUgPiBsaS5tZW51X19pdGVtIHVsLm1lbnUge1xuICAvL2JveC1zaGFkb3c6IDJweCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi8vIFJlbW92ZSBib3gtc2hhZG93IHRvcCBmb3IgYWxsIGZpcnN0IGxldmVsIGRyb3Bkb3duIG1lbnVzIGFuZCBuZXN0ZWQgZHJvcGRvd24gbWVudXNcbi8vIHRoYXQgYXJlIGluIGZpcnN0IHBvc2l0aW9uXG4uaGVhZGVyOm5vdCgubW9iaWxlKSA+IHVsLm1lbnUgPiBsaS5tZW51X19pdGVtID4gdWwubWVudTo6YmVmb3JlLFxuLmhlYWRlcjpub3QoLm1vYmlsZSkgPiB1bC5tZW51ID4gbGkubWVudV9faXRlbSA+IHVsLm1lbnUgPiBsaS5tZW51X19pdGVtLmZpcnN0ID4gdWwubWVudTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMnB4O1xuICBsZWZ0OiAtMnB4O1xuICByaWdodDogLTJweDtcbiAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQnLCByZ2JhKDAsIDAsIDAsIDEpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpLCByZ2JhKDEsIDI3LCA1MiwgMSkpO1xufVxuXG4vLyBMaWdodGVuIGJveC1zaGFkb3cgdG9wIGZvciBuZXN0ZWQgZHJvcGRvd24gbWVudXMsIHRoYXQgYXJlIG5vdCBpbiB0aGUgZmlyc3QgcG9zaXRpb25cbi5oZWFkZXI6bm90KC5tb2JpbGUpID4gdWwubWVudSA+IGxpLm1lbnVfX2l0ZW0gPiB1bC5tZW51ID4gbGkubWVudV9faXRlbSA+IHVsLm1lbnU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTJweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kJyxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgxMDAsMTAwLDEwMCwwLjUpIDgwJSksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LDI1NSwyNTUsMSkgODAlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuNCksIHJnYmEoMSwyNyw1MiwwLjYpIDYwJSlcbiAgKTtcbn1cblxuLy8gTGlnaHRlbiBib3gtc2hhZG93IGxlZnQgZm9yIGFsbCBzdWJtZW51c1xuLmhlYWRlcjpub3QoLm1vYmlsZSkgPiB1bC5tZW51ID4gbGkubWVudV9faXRlbSB1bC5tZW51OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMXB4O1xuICB0b3A6IDA7XG4gIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kJyxcbiAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgxMDAsMTAwLDEwMCwwLjUpIDgwJSksXG4gICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LDI1NSwyNTUsMSkgODAlKSxcbiAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuNCksIHJnYmEoMSwyNyw1MiwwLjYpIDYwJSlcbiAgKTtcbn1cblxuLy9cbi8vIFxuLy9cbi5oZWFkZXI6bm90KC5tb2JpbGUpIC5tYWluLW5hdmlnYXRpb24gLnBhbmUtY29udGVudCA+IHVsLm1lbnUgPiBsaSA+IGEubWVudV9fbGluay5hY3RpdmUtdHJhaWwsXG51bC50YWJzID4gbGkgPiBhLm1lbnVfX2xpbmsuYWN0aXZlLXRyYWlsIHtcblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHRsZWZ0OiAxZW07XG5cdFx0cmlnaHQ6IDFlbTtcblx0XHR0b3A6IDI5cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdH1cbn1cblxuLmhlYWRlcjpub3QoLm1vYmlsZSkgLm1haW4tbmF2aWdhdGlvbiB7XG5cblx0LnBhbmUtbWVudS1tZW51LWNhcGl0YWwtaW52ZXN0bWVudCAucGFuZS1jb250ZW50ID4gdWwubWVudSA+IGxpID4gYS5tZW51X19saW5rLmFjdGl2ZS10cmFpbCB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0XHR9XG5cdH1cblxuXHQucGFuZS1tZW51LW1lbnUtZmluZXN0LWhvbWVzIC5wYW5lLWNvbnRlbnQgPiB1bC5tZW51ID4gbGkgPiB1bCBhLmFjdGl2ZS10cmFpbCB7XG5cdFx0YmFja2dyb3VuZDogIzI5MmUzMjtcblx0fVxuXG5cdC5wYW5lLW1lbnUtbWVudS1jYXBpdGFsLWludmVzdG1lbnQgLnBhbmUtY29udGVudCA+IHVsLm1lbnUgPiBsaSA+IHVsIGEuYWN0aXZlLXRyYWlsIHtcblx0XHRiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuXHR9XG5cblx0LnBhbmUtbWVudS1tZW51LXByb3BlcnR5LWdyb3VwIC5wYW5lLWNvbnRlbnQgPiB1bC5tZW51ID4gbGkgPiB1bCBhLmFjdGl2ZS10cmFpbCB7XG5cdFx0YmFja2dyb3VuZDogIzM0NDk1ZDtcblx0fVxufVxuXG4uc2VjdGlvbi1jYXBpdGFsLWludmVzdG1lbnRzIHtcblx0dWwudGFicyA+IGxpID4gYS5tZW51X19saW5rLmFjdGl2ZS10cmFpbCB7XG5cblx0JjphZnRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzMzMztcblx0fVxufVxufVxuXG4vL1xuLy8gVGFicyBzcGVjaWZpYyBjb2xvcnNcbi8vXG51bC50YWJzIHtcbiAgYmFja2dyb3VuZDogIzU1NTtcbiAgLy8gUmVzZXQgb2YgdGhlIGhhY2sgZm9yIHRoZSBtYWluIG5hdlxuICAmID4gbGk6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgbGkge1xuXHQgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICBtYXJnaW46IDAgMTBweDtcbiAgfVxuICBsaSA+IGEge1xuXHRkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2RkZDtcbiAgICBiYWNrZ3JvdW5kOiAjNTU1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG4gIGxpOmhvdmVyID4gYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzg4ODtcbiAgfVxufSIsIi5oZWFkZXIge1xuICAucGhvbmUge1xuICAgIEBpbmNsdWRlIHpibC1ib3JkZXItaWNvbigpO1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzU4cHgpIGFuZCAobWluLXdpZHRoOiAxMTY3cHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgYTpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgaWNvbignbGluZWFyJywgJ2ZvdG9saWFfNjc5MTExNzBfMTUnKTtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdib3JkZXItY29sb3InLCAkYmctY29sb3ItNywgJGVsZW1lbnQtY29sb3ItNCwgJGJnLWNvbG9yLTYpO1xuICAgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2NvbG9yJywgd2hpdGUsICR0ZXh0LWNvbG9yLTQsIHdoaXRlKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kLWNvbG9yJywgJGJnLWNvbG9yLTcsICRlbGVtZW50LWNvbG9yLTgsICRiZy1jb2xvci02KTtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JvcmRlci1jb2xvcicsICRiZy1jb2xvci03LCAkZWxlbWVudC1jb2xvci04LCAkYmctY29sb3ItNik7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCB3aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBob25lLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuICAgIC5sYW5kaW5nLXBhZ2UgJiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgLnBob25lLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5odG1sW2Rpcj1ydGxdIC5oZWFkZXIgLnBob25lIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICBAaW5jbHVkZSB6YmwtYm9yZGVyLWljb24tcnRsKCk7XG59XG4iLCIjYnVyZ2VyIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdib3JkZXItY29sb3InLCAkYmctY29sb3ItNywgJGVsZW1lbnQtY29sb3ItNCwgd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgaWNvbignY3VzdG9tJywgJ2J1cmdlcicpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2NvbG9yJywgd2hpdGUsICR0ZXh0LWNvbG9yLTQsIHdoaXRlKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgIC8vIG9mZnNldCBiZWNhdXNlIG9mIGJlYXV0aWZ1bGx5IG1pc2FsaWduZWQgZm9udC1hd2Vzb21lIGdseXBoLi4uXG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYm9yZGVyLWNvbG9yJywgJGJnLWNvbG9yLTcsICRlbGVtZW50LWNvbG9yLTgsICRiZy1jb2xvci02KTtcbiAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZC1jb2xvcicsICRiZy1jb2xvci03LCAkZWxlbWVudC1jb2xvci04LCAkYmctY29sb3ItNik7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCB3aGl0ZSk7XG4gICAgfVxuICB9XG5cbiAgJi5jbG9zZSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JvcmRlci1jb2xvcicsICRiZy1jb2xvci03LCAkZWxlbWVudC1jb2xvci04LCAkYmctY29sb3ItNik7XG4gICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCAkYmctY29sb3ItNywgJGVsZW1lbnQtY29sb3ItOCwgJGJnLWNvbG9yLTYpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICY6OmJlZm9yZSB7IEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCB3aGl0ZSk7IH1cbiAgfVxufSIsIkBtaXhpbiBoZWFkZXItZWxlbWVudHMtb25lLWNvbC1sYXlvdXQoKSB7XG4gIC5oZWFkZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweCAyLjRyZW0gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLnBhbmUtcGFnZS1sb2dvIHtcbiAgICBtYXJnaW46IDAgYXV0byAxNXB4IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07ICBcbiAgICB9XG4gIH1cbiAgI2xvZ28sXG4gIC5sb2dvIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgI2xvZ28ge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cbiAgXG4gIC5waG9uZSxcbiAgI2J1cmdlcixcbiAgLnBhbmUtbGFuZy1kcm9wZG93bi1sYW5ndWFnZSB7XG4gICAgbWFyZ2luOiAwIDAgMTVweCAxNXB4O1xuICB9XG4gIC5wYW5lLWdsLXpibC1nbG9iYWwtemFiZWwtbG9nb3V0IHtcbiAgICBtYXJnaW46IDE1cHggMi40cmVtO1xuICB9XG4gICNidXJnZXIge1xuICAgIEBpbmNsdWRlIG9yZGVyKDMpO1xuICB9XG4gIC5wYW5lLWxhbmctZHJvcGRvd24tbGFuZ3VhZ2Uge1xuICAgIEBpbmNsdWRlIG9yZGVyKDIpO1xuICB9XG4gIC5waG9uZSB7XG4gICAgQGluY2x1ZGUgb3JkZXIoMSk7XG4gIH1cblxuICAucGhvbmUge1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5waG9uZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAvLyBIaWRlIG9uIG1vYmlsZXNcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmxhbmd1YWdlLXN3aXRjaCxcbiAgLmxhbmdfZHJvcGRvd25fZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbiNoZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuYm9keS5sYW5kaW5nLXBhZ2UgI2hlYWRlci5tb2JpbGUge1xuICAvKi5oZWFkZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIC8vQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDIuNHJlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH0qL1xuXG4gIC5sLWhlYWRlci13cmFwcGVyIHtcbiAgICB0b3A6IC0yMHB4O1xuICB9XG5cbiAgLnBhbmUtcGFnZS1sb2dvIHtcbiAgICBtYXJnaW46IDAgYXV0byAxNXB4IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XG4gICAgfVxuICB9XG4gICNsb2dvLFxuICAubG9nbyB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIC8vZmxvYXQ6IG5vbmU7XG4gIH1cbiAgI2xvZ28ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cblxuICAucGhvbmUge1xuICAgIG1hcmdpbjogMjVweCAwIDE1cHggMDtcbiAgfVxuICAucGhvbmUge1xuICAgIEBpbmNsdWRlIG9yZGVyKDEpO1xuICB9XG5cblxuICAucGhvbmUgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5waG9uZS1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MTJweCkgYW5kIChtaW4td2lkdGg6IDBweCkge1xuICAgIC5waG9uZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5Om5vdCgubGFuZGluZy1wYWdlKSAjaGVhZGVyLm1vYmlsZSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gICAgQGluY2x1ZGUgaGVhZGVyLWVsZW1lbnRzLW9uZS1jb2wtbGF5b3V0KCk7XG4gIH1cblxuICAvLyBXcmFwcyBsb2dvLCBwaG9uZSwgbGFuZ3VhZ2Utc3dpdGNoIGFuZCBidXJnZXJcbiAgLy8gc2hvdWxkIGJlIHBvc2l0aW9uZWQgaW4gZnJvbnQgb2YgdGhlIHNsaWRpbmcgbWVudVxuICAuaGVhZGVyLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZC1jb2xvcicsIGJsYWNrLCB3aGl0ZSwgJGJnLWNvbG9yLTUpO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC5waG9uZSxcbiAgI2J1cmdlcixcbiAgLnBhbmUtbGFuZy1kcm9wZG93bi1sYW5ndWFnZSxcbiAgLnBhbmUtZ2wtemJsLWdsb2JhbC16YWJlbC1sb2dvdXQge1xuICAgIG1hcmdpbi1sZWZ0OiAyLjRyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtc21hbGwtcGhvbmUpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYWwgc2V0dGluZ3MgZm9yIHRoZSBtZW51IGluIGFsbCBzdGF0ZXNcbiAgJiA+IC5tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHotaW5kZXg6IDU7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAvLyBJbml0aWFsbHkgaGlkZSBzdWJtZW51c1xuICAgIC5tZW51X19pdGVtIC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICAvLyBHZW5lcmFsIGZvcm1hdHRpbmcgb2YgbWVudSBsaW5rc1xuICAgIC5tZW51X19saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMy42cmVtO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBBcnJvd3MgZm9yIG1haW4gbWVudSBsaW5rcyB3aXRoIHN1Ym1lbnVzXG4gICAgLmV4cGFuZGVkID4gLm1lbnVfX2xpbms6OmFmdGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG4gICAgLmV4cGFuZGVkLmNsb3NlZCA+IC5tZW51X19saW5rIHtcbiAgICAgIEBpbmNsdWRlIGljb24oJ2N1c3RvbScsICdpY29tb29uX2F3ZXNvbWVfYW5nbGUtcmlnaHQnLCBhZnRlcik7XG4gICAgfVxuICAgIC5leHBhbmRlZC5vcGVuZWQgPiAubWVudV9fbGluayB7XG4gICAgICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9hd2Vzb21lX2FuZ2xlLWRvd24nLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLm1lbnVfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gSW4gbW9iaWxlIGhlYWRlciB3ZSB3YW50IHRoZSBiYWNrZ3JvdW5kIGhvdmVyIGVmZmVjdCBvbiBmaXJzdCBsZXZlbCBtZW51IGl0ZW1zLCB0b28uXG4gIGxpID4gYSAgICAgICB7IEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kJywgYmxhY2ssIHdoaXRlLCAkYmctY29sb3ItNSk7IH1cbiAgbGk6aG92ZXIgPiBhIHsgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQnLCAkYmctY29sb3ItMywgJGVsZW1lbnQtY29sb3ItOCwgJGJnLWNvbG9yLTYpOyB9XG59XG5cbiNoZWFkZXIuY29sbGFwc2VkIHtcbiAgJiA+IC5tZW51IHtcbiAgICB0b3A6IC0xMDB2aDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgLjVzIGVhc2U7XG4gIH1cbn1cblxuI2hlYWRlci5leHBhbmRlZCB7XG4gICYgPiAubWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRvcCAuNXMgZWFzZTtcbiAgfVxufSIsIi5mb290ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItMjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHdoaXRlO1xuXG4gIGg0IHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS00KCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59IiwiLmRzLWZvb3Rlci1yZWFkbW9yZSB7XG5cdGNsZWFyOiBib3RoO1xuXHRhIHtcbiAgICAgICAgQGluY2x1ZGUgZnMtbGluaygpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG59XG5cblxuLmZvb3Rlci10b3Age1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAubC1mb290ZXItZm9ybSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXR3by1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oOCwgMSwgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICB9XG5cbiAgLmwtZm9vdGVyLW5ld3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHsgZGlzcGxheTogbm9uZSB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGhyZWUtY29sKSAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCA1LCAkZ3V0dGVyOiAwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNiwgNSwgJGd1dHRlcjogMCk7IH1cbiAgfVxuXG4gIC5sLWZvb3Rlci1ibG9nIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7IGRpc3BsYXk6IG5vbmUgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNCwgOSwgJGd1dHRlcjogMCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDYsIDExLCAkZ3V0dGVyOiAwKTsgfVxuICB9XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gIC5wYW5lLWVudGl0eWZvcm0tdHlwZSxcbiAgLnNvY2lhbCB7IG1hcmdpbi10b3A6IDQwcHg7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7XG4gICAgLnBhbmUtZW50aXR5Zm9ybS10eXBlIHsgbWFyZ2luLXRvcDogMDsgfVxuICB9XG5cbiAgaDQgeyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbiAgI2VkaXQtc3VibWl0dGVkLWNvbnRhY3RlZC13aXRoLXJlbGV2YW50LWluZm9ybWF0aW9uIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIGlucHV0LndlYmZvcm0tc3VibWl0IHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAudmlld3MtaXRlbSArIC52aWV3cy1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG4gIFxuICAvL1xuICAvLyBTZWN0aW9uOiBGb3JtXG4gIC8vIFdlIG9ubHkgaGF2ZSBhIHNwZWNpZmljIGlubmVyIGxheW91dCBmb3IgdHdvIGNvbFxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7XG4gICAgLmZvcm0tcGFnZS1zZXR0aW5ncyAgICAgICAgICAgICAgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICAgIC5wYW5lLXpibC1mcm9udGVuZC1oZWxwZXItemJsLWxhbmd1YWdlIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNCwgMSwgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbiAgICAucGFuZS1lbnRpdHlmb3JtLXR5cGUgICAgICAgICAgICAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDUsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG5cbiAgICAvLyBEZWZpbml0ZWx5IG5vdCBwcm91ZCBvZiB0aGlzIG9uZS4uLlxuICAgIC8vIFdlIGNhbnQgdXNlIGNsZWFyIGJlY2F1c2Ugb2YgdGhlIGN1cnJlbnQgd3JhcHBlciBzdHJ1Y3R1cmVcbiAgICAvLyBUb2RvOiBDaGFuZ2Ugd3JhcHBlciBzdHJ1Y3R1cmUhXG4gICAgLnBhbmUtemJsLWZyb250ZW5kLWhlbHBlci16YmwtbGFuZ3VhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gIH1cblxuXG4gIC8vXG4gIC8vIFNlY3Rpb25zOiBOZXdzICYgQmxvZ1xuICAvLyBJcyBoaWRkZW4gZm9yIG9uZSBhbmQgdHdvLWNvbFxuICAubC1mb290ZXItbmV3cyxcbiAgLmwtZm9vdGVyLWJsb2cge1xuICAgIGg0IHsgQGluY2x1ZGUgZ3V0dGVyLXBhZCgxLCAzKTsgfVxuXG4gICAgLmRhdGUtZGlzcGxheS1zaW5nbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC52aWV3cy1pdGVtIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC52aWV3cy1pdGVtICsgLnZpZXdzLWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci03O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMS4ycmVtO1xuICAgICAgICByaWdodDogMS4ycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXItaW1hZ2UsXG4gICAgLmRzLWZvb3Rlci1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgeyBcblx0ICAgICAgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oMSwgMS4xMjUsICRncmlkOiA0KTtcblx0ICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHQgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgeyBcblx0ICAgICAgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oMiwgMS4xMjUsICRncmlkOiA2KTtcblx0ICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHQgICAgfVxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGltZyB7XG5cdCAgICAgIG1heC13aWR0aDogMTAwJTtcblx0ICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5leGVycHQsXG4gICAgLmRzLWZvb3Rlci1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDIuMjUsIDIuMzc1LCAkZ3JpZDogNCwgJGd1dHRlcjogMCk7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oMy4yNSwgMy4zNzUsICRncmlkOiA2LCAkZ3V0dGVyOiAwKTsgfVxuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgZnMtbGluaygpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufSIsIi5mb290ZXItYm90dG9tIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgXG4gIGEge1xuXHQgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItNztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEuMnJlbTtcbiAgICByaWdodDogMS4ycmVtO1xuICB9XG5cbiAgLmxvZ28tYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMTBweDtcbiAgfVxuICAubG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDBweCAzNzVweCkgeyBoZWlnaHQ6IDQwcHg7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHggNjEwcHgpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2MTBweCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYm90dG9tLWxpbmUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIEBpbmNsdWRlIGd1dHRlci1wYWQoMSwgMSk7XG4gIH1cbiAgXG4gIC5tZW51IHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC8vIEhhY2t5IHR3ZWFrcy4gVGVtcG9yYXJ5IHNvbHV0aW9uLiBXYWl0IGZvciBhbGwgbWVudSB0cmFuc2xhdGVkLlxuICAgIGxpLmhpZGUtaW4tZGUge1xuICAgICAgQGluY2x1ZGUgbGFuZy1zcGVjaWZpYygnZGlzcGxheScsICcuaTE4bi1kZScsICdub25lJyk7XG4gICAgfVxuICB9XG5cbiAgLmNvcHlyaWdodCxcbiAgLmZvb3Rlci1saW5rLWxpc3QgLm1lbnUsXG4gIC5tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cblxuICAvLy5mb290ZXItbGluay1saXN0IHtcbiAgICBcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgbGkgKyBsaTo6YmVmb3JlIHtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdtYXJnaW4tbGVmdCcsICc3cHgnKTtcbiAgICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ21hcmdpbi1yaWdodCcsICc0cHgnKTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgLy99XG5cbiAgLmNvcHlyaWdodCB7XG4gICAgY29sb3I6ICRkb3ZlLWdyYXk7XG4gIH1cbn1cbi5sYW5kaW5nLXBhZ2Uge1xuICAubWVudSB7XG4gICAgLmxwLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubHAtbm8tZGVjb3Ige1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvbGxlY3Rpb24gb2YgbWl4aW5zIHRoYXQgYXJlIHVzZWQgaW4gbW9yZSB0aGFuIG9uZSBwcm9wZXJ0eS10ZWFzZXJcbi8vIChtYWlubHkgZm9yIG1lZGl1bSBhbmQgbGFyZ2UpXG4vL1xuXG4vLyBGSCAmIENJIC0gTWVkaXVtIGFuZCBQcm9tbyBUZWFzZXJcbi8vIFBHIC0gTWVkaXVtIFRlYXNlclxuQG1peGluIHByb3BlcnR5LXRlYXNlci1pbmZvYm94LXR5cG8oKSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAYXQtcm9vdCAucHJvcGVydHktdGVhc2VyLS1sYXJnZSBoMyAgeyBAaW5jbHVkZSBmcy1wcm9wZXJ0eS10ZWFzZXItbGFyZ2UtaGVhZGluZygpOyB9XG4gIEBhdC1yb290IC5wcm9wZXJ0eS10ZWFzZXItLW1lZGl1bSBoMyB7IEBpbmNsdWRlIGZzLXByb3BlcnR5LXRlYXNlci1tZWRpdW0taGVhZGluZygpOyB9XG5cbiAgLy8gcHJpY2VpbmZvIGZvciBwcm9tbyBhbmQgbWVkaXVtIHRlYXNlciBjaVxuICBAYXQtcm9vdCAuemJsLXNlY3Rpb24tY2kgJiAucHJpY2VpbmZvICB7IGNvbG9yOiAkdGV4dC1jb2xvci0zOyB9XG4gIC8vIHByaWNlaW5mbyBmb3IgYWxsIG1lZGl1bSB0ZWFzZXIgKGluY2x1ZGluZyBmaClcbiAgQGF0LXJvb3QgLnByb3BlcnR5LXRlYXNlci0tbWVkaXVtIGgzIC5wcmljZWluZm8geyBjb2xvcjogJHRleHQtY29sb3ItMzsgfVxuXG4gIC5sYWJlbCxcbiAgLnZhbHVlIHtcbiAgICBAaW5jbHVkZSBmcy1wYXJhZ3JhcGgoKTtcbiAgfVxuXG4gIC5sYWJlbCB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnByb3BlcnR5LXRlYXNlci1sYWJlbC1mcm9tIHsgZm9udC1zaXplOiAxNnB4OyB9XG5cbiAgLmNlbnRlcmVkLWxpbmtzIHtcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdCAgLmJlYW4tb3Blbi1mb3JtLWluLW1vZGFsIHtcblx0ICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXHQgfVxuXG4gIC8vIFVzZSBwYXJhZ3JhcGgtc3R5bGUgZm9yIGRldGFpbCBsaW5rIHVubGVzcyB3ZSBoYXZlIGEgYnV0dG9uIChsaWtlIGluIGNhc2Ugc3R1ZHkgdGVhc2VycylcbiAgLmRldGFpbC1saW5rOm5vdCguYnV0dG9uKSxcbiAgLmRldGFpbC1saW5rIGEge1xuICAgIEBpbmNsdWRlIGZzLXBhcmFncmFwaCgpO1xuICAgIEBpbmNsdWRlIGZzLWxpbmsoKTtcbiAgfVxufVxuXG5cbi8vIEZIIHNwZWNpZmljIGNvbG9yIGZvciBwcm9tbyB0ZWFzZXJcbkBtaXhpbiBwcm9wZXJ0eS10ZWFzZXItbGFyZ2UtZmgtaW5mb2JveC10eXBvKCkge1xuICAub3Blbi1jbG9zZSxcbiAgLmhlYWRsaW5lLFxuICAuY2VudGVyZWQtbGlua3MgbGkgYSxcbiAgLmxhYmVsLFxuICAudmFsdWUgeyBjb2xvcjogd2hpdGUgfVxuXG4gIC5wcmljZWluZm8ge1xuICAgIGNvbG9yOiAkZWxlbWVudC1jb2xvci00O1xuICB9XG59XG5cblxuQG1peGluIHByb3BlcnR5LXRlYXNlci1pbmZvYm94LWlubmVyLWxheW91dCgpIHtcblxuICAuaW5mb2JveCB7XG4gICAgLXdlYmtpdC1oeXBoZW5zOiBub25lO1xuICAgICAgIC1tb3otaHlwaGVuczogbm9uZTtcbiAgICAgICAgLW1zLWh5cGhlbnM6IG5vbmU7XG4gICAgICAgICAgICBoeXBoZW5zOiBub25lO1xuICB9XG4gIC5pbmZvYm94LWhlYWRpbmcge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG5cbiAgLnByaWNlaW5mbyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBhdC1yb290IC56Ymwtc2VjdGlvbi1maCAuY3VycmVuY3ktY29udmVydGVyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAua2V5LWZpZ3VyZXMge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuICAgICYsXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMDsgIC8vcmVtb3ZlIHNwYWNlcyBiZXR3ZWVuIGlubGluZSBlbGVtZW50c1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRlbGVtZW50LWNvbG9yLTQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICAubGFiZWwsXG4gICAgLnZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiAzMyU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuICAgICAgICB3aWR0aDogNDIlO1xuICAgICAgfVxuICAgIH1cbiAgICAudmFsdWUge1xuICAgICAgd2lkdGg6IDY2JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10aHJlZS1jb2wpIHtcbiAgICAgICAgd2lkdGg6IDU4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJpY2VpbmZvIHtcbiAgICBAaW5jbHVkZSBmcy1wcm9wZXJ0eS10ZWFzZXItbGFyZ2UtaGVhZGluZygpO1xuICB9XG5cbiAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIHJlc2V0IGRlZmF1bHQgbGlzdCBzdHlsZVxuICAua2V5LWZpZ3VyZXMsXG4gIC5jZW50ZXJlZC1saW5rcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cblxuQG1peGluIHByb3BlcnR5LXRlYXNlci1pbmZvYm94LXZhbGlnbigpIHtcbiAgQGF0LXJvb3QgLnByb3BlcnR5LXRlYXNlci0tbGFyZ2UgaDMgICAgICAgICAgIHsgbWFyZ2luLXRvcDogMHB4OyB9XG4gIEBhdC1yb290IC5wcm9wZXJ0eS10ZWFzZXItLWxhcmdlIC5wcmljZWluZm8gICAgIHsgbWFyZ2luLXRvcDogMjVweDsgfVxuICBAYXQtcm9vdCAucHJvcGVydHktdGVhc2VyLS1sYXJnZSAua2V5LWZpZ3VyZXMgeyBtYXJnaW4tdG9wOiAyNXB4OyB9XG5cbiAgQGF0LXJvb3QgLnByb3BlcnR5LXRlYXNlci0tbWVkaXVtIGgzICAgICAgICAgICB7IG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQGF0LXJvb3QgLnByb3BlcnR5LXRlYXNlci0tbWVkaXVtIC5wcmljZWluZm8gICAgIHsgbWFyZ2luLXRvcDogMjVweDsgfVxuICBAYXQtcm9vdCAucHJvcGVydHktdGVhc2VyLS1tZWRpdW0gLmtleS1maWd1cmVzIHsgbWFyZ2luLXRvcDogMjdweDsgfVxuXG4gIEBhdC1yb290IC5wcm9wZXJ0eS10ZWFzZXItLTRjb2wgLmhlYWRsaW5lICAgIHsgcGFkZGluZy10b3A6IDBweDsgfVxuICBAYXQtcm9vdCAucHJvcGVydHktdGVhc2VyLS00Y29sIC5wcmljZWluZm8gICAgIHsgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgQGF0LXJvb3QgLnByb3BlcnR5LXRlYXNlci0tNGNvbCAua2V5LWZpZ3VyZXMgeyBtYXJnaW4tdG9wOiAxOHB4OyB9XG5cbiAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICBwYWRkaW5nLXRvcDogMzNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuXG4gICAgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBJbXBsZW1lbnQgdHlwbywgbGlzdC1sYXlvdXQgYW5kIHZhbGlnblxuLy9cbi5wcm9wZXJ0eS10ZWFzZXItLW1lZGl1bSxcbi5wcm9wZXJ0eS10ZWFzZXItLWxhcmdlLFxuLnByb3BlcnR5LXRlYXNlci0tNGNvbCB7XG4gIEBpbmNsdWRlIHByb3BlcnR5LXRlYXNlci1pbmZvYm94LWlubmVyLWxheW91dCgpO1xuICBAaW5jbHVkZSBwcm9wZXJ0eS10ZWFzZXItaW5mb2JveC12YWxpZ24oKTtcbiAgQGluY2x1ZGUgcHJvcGVydHktdGVhc2VyLWluZm9ib3gtdHlwbygpO1xufVxuXG4ucHJvcGVydHktdGVhc2VyLS1tZWRpdW0sXG4ucHJvcGVydHktdGVhc2VyLS1sYXJnZSB7XG4gIC5pbmZvYm94IHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcblxuICAgIC52b2NhYnVsYXJ5LWJ1aWxkaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgfVxuICAgICAgLmxhenlsb2FkZXItaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW5mb2JveC1wcm9qZWN0LWxvZ28ge1xuICAgIGgyLCAubGFiZWwtYWJvdmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnByb3BlcnR5LXRlYXNlci0tbWVkaXVtLmNhc2Utc3R1ZHkge1xuICAuaW5mb2JveCB7IFxuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi56Ymwtc2VjdGlvbi1maCAucHJvcGVydHktdGVhc2VyLS1sYXJnZSAge1xuICBAaW5jbHVkZSBwcm9wZXJ0eS10ZWFzZXItbGFyZ2UtZmgtaW5mb2JveC10eXBvKCk7XG59XG5cblxuLmludmVzdG1lbnRzIHtcbiAgLnByb3BlcnR5LWljb24ge1xuICAgIHRvcDogMDtcbiAgICBjbGlwOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHdpZHRoOiA3NHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDU7XG4gIH1cbn1cbi5maW5lc3QtaG9tZXMge1xuICAucHJvcGVydHktaWNvbiB7XG4gICAgY2xpcDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiA3NHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5nZXJtYW55LFxuLmdsb2JhbCxcbi5pbnZlc3RtZW50cyxcbi5maW5lc3QtaG9tZXMge1xuICAucHJvcGVydHktaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LS1maWx0ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAucHJvbW8tdGVhc2VyX19pY29ucyAucHJvcGVydHktaWNvbiB7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICB9XG59XG5cbi5wcm9qZWN0cy1wYWdlLCAubGFuZGluZy1wYWdlIHtcblxuICAucHJvcGVydHktdGVhc2VyLS1tZWRpdW0sLnByb3BlcnR5LXRlYXNlci0tbGFyZ2Uge1xuICAgIC5pbmZvYm94IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfSBcblxuICAuaW52ZXN0bWVudHMge1xuICAgIC5wcm9wZXJ0eS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmZpbmVzdC1ob21lcyB7XG4gICAgLnByb3BlcnR5LWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uaTE4bi1lbiB7XG4gIC5pY29uLWludmVzdG1lbnRzLnByb3BlcnR5LWljb24ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvaWNvbi1pbnZlc3RtZW50LnN2Zykgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gIC5pY29uLWZpbmVzdC1ob21lcy5wcm9wZXJ0eS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2ljb24tc2VsZnVzZS5zdmcpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAuaWNvbi1nZXJtYW55LnByb3BlcnR5LWljb24ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvaWNvbi1nZXJtYW55LnN2Zykgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gIC5pY29uLWdsb2JhbC5wcm9wZXJ0eS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2ljb24tZ2xvYmFsLnN2Zykgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG59XG5cbi5pMThuLWRlIHtcbiAgLmljb24taW52ZXN0bWVudHMucHJvcGVydHktaWNvbiB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9pY29uLWludmVzdG9yZW4uc3ZnKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgLmljb24tZmluZXN0LWhvbWVzLnByb3BlcnR5LWljb24ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvaWNvbi1laWdlbm51dHplci5zdmcpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAuaWNvbi1nZXJtYW55LnByb3BlcnR5LWljb24ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvaWNvbi1kZXV0c2NobGFuZC5zdmcpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAuaWNvbi1nbG9iYWwucHJvcGVydHktaWNvbiB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9pY29uLXdlbHR3ZWl0LnN2Zykgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG59IiwiQG1peGluIHByb3BlcnR5LXRlYXNlci0tbGFyZ2VfX2xheW91dCB7XG5cbiAgLnNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgIC5zbGljayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBcbiAgICAgICYsXG4gICAgICAuc2xpY2tfX3NsaWRlcixcbiAgICAgIC5zbGljay1saXN0LFxuICAgICAgLnNsaWNrLXRyYWNrLFxuICAgICAgLnNsaWNrX19zbGlkZSxcbiAgICAgIC5zbGlkZV9fY29udGVudCxcbiAgICAgIC5tZWRpYSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1leHRyYS1sYXJnZS1waG9uZSkge1xuICAgICAgICAvLyAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIC8vICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCkge1xuICAgIC5zbGljayAubWVkaWEgcGljdHVyZSBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG4gIFxuICAuaW5mb2JveCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxLCAkZ3V0dGVyOiAyLjRyZW0gKiAyKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNSwgMiwgJGd1dHRlcjogMi40cmVtICogMik7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDYsIDMsICRndXR0ZXI6IDIuNHJlbSAqIDIpOyB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10d28tY29sKSB7IG1pbi13aWR0aDogMzM2cHg7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtY2VudGVyKSB7IG1pbi13aWR0aDogNDUwcHg7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10YWJsZXQpIHsgbWluLXdpZHRoOiA0MTBweDsgfVxuICB9XG59XG5cbi5wcm9wZXJ0eS10ZWFzZXItaW5mbyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHsgXG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4vKi52aWV3LW1vZGUtcHJvcGVydHlfdGVhc2VyX3Byb21vLnByb3BlcnR5LXRlYXNlci0tbGFyZ2Uge1xuXHQgLnNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59Ki9cblxuXG4ucHJvcGVydHktdGVhc2VyLS1sYXJnZSB7XG5cbiAgJiArICYgeyBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7IH1cblxuICBAaW5jbHVkZSBwcm9wZXJ0eS10ZWFzZXItLWxhcmdlX19sYXlvdXQoKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiA2MDBweDtcblxuICAvLyBIYW5kbGUgaXNzdWUgd2l0aCBub24gc3dpcGVhYmxlIHNsaWRlclxuICAmID4gLm91dGVyLWdyaWQtd3JhcHBlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmID4gLmluZm9ib3gge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gIH1cblxuICAub3Blbi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS4ycmVtO1xuICAgIHJpZ2h0OiAxLjJyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgQGF0LXJvb3QgLnpibC1zZWN0aW9uLWZoICYgeyBjb2xvcjogd2hpdGU7IH1cbiAgICBAYXQtcm9vdCAuemJsLXNlY3Rpb24tY2kgJiB7IGNvbG9yOiBibGFjazsgfVxuICAgIEBpbmNsdWRlIGljb24oJ2xpbmVhcicsICdzaGFycG5vc2VfbGluZWFyX2N1c3RvbV8wNScpO1xuICAgICYuY2xvc2VkIHsgQGluY2x1ZGUgaWNvbignbGluZWFyJywgJ3NoYXJwbm9zZV9saW5lYXJfY3VzdG9tXzAyJyk7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmluZm9ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9wZXJ0eS10ZWFzZXItY29sb3I7XG4gICAgICBjb2xvcjogIzMzMztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgfVxuICAgICAgXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICB9XG5cbiAgLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdHdvLWNvbCkge1xuICAvLyAgICBAYXQtcm9vdCAuemJsLXNlY3Rpb24tZmgjeyZ9IHsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOCk7IGNvbG9yOiB3aGl0ZTsgfVxuICAvLyAgICBAYXQtcm9vdCAuemJsLXNlY3Rpb24tY2kjeyZ9IHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOSk7IGNvbG9yOiB3aGl0ZTsgfVxuICAvLyAgfVxuXG4gICAgLy8gVGhpcyBpcyBieSBkZWZhdWx0IGlubGluZSBibG9jayBidXQgaW4gbGFyZ2UgcHJvcGVydHkgdGVhc2Vyc1xuICAgIC8vIHRoZSBidXR0b24gc2hvdWxkIGJlIDEwMCUsIHNvIHdlIHVzZSBkaXNwbGF5IGJsb2NrLlxuICAgIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAua2V5LWZpZ3VyZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnN1Ym1pdC1tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG4gICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2NvbG9yJywgd2hpdGUsICR0ZXh0LWNvbG9yLTQsICR0ZXh0LWNvbG9yLTQpO1xuICB9XG5cbiAgLy8gVG9kbzogU2xpZGVyIGltYWdlIGV2dGwgYXVzbGFnZXJuP1xuICAuc2xpZGVyLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cblxufVxuXG4udmlldy1nbC16YmwtcHJvcGVydGllcy1zZWFyY2gge1xuICAuYXR0YWNobWVudC1iZWZvcmUge1xuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgLnZpZXdzLXJvdyB7XG4gICAgICAgIC5wcm9wZXJ0eS10ZWFzZXItLWxhcmdlIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgICAgICAmLWxhc3Qge1xuICAgICAgICAgIC5wcm9wZXJ0eS10ZWFzZXItLWxhcmdlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4iLCIucHJvcGVydHktdGVhc2VyLS1tZWRpdW0ge1xuXG4gICRicC1jdXN0b20tb25lLWNvbDogMCA3MjBweDtcbiAgJGJwLWN1c3RvbS10d28tY29sOiA3MjFweDtcbiAgJGJwLWhpZGUta2V5ZmlndXJlczogMCA5MjBweDtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcblxuICBkaXYucGFuZWwtcGFuZSAmLm5vZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLFxuICBkaXYucGFuZWwtcGFuZSAmLm5vZGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zbGlkZXItb3V0ZXItbGF5b3V0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtY3VzdG9tLW9uZS1jb2wpIHtcbiAgICAgIEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRndXR0ZXI6IDAsICRncmlkOiA0LCAkY2xlYXI6IGJvdGgpO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLy8gMTY6OSBhdCBhIGJhc2Utd2lkdGggb2YgOTYuODU3JSB3aWNoIGlzIGNhbGN1bGF0ZWQgYnkgdGhlIGlzb2xhdGlvbi1zcGFuIGFib3ZlXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWN1c3RvbS10d28tY29sKSB7XG4gICAgICBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0Ljg3NSwgNCwgJGd1dHRlcjogMCk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDY0LjA2MjUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1LjkzNzUlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICAge1xuICAgICAgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNy44NzUsIDUsICRndXR0ZXI6IDApO1xuICAgICAgd2lkdGg6IDY3LjcwODMzJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMi4yOTE2NyU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpICB7XG4gICAgICBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig5Ljg3NSwgNywgJGd1dHRlcjogMCk7XG4gICAgICB3aWR0aDogNjMuMjgxMjUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM2LjcxODc1JTtcbiAgICB9XG4gIH1cblxuICAuc2xpZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLnNsaWNrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICYsXG4gICAgICAuc2xpY2tfX3NsaWRlcixcbiAgICAgIC5zbGljay1saXN0LFxuICAgICAgLnNsaWNrLXRyYWNrLFxuICAgICAgLnNsaWNrX19zbGlkZSxcbiAgICAgIC5zbGlkZV9fY29udGVudCxcbiAgICAgIC5tZWRpYSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUb2RvOiBTbGlkZXIgaW1hZ2UgZXZ0bCBhdXNsYWdlcm4/XG4gIC5tZWRpYSB7XG4gICAgcGljdHVyZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIHJpZ2h0OiAtOTk5OXB4O1xuICAgICAgICB0b3A6IC05OTk5cHg7XG4gICAgICAgIGJvdHRvbTogLTk5OTlweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAvL2hlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlIGRvbnQgaGF2ZSBhIHNsaWRlciBidXQgb25seSBvbmUgc2luZ2xlIGltYWdlLlxuICAvLyBTZWUgdHdvLWNvbCBmb3IgbW9zdCBjYXNlIHN0dWRpZXMuXG4gIC5zbGlkZXItb3V0ZXItbGF5b3V0ID4gLnNsaWRlci1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmluZm9ib3gge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWN1c3RvbS1vbmUtY29sKSB7XG4gICAgICBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0LCAkZ3JpZDogNCwgJGNsZWFyOiBib3RoKTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWN1c3RvbS10d28tY29sKSB7XG4gICAgICBAaW5jbHVkZSBpc29sYXRpb24tc3BhbigyLjg3NSwgMS4xMjUsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpO1xuICAgICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgyLCAzKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgICB7XG4gICAgICBAaW5jbHVkZSBpc29sYXRpb24tc3BhbigzLjg3NSwgMS4xMjUsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpO1xuICAgICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgyLCAzKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpICB7XG4gICAgICBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig1Ljg3NSwgMS4xMjUsICRndXR0ZXI6IDApO1xuICAgICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgyLCAzKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLnN1Ym1pdC1tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG4gIH1cblxuICAua2V5LWZpZ3VyZXMge1xuICAgIGxpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGVsZW1lbnQtY29sb3ItNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2VudGVyZWQtbGlua3Mge1xuXHQgIGE6bm90KC5idXR0b24pIHtcbiAgICAgIEBpbmNsdWRlIGZzLXBhcmFncmFwaCgpO1xuICAgICAgQGluY2x1ZGUgZnMtbGluaygpO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cdH1cbiBcblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgIC5rZXktZmlndXJlcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gTWVkaXVtIHByb3BlcnR5IHRlYXNlciBzdHlsZXMgYXBwbHkgdG8gbWVkaXVtIHByb3BlcnR5IHRlYXNlcnNcbi8vIEFORCBjYXNlLXN0dWR5IHRlYXNlcnMuIFRoZSBmb2xsb3dpbmcgc3R5bGVzIG9ubHkgYWZmZWN0IG1lZGl1bVxuLy8gcHJvcGVydHkgdGVhc2Vycy5cbi8vXG4ucHJvcGVydHktdGVhc2VyLS1tZWRpdW06bm90KC5jYXNlLXN0dWR5KSB7XG4gIC8vIFRoaXMgaXMgYnkgZGVmYXVsdCBpbmxpbmUgYmxvY2sgYnV0IGluIG1lZGl1bSBwcm9wZXJ0eSB0ZWFzZXJzXG4gIC8vIHRoZSBidXR0b24gc2hvdWxkIGJlIDEwMCUsIHNvIHdlIHVzZSBkaXNwbGF5IGJsb2NrLlxuICAuYnV0dG9uIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAubWVkaWEge1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLCIvLyBXZSB3YW50IGFuIGlubmVyIGxheW91dCB3aGVyZSB0aGUgaW1hZ2UgdGFrZXMgNTAlXG4vLyBhbmQgdGhlIHdoaXRlIHRleHQgYm94IDUwJSBib3RoIGluIDQ6MyBhc3BlY3QgcmF0aW9cbkBtaXhpbiBwcm9wZXJ0eS10ZWFzZXItc21hbGwtLWlubmVyLWxheW91dCgpIHtcbiAgLmZ1bGwtc2l6ZS1saW5rIHtcbiAgICBAaW5jbHVkZSBmdWxsLXNpemUtbGluaygkaC1pbmRlbnQ6IDEuMnJlbSk7XG4gIH1cblxuICAubWVkaWEtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gIH1cblxuICAuaW5mb2JveCB7XG4gICAgcGFkZGluZzogMzJweCAyLjRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAub3ZlcmZsb3ctaGVscGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwcm9wZXJ0eS10ZWFzZXItc21hbGwtLWlubmVyLWxheW91dC1hbHRlcm5hdGl2ZSgpIHtcbiAgLy8gRGVmYXVsdCBiZWhhdmlvclxuICBAaW5jbHVkZSBwcm9wZXJ0eS10ZWFzZXItc21hbGwtLWlubmVyLWxheW91dCgpO1xuXG4gIC8vIEN1c3RvbVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXR3by1jb2wgJGJwLXRocmVlLWNvbC1jZW50ZXIpIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5wdXNoLW9wZW4ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIHByb3BlcnR5LXRlYXNlci1zbWFsbC0tdmFsaWduKCkge1xuICAubWVkaWEtd3JhcHBlciAucHJpY2Uge1xuICAgIHBhZGRpbmc6IDVweCAxMnB4O1xuICB9XG4gIC5pbmZvYm94IC5zdWJsaW5lICAgICB7IG1hcmdpbi10b3A6IDEycHg7IH1cbiAgLmRldGFpbC1saW5rLFxuICAuZGV0YWlsLWxpbmsgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxufVxuXG5cbkBtaXhpbiBwcm9wZXJ0eS10ZWFzZXItc21hbGwtLXR5cG8oKSB7XG4gIEBpbmNsdWRlIGZzLXBhcmFncmFwaCgpO1xuICAuZnVsbC1zaXplLWxpbmsge1xuICAgIEBpbmNsdWRlIGhpZGUtdGV4dCgpO1xuICAgICY6aG92ZXIgfiAuaW5mb2JveCBhIHsgY29sb3I6ICRicmlnaHQtcmVkOyB9XG4gIH1cbiAgLmluZm9ib3ggeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgJiBoMyB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtNCgpO1xuXG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5wcm9wZXJ0eS10ZWFzZXItbGFiZWwtZnJvbSB7IGZvbnQtc2l6ZTogMTZweDsgfVxuXG4gIC5tZWRpYS13cmFwcGVyIC5wcmljZSB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMygpO1xuICB9XG5cbiAgJi50eXBlLWNpIC5tZWRpYS13cmFwcGVyIC5wcmljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgLjgpO1xuICB9XG4gICYudHlwZS1maCAubWVkaWEtd3JhcHBlciAucHJpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsIC44KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICAuaW5mb2JveCAuc3VibGluZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLTM7XG4gIH1cbn1cblxuXG5cblxuLnByb3BlcnR5LXRlYXNlci0tc21hbGwsXG4udmlldy1nbC16YmwtcHJvcGVydGllcy1ibG9jayAudmlld3Mtcm93IHtcbiAgQGluY2x1ZGUgcHJvcGVydHktdGVhc2VyLXNtYWxsLS1pbm5lci1sYXlvdXQoKTtcbiAgQGluY2x1ZGUgcHJvcGVydHktdGVhc2VyLXNtYWxsLS12YWxpZ24oKTtcbiAgQGluY2x1ZGUgcHJvcGVydHktdGVhc2VyLXNtYWxsLS10eXBvKCk7XG5cbiAgLmluZm9ib3ggeyBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAuc2xpZGVyLWltYWdlIHtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAucHJpY2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMzJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG4ucHJvcGVydHktdGVhc2VyLS1zbWFsbC50eXBlLWZoLFxuLnByb3BlcnR5LXRlYXNlci0tc21hbGwudHlwZS1jaSxcbi52aWV3LWdsLXpibC1wcm9wZXJ0aWVzLWJsb2NrIC52aWV3cy1yb3cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBwcm9wZXJ0eS10ZWFzZXItc21hbGwtLWlubmVyLWxheW91dC1hbHRlcm5hdGl2ZSgpO1xufVxuXG4iLCIuaHRtbCB7XG4gIC5wcm9wZXJ0eS1sb2NhdGlvbi1ub2RlIC5wcm9wZXJ0eS10ZWFzZXJzLS00Y29sIHtcbiAgICBtYXJnaW46IDUycHggMCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuICAubC1jb250ZW50IC5wcm9wZXJ0eS10ZWFzZXJzLS00Y29sLFxuICAucHJvcGVydHktdGVhc2Vycy0tNGNvbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgPiAudmlldy1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0yKCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLTQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC52aWV3LWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC13cmFwcGVyLTRjb2woKTtcbiAgICAgIG1heC13aWR0aDogMTM2NXB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuXG4gICAgICA+IC52aWV3cy1yb3cge1xuICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhzdHJldGNoKTtcblxuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuc2xpZGVyLmRzLWRzLXNsaWRlc2hvdyB7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwtZGVza3RvcCkge1xuICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcblxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZXh0cmEtbGFyZ2UtcGhvbmUgJGJwLXRvLXRhYmxldCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAmOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1sYXJnZS1waG9uZSkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJjpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUycHg7XG4gICAgICB9XG4gICAgfVxuICAgIC52aWV3LWZvb3RlciB7XG4gICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDRweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi52aWV3LWRpc3BsYXktaWQtcGFuZV9wcm9wZXJ0aWVzX2ZoIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxZDIxMjQ7XG5cbiAgICAgIC52aWV3LWZvb3RlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmlldy1pZC1nbF96YmxfcHJvcGVydGllc19ibG9jay52aWV3LWRpc3BsYXktaWQtcGFuZWxfcGFuZV8xIHtcbiAgICAudmlldy1oZWFkZXIge1xuICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICB9XG4gIH1cbn1cbi5wcm9wZXJ0eS10ZWFzZXItLTRjb2wge1xuICAkYnAtY3VzdG9tLW9uZS1jb2w6IDAgNzIwcHg7XG4gICRicC1jdXN0b20tdHdvLWNvbDogNzIxcHg7XG4gICRicC1oaWRlLWtleWZpZ3VyZXM6IDAgOTIwcHg7XG5cbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxLjJyZW07XG4gIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuXG5cbiAgZGl2LnBhbmVsLXBhbmUgJi5ub2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gIH1cblxuICAmLFxuICBkaXYucGFuZWwtcGFuZSAmLm5vZGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuZmluZXN0LWhvbWVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLmludmVzdG1lbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc2xpZGVyLW91dGVyLWxheW91dCB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8vIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogNDY1cHg7XG5cbiAgICA+IC5zbGlkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgICAgPiBhLmNvbG9yYm94LW5vZGUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgICA+LnZvY2FidWxhcnktYnVpbGRpbmcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDVweCBhdXRvIDVweDtcbiAgICAgICAgLy9tYXgtd2lkdGg6IDk1JTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW1nOm5vdCgubGF6eWxvYWRlci1pY29uKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgfVxuICAgICAgICAubGF6eWxvYWRlci1pY29uIHtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRzLWRzLXNsaWRlc2hvdyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRvZG86IFNsaWRlciBpbWFnZSBldnRsIGF1c2xhZ2Vybj9cbiAgLm1lZGlhIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBkb250IGhhdmUgYSBzbGlkZXIgYnV0IG9ubHkgb25lIHNpbmdsZSBpbWFnZS5cbiAgLy8gU2VlIHR3by1jb2wgZm9yIG1vc3QgY2FzZSBzdHVkaWVzLlxuICAuc2xpZGVyLW91dGVyLWxheW91dCA+IC5zbGlkZXItaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5pbmZvYm94LmRzLWRzLWluZm8ge1xuICAgIEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRndXR0ZXI6ICgkZ3V0dGVyLS10ZXh0IC8gMiksICRncmlkOiA0LCAkY2xlYXI6IGJvdGgpO1xuXG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JvdygxKTtcblxuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgLmhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgLnN1YmxpbmUge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0obm9uZSk7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAmLnByaWNlLWhpZGRlbiB7XG4gICAgICAgIGNvbG9yOiAkZG92ZS1ncmF5O1xuICAgICAgfVxuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgICAuZGV0YWlsLWxpbmsge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICArIGxpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgICYucHJpY2VpbmZvLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkbGluZSxcbiAgLnN1Ym1pdC1tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG4gIH1cbiAgLmhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmxhYmVsLFxuICAudmFsdWUsXG4gIC5kZXRhaWwtbGluayBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgLnZhbHVlLFxuICAuemJsLWN1cnJlbmN5IHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItNTtcbiAgfVxuICAua2V5LWZpZ3VyZXMge1xuXG4gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCd0ZXh0LWFsaWduJywgJ3JpZ2h0Jyk7XG5cbiAgICBsaSB7XG4gICAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgICAudmFsdWUge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgIC5rZXktZmlndXJlcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZnJvbnQsXG4ubm9kZS10eXBlLXpibC1wYWdlLFxuLm5vZGUtdHlwZS1tYXN0ZXItcHJvcGVydHk6bm90KC5sYW5kaW5nLXBhZ2UpXG57XG4gIC5wcm9wZXJ0eS10ZWFzZXItLTRjb2wge1xuICAgIC5zbGlkZXItb3V0ZXItbGF5b3V0IHtcbiAgICAgID4gLnNsaWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00NHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gTWVkaXVtIHByb3BlcnR5IHRlYXNlciBzdHlsZXMgYXBwbHkgdG8gbWVkaXVtIHByb3BlcnR5IHRlYXNlcnNcbi8vIEFORCBjYXNlLXN0dWR5IHRlYXNlcnMuIFRoZSBmb2xsb3dpbmcgc3R5bGVzIG9ubHkgYWZmZWN0IG1lZGl1bVxuLy8gcHJvcGVydHkgdGVhc2Vycy5cbi8vXG4ucHJvcGVydHktdGVhc2VyLS1tZWRpdW06bm90KC5jYXNlLXN0dWR5KSB7XG4gIC8vIFRoaXMgaXMgYnkgZGVmYXVsdCBpbmxpbmUgYmxvY2sgYnV0IGluIG1lZGl1bSBwcm9wZXJ0eSB0ZWFzZXJzXG4gIC8vIHRoZSBidXR0b24gc2hvdWxkIGJlIDEwMCUsIHNvIHdlIHVzZSBkaXNwbGF5IGJsb2NrLlxuICAuYnV0dG9uIHsgZGlzcGxheTogYmxvY2s7IH1cbn1cblxuLnByb21vLXRlYXNlcl9faWNvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuIiwiLnByb3BlcnR5LXRlYXNlci0tc21hbGwuZXhhbXBsZS11bml0IHtcbiAgQGluY2x1ZGUgcHJvcGVydHktdGVhc2VyLWluZm9ib3gtaW5uZXItbGF5b3V0KCk7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNDBweDtcblxuICBoMyB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMygpO1xuICB9XG5cbiAgLnByaWNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICB9XG5cbiAgLmtleS1maWd1cmVzIGxpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIHNwYW4ubGFiZWwsXG4gIHNwYW4udmFsdWUge1xuICAgIEBpbmNsdWRlIGZzLWV4YW1wbGUtdW5pdCgpO1xuICB9XG5cbiAgc3Bhbi52YWx1ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY3VycmVuY3ktc3dpdGNoZXIge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAucHVzaC1vcGVuIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAubWVkaWEtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuaW5mb2JveCB7XG4gICAgaGVpZ2h0OiAyMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgfVxufSIsIi5sLWNvbnRlbnQgLnZpZXctZ2wtemJsLXByb3BlcnRpZXMtYmxvY2sgLnZpZXctY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMDtcbiAgLm1vZGFsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAudmlld3Mtcm93IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSAgICAgICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tb25lLWNvbCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi52aWV3LnZpZXctZ2wtemJsLXByb3BlcnRpZXMtYmxvY2sge1xuICAubWVkaWEtd3JhcHBlciAudmlld3MtZmllbGQucHJpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICB6LWluZGV4OiAxMTtcbiAgfVxuICAudmlld3Mtcm93OmhvdmVyIHtcbiAgICAubm9kZTpub3QoLnByb3BlcnR5LXRlYXNlci0tNGNvbCkge1xuICAgICAgLmluZm9ib3ggYSB7IGNvbG9yOiAkYnJpZ2h0LXJlZDsgfVxuICAgIH1cbiAgfVxufVxuLnBhbmVsLXBhbmVbY2xhc3MqPVwicGFuZS1nbC16YmwtcHJvcGVydGllcy1ibG9jay1wYW5lXCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNodXR0bGUtZ3JheTtcblxuICAudmlldy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICB9XG4gIH1cblxuICAucHJvcGVydHktdGVhc2Vycy0tNGNvbCAudmlldy1jb250ZW50IHsgQGluY2x1ZGUgZ3JpZC13cmFwcGVyLTRjb2woKTsgfVxuXG4gIC5wcm9wZXJ0eS10ZWFzZXItLXNtYWxsLCAudmlld3Mtcm93IHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4gIC5sLWNvbnRlbnQgJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC52aWV3LWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMigpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaHV0dGxlLWdyYXk7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgfVxuICB9XG59XG4udmlldy1nbC16YmwtcHJvcGVydGllcy1ibG9jay52aWV3LWRpc3BsYXktaWQtcGFuZV9maCB7XG4gIC52aWV3cy1maWVsZC52aWV3cy1maWVsZC1maWVsZC16YmwtcHJvcGVydHktcHJpY2UucHJpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn0iLCIudmlldy1pZC16YmxfbmV3cyAudmlldy1maWx0ZXJzLFxuLnZpZXctaWQtemJsX25ld3MgLnZpZXctZW1wdHksXG4udmlldy1pZC16YmxfYmxvZyAudmlldy1maWx0ZXJzLFxuLnZpZXctaWQtemJsX2Jsb2cgLnZpZXctZW1wdHksXG4udmlldy1nbC1uZXdzLWJsb2dzIC52aWV3LWVtcHR5LFxuLnZpZXctZ2wtbmV3cy1ibG9ncyAudmlldy1maWx0ZXJzIHtcbiAgQGluY2x1ZGUgb3V0ZXItZ3JpZC13cmFwcGVyKCk7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNHJlbTtcbiAgfVxuICAudmlld3Mtd2lkZ2V0IC5mb3JtLXR5cGUtdGV4dGZpZWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmZvcm0tdHlwZS1iZWYtbGluayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIC5jb250YWluZXItaW5saW5lLWRhdGUge1xuICAgIC5mb3JtLWl0ZW0sXG4gICAgLmRhdGUtcGFkZGluZyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIC8vbWFyZ2luLXRvcDogNDBweDtcbn1cblxuI2VkaXQtYy13cmFwcGVyLnZpZXdzLWV4cG9zZWQtd2lkZ2V0LnZpZXdzLXdpZGdldC1maWx0ZXItZmllbGRfemJsX3NfZGF0ZV9kdF92YWx1ZSxcbi5mb3JtLWl0ZW0uZm9ybS10eXBlLXNlbGVjdC5mb3JtLWl0ZW0tYyB7XG5cdG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi8vIE91dGVyIGxheW91dFxuXG4vLyBJbm5lciBsYXlvdXRcbi5jdG9vbHMtYXV0by1zdWJtaXQtZnVsbC1mb3JtIHtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2FsbGVyeTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgLy8gUmVzZXRcbiAgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyB7IG1hcmdpbjogMDsgfVxuICAudmlld3MtZXhwb3NlZC1mb3JtIC52aWV3cy1leHBvc2VkLXdpZGdldCB7IHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0ID4gbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gIC52aWV3cy1leHBvc2VkLWZvcm0gbGFiZWwgeyBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG5cbiAgLy8gSW5uZXIgbGF5b3V0XG4gIC52aWV3cy1leHBvc2VkLXdpZGdldHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIC52aWV3cy1leHBvc2VkLXdpZGdldCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICAgIC52aWV3cy13aWRnZXQgPiAuZm9ybS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAuc2VsZWN0cmljIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gQ2F0ZWdvcmllcyAmIFllYXJzXG4gIC8vLnZpZXdzLXdpZGdldC1maWx0ZXItZmllbGRfemJsX2Jsb2dfY2F0ZWdvcnlfdGlkLFxuICAvLy52aWV3cy13aWRnZXQtZmlsdGVyLWZpZWxkX3pibF9zX2RhdGVfZHRfdmFsdWUge1xuICAvLyAgcGFkZGluZy10b3A6IDIwcHg7XG4gIC8vICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cblx0LmZvcm0tdHlwZS1iZWYtbGluayxcblx0LmZvcm0tdHlwZS1yYWRpbyxcblx0LmZvcm0tdHlwZS1zZWxlY3Qge1xuXHQgIGZsb2F0OiBsZWZ0O1xuXHQgIGxhYmVsLFxuXHQgIGEge1xuXHRcdCAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgXG5cdCAgICBwYWRkaW5nOiAwO1xuXHQgICAgcGFkZGluZy10b3A6IDEycHg7XG5cdCAgICBtYXJnaW4tbGVmdDogMjBweDtcblx0ICAgIG1hcmdpbi1yaWdodDogMjBweDtcblx0ICAgIGN1cnNvcjogcG9pbnRlcjtcblx0ICAgIGJvcmRlcjogMDtcblx0ICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ICAgIGNvbG9yOiAkdGV4dC1jb2xvci00O1xuXHQgICAgJjo6YmVmb3JlIHtcblx0ICAgICAgZGlzcGxheTogbm9uZVxuXHQgICAgfVxuXHQgICAgJjpob3ZlciB7XG5cdCAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci0zO1xuXHQgICAgfVxuXHQgIH1cblx0XG5cdCAgaW5wdXRbY2hlY2tlZD1jaGVja2VkXSArIGxhYmVsIHtcblx0ICAgIGNvbG9yOiAkdGV4dC1jb2xvci0zO1xuXHQgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLTM7XG5cdCAgfVxuXHR9XG4gIC8vfVxuICAudmlld3Mtd2lkZ2V0LWZpbHRlci1maWVsZF96YmxfYmxvZ19jYXRlZ29yeV90aWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIFNlYXJjaFxuICAudmlld3Mtd2lkZ2V0LWZpbHRlci1jb21iaW5lIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXR5cGUtdGV4dGZpZWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyLjRyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNHJlbTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGljb24oJ2xpbmVhcicsICdzaGFycG5vc2VfbGluZWFyX2N1c3RvbV8wOScsIGFmdGVyKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogNDZweDtcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgIGNvbG9yOiAkZWxlbWVudC1jb2xvci00O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBUaHJvYmJlciBwb3NpdGlvblxuICAudmlld3Mtc3VibWl0LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTlweDtcbiAgICByaWdodDogMjlweDtcbiAgfVxuICAvLyBUaHJvYmJlciBpbWFnZVxuICAvLyBUb2RvOiBDaGFuZ2UgVGhyb2JiZXIgSW1hZ2UgYW5kIGRpc3BsYXlcbiAgLmFqYXgtcHJvZ3Jlc3MgLnRocm9iYmVyIHtcbiAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1NHB4O1xuICAgIGhlaWdodDogNTVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9hamF4LWxvYWRlci5naWYnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgfVxuICAuZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnZpZXctZ2wtemJsLXByb3BlcnRpZXMtc2VhcmNoIHtcbiAgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyB7XG4gICAgLmZvcm0tc3VibWl0LnByb2dyZXNzLWRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmFqYXgtcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC50aHJvYmJlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9wcm9ncmVzc19iYXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWVzc2FnZSBpZiBubyBlbnRyaWVzIHdlcmUgZm91bmRcbi52aWV3LXpibC1uZXdzIC52aWV3LWVtcHR5ID4gcCB7XG4gIEBpbmNsdWRlIGd1dHRlci1wYWQoMiwgMik7XG4gIEBpbmNsdWRlIGZzLWhlYWRsaW5lLTMoKTtcbn1cblxuLnNlYXJjaC0ta2V5d29yZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHllbGxvdztcbn1cblxuXG5cbi8vIC5maWx0ZXJzIHtcbi8vICAgJi5sb2FkaW5nIHtcbi8vICAgICArIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuLy8gICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIC5maWx0ZXJzLnNob3dcbi8vIH1cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBOZXdzIFRlYXNlclxubmFtZTogX25ld3MtdGVhc2VyLnNjc3NcbmNhdGVnb3J5OiBBbmRlcmUgVGVhc2VyXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwibmV3cy10ZWFzZXItbGlzdC13cmFwcGVyIGwtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwibC1pbmRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibmV3cy10ZWFzZXJcIj5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiaGVhZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPkF1Z3VzdCA3LCAyMDE0PC9kaXY+XG4gICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctLXNlY3Rpb25cIj5IMiBIZWFkbGluZSBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyPC9oMj5cbiAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJtZWRpYVwiPlxuICAgICAgICA8aW1nIGFsdD1cImJhY29uXCIgdGl0bGU9XCJiYWNvbiFcIiBzcmM9XCJkZW1vLWltYWdlcy9iYWNvbi5qcGdcIiAvPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRleHQgcmljaHRleHRcIj5cbiAgICAgICAgPHA+XG4gICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQuIEFlbmVhbiBjb21tb2RvIGxpZ3VsYSBlZ2V0IGRvbG9yLiBBZW5lYW4gbWFzc2EuXG4gICAgICAgICAgQ3VtIHNvY2lpcyBuYXRvcXVlIHBlbmF0aWJ1cyBldCBtYWduaXMgZGlzIHBhcnR1cmllbnQgbW9udGVzLCBuYXNjZXR1ciByaWRpY3VsdXMgbXVzLiBEb25lYyBxdWFtIGZlbGlzLFxuICAgICAgICAgIHVsdHJpY2llcyBuZWMsIHBlbGxlbnRlc3F1ZSBldSwgcHJldGl1bSBxdWlzLCBzZW0uXG4gICAgICAgICAgTnVsbGEgY29uc2VxdWF0IG1hc3NhIHF1aXMgZW5pbS4gRG9uZWMgcGVkZSBqdXN0bywgZnJpbmdpbGxhIHZlbCwgYWxpcXVldCBuZWMsIHZ1bHB1dGF0ZSBlZ2V0LCBhcmN1LiBJbiBlbmltXG4gICAgICAgICAganVzdG8sIHJob25jdXMgdXQsIGltcGVyZGlldCBhLCB2ZW5lbmF0aXMgdml0YWUsIGp1c3RvLlxuICAgICAgICAgIE51bGxhbSBkaWN0dW0gZmVsaXMgZXUgcGVkZSBtb2xsaXMgcHJldGl1bS4gSW50ZWdlciB0aW5jaWR1bnQuIENyYXMgZGFwaWJ1cy4gVml2YW11cyBlbGVtZW50dW0gc2VtcGVyIG5pc2kuXG4gICAgICAgICAgQWVuZWFuIHZ1bHB1dGF0ZSBlbGVpZmVuZCB0ZWxsdXMuXG4gICAgICAgICAgQWVuZWFuIGxlbyBsaWd1bGEsIHBvcnR0aXRvciBldSwgY29uc2VxdWF0IHZpdGFlLCBlbGVpZmVuZCBhYywgZW5pbS4gQWxpcXVhbSBsb3JlbSBhbnRlLCBkYXBpYnVzIGluLCB2aXZlcnJhXG4gICAgICAgICAgcXVpcywgZmV1Z2lhdCBhLCB0ZWxsdXMuIFBoYXNlbGx1cyB2aXZlcnJhIG51bGxhIHV0IG1ldHVzIHZhcml1cyBsYW9yZWV0LlxuICAgICAgICAgIFF1aXNxdWUgcnV0cnVtLiBBZW5lYW4gaW1wZXJkaWV0LiBFdGlhbSB1bHRyaWNpZXMgbmlzaSB2ZWwgYXVndWUuIEN1cmFiaXR1ciB1bGxhbWNvcnBlciB1bHRyaWNpZXMgbmlzaS5cbiAgICAgICAgICBOYW0gZWdldCBkdWkuIEV0aWFtIHJob25jdXMuXG4gICAgICAgICAgTWFlY2VuYXMgbmVjIG9kaW8gZXQgYW50ZSB0aW5jaWR1bnQgdGVtcHVzLiBEb25lYyB2aXRhZSBzYXBpZW4gdXQgbGliZXJvIHZlbmVuYXRpcyBmYXVjaWJ1cy4gTnVsbGFtIHF1aXMgYW50ZS5cbiAgICAgICAgICBFdGlhbSBzaXQgYW1ldCBvcmNpIGVnZXQgZXJvcyBmYXVjaWJ1cyB0aW5jaWR1bnQuIER1aXMgbGVvLiBTZWQgZnJpbmdpbGxhIG1hdXJpcyBzaXQgYW1ldCBuaWJoLiBEb25lYyBzb2RhbGVzXG4gICAgICAgICAgc2FnaXR0aXMgbWFnbmEuIFNlZCBjb25zZXF1YXQsIGxlbyBlZ2V0IGJpYmVuZHVtIHNvZGFsZXMsIGF1Z3VlIHZlbGl0IGN1cnN1cyBudW5jLFxuICAgICAgICA8L3A+XG4gICAgICAgIDxhIGhyZWY9XCIjXCIgdGl0bGU9XCJSZWFkIG1vcmVcIiBjbGFzcz1cInJlYWQtbW9yZSBidXR0b24gYnV0dG9uLS1zbWFsbCBidXR0b24tc2NoZW1lLS1yZWRcIj5SZWFkIG1vcmUuLi48L2E+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzb2NpYWxcIj5zb2NpYWwgc3R1ZmY8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cblxuJGN1c3RvbS1icC1vbmUtY29sOiAwIDY2OXB4O1xuJGN1c3RvbS1icC10d28tY29sOiA2NzBweCA3NjdweDtcbiRjdXN0b20tYnAtZnJvbS10d28tY29sOiA2NzBweDtcblxuQG1peGluIG5ld3MtdGVhc2VyLW91dGVyLWxheW91dCgpIHtcbiAgbWluLWhlaWdodDogMzIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmwtaW5kZW50IHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjdXN0b20tYnAtb25lLWNvbCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICB9XG5cbiAgfVxuICAubWVkaWEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGN1c3RvbS1icC10d28tY29sKSB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICAgeyBAaW5jbHVkZSBmbG9hdC1zcGFuKDQpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgIHsgQGluY2x1ZGUgZmxvYXQtc3Bhbig0LCAkZ3JpZDogMTIpOyB9XG4gICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuY29udGVudC13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjdXN0b20tYnAtdHdvLWNvbCkgeyBAaW5jbHVkZSBmbG9hdC1zcGFuKDQsICdvbWVnYScsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGhyZWUtY29sKSAgICAgIHsgQGluY2x1ZGUgZmxvYXQtc3Bhbig4LCAnb21lZ2EnLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oOCwgJ29tZWdhJywgJGdyaWQ6IDEyLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICB9XG59XG5cblxuQG1peGluIG5ld3MtdGVhc2VyLWlubmVyLWxheW91dCgpIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgLm1lZGlhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5tZWRpYSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmhlYWQsXG4gIC50ZXh0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjdXN0b20tYnAtZnJvbS10d28tY29sKSB7IEBpbmNsdWRlIGd1dHRlci1wYWQoMywgMyk7IH1cbiAgfVxuICAuYWRkaXRpb25hbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY3VzdG9tLWJwLW9uZS1jb2wpIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIH1cbn1cblxuXG5AbWl4aW4gbmV3cy10ZWFzZXItdmFsaWduKCkge1xuICAmIHsgXG4gICAgcGFkZGluZzogMi40cmVtIDIuNHJlbSAyLjRyZW0gNC44cmVtOyBcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGN1c3RvbS1icC1vbmUtY29sKSB7IFxuICAgICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XG4gICAgfVxuICB9XG4gICYgKyAmIHsgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4gIC5yZWFkLW1vcmUgeyBcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAuc29jaWFsICAgICAgIHsgbWFyZ2luLXRvcDogNDBweDsgfVxuICAudGV4dCAgICAgICAgIHsgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGN1c3RvbS1icC1vbmUtY29sKSB7XG4gICAgLm1lZGlhICAgICAgICB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgfVxufVxuXG5cbi5uZXdzLXRlYXNlciB7XG4gIEBpbmNsdWRlIG5ld3MtdGVhc2VyLW91dGVyLWxheW91dCgpO1xuICBAaW5jbHVkZSBuZXdzLXRlYXNlci1pbm5lci1sYXlvdXQoKTtcbiAgQGluY2x1ZGUgbmV3cy10ZWFzZXItdmFsaWduKCk7XG5cbiAgLm5ld3MtdGVhc2VyLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgfVxufVxuXG5cbi5sLWNvbnRlbnQgLnZpZXctZGlzcGxheS1pZC1wYW5lX25ld3NfdGVhc2VyX2xhcmdlIHtcbiAgLy8gbWFyZ2luLXRvcCBpcyBoYW5kbGVkIGJ5IHRoZSB2aWV3cy1maWx0ZXJcbiAgLy9tYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4ubm9kZS10eXBlLXpibC1uZXdzIHtcblx0LmRhdGUtZGlzcGxheS1zaW5nbGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59IiwiQG1peGluIGJsb2ctdGVhc2VyLWxheW91dCgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubWVkaWEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tb25lLWNvbCkgeyBcbiAgICAgIEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRjbGVhcjogYm90aCk7XG5cbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHsgZmxvYXQ6IG5vbmU7IH1cbiAgfVxuXG4gIC5ibG9nLXRlYXNlci1pbWFnZSAuc2xpZGVyLWltYWdlIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDQ2JTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG5cbiAgLnRleHQsIC5ibG9nLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAvKi50ZXh0LWlubmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdHdvLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig4LCAxLCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oOCwgMywgJGd1dHRlcjogJGd1dHRlci0tdGV4dCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDUsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpOyB9XG4gIH0qL1xuXG4gLyogLnJlYWQtbW9yZSB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tb25lLWNvbCkgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDMuMjUsIDEuMzcyNSwgJGNsZWFyOiBib3RoKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdHdvLWNvbCkgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDMuMjUsIDMuMzcyNSwgJGNsZWFyOiBib3RoKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDMuMjUsIDUuMzcyNSwgJGNsZWFyOiBib3RoKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDMuMjUsIDcuMzcyNSwgJGNsZWFyOiBib3RoKTsgfVxuICB9Ki9cbn1cblxuXG5AbWl4aW4gYmxvZy10ZWFzZXItdmFsaWduKCkge1xuICAmICsgJiB7IG1hcmdpbi10b3A6IDQwcHg7IH1cblxuICAuaGVhZGluZy0tY29udGVudC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7IFxuICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgLmhlYWRpbmctLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtO1xuXG4gICAgICAgIC5zcGFjZS1jYXBpdGFsLWludmVzdG1lbnRzICYge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgICAgICAuc3BhY2UtZmluZXN0LWhvbWVzICYge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkaW5nLS1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLnJlYWQtbW9yZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhIHtcblx0ICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ICAgIGJvcmRlci1ib3R0b206IDA7XG5cdCAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHQgICAgJjpob3ZlciB7XG5cdFx0ICAgIGNvbG9yOiB3aGl0ZTtcblx0ICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2ctY29udGVudC13cmFwcGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkgeyBcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4uYmxvZy1sZWZ0IHtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHsgXG5cdFx0ICBmbG9hdDogbGVmdDtcblx0XHRcdEBpbmNsdWRlIGNhbGMod2lkdGgsIFwiMTAwJSAtIDMwMHB4XCIpOyBcblx0XHR9XG59XG5cbi5ibG9nLXJpZ2h0IHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHsgXG5cdCAgZmxvYXQ6IHJpZ2h0O1xuXHRcdHdpZHRoOiAzMDBweDsgXG5cdH1cbn1cblxuLmJsb2ctbGVmdC1pbm5lcixcbi5ibG9nLXJpZ2h0LWlubmVyIHtcblx0cGFkZGluZzogNDBweCA2JTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7IFxuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbn1cblxuLmJsb2ctY2F0ZWdvcnkge1xuXHRjb2xvcjogJHBlcnNpYW4tcmVkO1xufVxuXG4uYmxvZy10ZWFzZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAvLyBJZiB3ZSBkb250IGhhdmUgYW4gaW1hZ2UsIHdlIHdhbnQgdGhlIGJsb2cgY2F0ZWdvcnkgdG8gZGlzcGxheSBjb3JyZWN0bHlcbiAgLmJsb2ctdGVhc2VyLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG4gIC5tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICBoMiB7XG5cdCAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgfVxuICBcbiAgaDIgYSB7XG5cdCAgY29sb3I6IHdoaXRlO1xuXHQgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5oZWFkaW5nLS1jb250ZW50IHtcblx0ICBtYXgtd2lkdGg6IDcwJTtcblx0ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogN3B4IDA7XG4gICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQnLCByZ2JhKDAsIDAsIDAsIC43KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCByZ2JhKDAsIDAsIDAsIDAuOCkpO1xuICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdib3gtc2hhZG93JyxcbiAgICAgICAgICAgICAgICAgICAgKDEuMnJlbSAwIDAgcmdiYSgwLCAwLCAwLCAuNyksIC0xLjJyZW0gMCAwIHJnYmEoMCwgMCwgMCwgLjcpKSxcbiAgICAgICAgICAgICAgICAgICAgKDEuMnJlbSAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCAtMS4ycmVtIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkpLFxuICAgICAgICAgICAgICAgICAgICAoMS4ycmVtIDAgMCByZ2JhKDAsIDAsIDAsIDAuOCksIC0xLjJyZW0gMCAwIHJnYmEoMCwgMCwgMCwgMC44KSlcbiAgICApO1xuICAgIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCB3aGl0ZSk7XG4gIH1cblxuICAubWVkaWEge1xuICAgIC5ibG9nLXRlYXNlci1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWluLWhlaWdodDogMTc1cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIC8vb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7XG4gICAgICAuYmxvZy10ZWFzZXItaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgfSBcbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5OXB4O1xuICAgICAgICBib3R0b206IC05OTk5cHg7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIHJpZ2h0OiAtOTk5OXB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcblxuICBAaW5jbHVkZSBibG9nLXRlYXNlci1sYXlvdXQoKTtcbiAgQGluY2x1ZGUgYmxvZy10ZWFzZXItdmFsaWduKCk7XG59IiwiLypkb2Ncbi0tLVxudGl0bGU6IEF3YXJkcyBUZWFzZXJcbm5hbWU6IF9hd2FyZHMtdGVhc2VyLnNjc3NcbmNhdGVnb3J5OiBBbmRlcmUgVGVhc2VyXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwiXCI+RWlubGVpdHVuZ3NibG9jayBhbmFsb2cgenUgVGV4dC1IZWFkaW5nLUxheW91dCA8L2Rpdj5cblxuPGRpdiBjbGFzcz1cImF3YXJkcy10ZWFzZXItbGlzdC13cmFwcGVyIGwtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiYXdhcmRzLXRlYXNlclwiPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwieWVhci1hbmQtbWVkaWFcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ5ZWFyXCI+XG4gICAgICAgIDIwMTRcbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibWVkaWFcIj5cbiAgICAgICAgPGltZyBhbHQ9XCJhd2FyZFwiIHRpdGxlPVwiYXdhcmQhXCIgc3JjPVwiZGVtby1pbWFnZXMvYXdhcmQucG5nXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxzZWN0aW9uIGNsYXNzPVwidGV4dCByaWNodGV4dFwiPlxuICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy0tc2VjdGlvblwiPkgyIEhlYWRsaW5lIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHI8L2gyPlxuICAgICAgPHA+XG4gICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LiBBZW5lYW4gY29tbW9kbyBsaWd1bGEgZWdldCBkb2xvci4gQWVuZWFuIG1hc3NhLlxuICAgICAgICBDdW0gc29jaWlzIG5hdG9xdWUgcGVuYXRpYnVzIGV0IG1hZ25pcyBkaXMgcGFydHVyaWVudCBtb250ZXMsIG5hc2NldHVyIHJpZGljdWx1cyBtdXMuIERvbmVjIHF1YW0gZmVsaXMsXG4gICAgICAgIHVsdHJpY2llcyBuZWMsIHBlbGxlbnRlc3F1ZSBldSwgcHJldGl1bSBxdWlzLCBzZW0uXG4gICAgICAgIE51bGxhIGNvbnNlcXVhdCBtYXNzYSBxdWlzIGVuaW0uIERvbmVjIHBlZGUganVzdG8sIGZyaW5naWxsYSB2ZWwsIGFsaXF1ZXQgbmVjLCB2dWxwdXRhdGUgZWdldCwgYXJjdS4gSW4gZW5pbVxuICAgICAgICBqdXN0bywgcmhvbmN1cyB1dCwgaW1wZXJkaWV0IGEsIHZlbmVuYXRpcyB2aXRhZSwganVzdG8uXG4gICAgICAgIE51bGxhbSBkaWN0dW0gZmVsaXMgZXUgcGVkZSBtb2xsaXMgcHJldGl1bS4gSW50ZWdlciB0aW5jaWR1bnQuIENyYXMgZGFwaWJ1cy4gVml2YW11cyBlbGVtZW50dW0gc2VtcGVyIG5pc2kuXG4gICAgICAgIEFlbmVhbiB2dWxwdXRhdGUgZWxlaWZlbmQgdGVsbHVzLlxuICAgICAgICBBZW5lYW4gbGVvIGxpZ3VsYSwgcG9ydHRpdG9yIGV1LCBjb25zZXF1YXQgdml0YWUsIGVsZWlmZW5kIGFjLCBlbmltLiBBbGlxdWFtIGxvcmVtIGFudGUsIGRhcGlidXMgaW4sIHZpdmVycmFcbiAgICAgICAgcXVpcywgZmV1Z2lhdCBhLCB0ZWxsdXMuIFBoYXNlbGx1cyB2aXZlcnJhIG51bGxhIHV0IG1ldHVzIHZhcml1cyBsYW9yZWV0LlxuICAgICAgICBRdWlzcXVlIHJ1dHJ1bS4gQWVuZWFuIGltcGVyZGlldC4gRXRpYW0gdWx0cmljaWVzIG5pc2kgdmVsIGF1Z3VlLiBDdXJhYml0dXIgdWxsYW1jb3JwZXIgdWx0cmljaWVzIG5pc2kuXG4gICAgICAgIE5hbSBlZ2V0IGR1aS4gRXRpYW0gcmhvbmN1cy5cbiAgICAgICAgTWFlY2VuYXMgbmVjIG9kaW8gZXQgYW50ZSB0aW5jaWR1bnQgdGVtcHVzLiBEb25lYyB2aXRhZSBzYXBpZW4gdXQgbGliZXJvIHZlbmVuYXRpcyBmYXVjaWJ1cy4gTnVsbGFtIHF1aXMgYW50ZS5cbiAgICAgICAgRXRpYW0gc2l0IGFtZXQgb3JjaSBlZ2V0IGVyb3MgZmF1Y2lidXMgdGluY2lkdW50LiBEdWlzIGxlby4gU2VkIGZyaW5naWxsYSBtYXVyaXMgc2l0IGFtZXQgbmliaC4gRG9uZWMgc29kYWxlc1xuICAgICAgICBzYWdpdHRpcyBtYWduYS4gU2VkIGNvbnNlcXVhdCwgbGVvIGVnZXQgYmliZW5kdW0gc29kYWxlcywgYXVndWUgdmVsaXQgY3Vyc3VzIG51bmMsXG4gICAgICA8L3A+XG4gICAgICA8YSBocmVmPVwiI1wiIHRpdGxlPVwiUmVhZCBtb3JlXCIgY2xhc3M9XCJyZWFkLW1vcmUgYnV0dG9uIGJ1dHRvbi0tc21hbGwgYnV0dG9uLXNjaGVtZS0tcmVkXCI+VmlldyBQcmVzcyBSZWxlYXNlPC9hPlxuICAgIDwvc2VjdGlvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cblxuQG1peGluIGF3YXJkcy10ZWFzZXItb3V0ZXItbGF5b3V0KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuYXdhcmRzLXRlYXNlci1pbm5lciB7IEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpOyB9XG5cbiAgLnllYXItYW5kLW1lZGlhIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRndXR0ZXI6IDApOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdHdvLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3BhbigyLCAxLCAkZ3V0dGVyOiAwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNCwgMSwgJGd1dHRlcjogMCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDYsIDEsICRndXR0ZXI6IDApOyB9XG4gIH1cblxuICAudGV4dCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxLCAkZ3V0dGVyOiAwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXR3by1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNiwgMywgJGd1dHRlcjogMCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDUsICRndXR0ZXI6IDApOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig4LCA3LCAkZ3V0dGVyOiAwKTsgfVxuICB9XG5cbiAgLnllYXIgIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLW9uZS1jb2wpICAgeyBAaW5jbHVkZSBmbG9hdC1zcGFuKDQpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10d28tY29sKSAgIHsgQGluY2x1ZGUgZmxvYXQtc3Bhbig0LCAkZ3JpZDogNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkgeyBAaW5jbHVkZSBmbG9hdC1zcGFuKDQsICRncmlkOiA0KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oMiwgJGdyaWQ6IDYpOyB9XG4gIH1cblxuICAubWVkaWEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tb25lLWNvbCkgICB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXR3by1jb2wpICAgeyBAaW5jbHVkZSBmbG9hdC1zcGFuKDQsICRncmlkOiA0KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7IEBpbmNsdWRlIGZsb2F0LXNwYW4oNCwgJGdyaWQ6IDQpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgIHsgQGluY2x1ZGUgZmxvYXQtc3Bhbig0LCAkZ3JpZDogNik7IH1cbiAgfVxufVxuXG5cbkBtaXhpbiBhd2FyZHMtdGVhc2VyLWlubmVyLWxheW91dCB7XG4gIC5tZWRpYSAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGlhIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAudGV4dCAgICAgIHsgQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAzKTsgfVxufVxuXG5cbkBtaXhpbiBhd2FyZHMtdGVhc2VyLXZhbGlnbigpIHtcbiAgcGFkZGluZy10b3A6ICRzZWN0aW9uLW1hcmdpbi1tZWRpdW07XG4gIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tbWVkaXVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG5cbiAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHtcbiAgICAudGV4dCAgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10aHJlZS1jb2wpIHtcbiAgICAubWVkaWEgeyBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIH1cblxuICAucmVhZC1tb3JlIHsgbWFyZ2luLXRvcDogNDBweDsgfVxufVxuXG5cbkBtaXhpbiBhd2FyZHMtdGVhc2VyLXR5cG8ge1xuICAueWVhciB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMSgpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHggNjQwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgbm90IG9wdGltYWwuLi5cbiAgLnRleHQgPiAqIHsgY29sb3I6IHdoaXRlOyB9XG59XG5cbi5zZWN0aW9uLWF3YXJkcyB7XG4gIC5ub2RlLnZpZXctbW9kZS1mdWxsIC5zZWN0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufSBcbi5hd2FyZHMtdGVhc2VyIHtcbiAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCAkYmctY29sb3ItMywgJGJnLWNvbG9yLTEsICRiZy1jb2xvci01ICk7XG4gIEBpbmNsdWRlIGF3YXJkcy10ZWFzZXItb3V0ZXItbGF5b3V0KCk7XG4gIEBpbmNsdWRlIGF3YXJkcy10ZWFzZXItaW5uZXItbGF5b3V0KCk7XG4gIEBpbmNsdWRlIGF3YXJkcy10ZWFzZXItdmFsaWduKCk7XG4gIEBpbmNsdWRlIGF3YXJkcy10ZWFzZXItdHlwbygpO1xufVxuIiwiLypkb2Ncbi0tLVxudGl0bGU6IEFmZmlsaWF0aW9ucyBUZWFzZXJcbm5hbWU6IF9hd2ZmaWxpYXRpb25zLXRlYXNlci5zY3NzXG5jYXRlZ29yeTogQW5kZXJlIFRlYXNlclxuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cIlwiPkVpbmxlaXR1bmdzYmxvY2sgYW5hbG9nIHp1IFRleHQtSGVhZGluZy1MYXlvdXQgPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJhZmZpbGlhdGlvbnMtdGVhc2VyLWxpc3Qtd3JhcHBlciBsLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImFmZmlsaWF0aW9ucy10ZWFzZXJcIj5cblxuICAgIDxzZWN0aW9uIGNsYXNzPVwibWVkaWFcIj5cbiAgICAgIDxpbWcgYWx0PVwiYXdhcmRcIiB0aXRsZT1cImF3YXJkIVwiIHNyYz1cImRlbW8taW1hZ2VzL2F3YXJkLnBuZ1wiIC8+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJ0ZXh0IHJpY2h0ZXh0XCI+XG4gICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLS1zZWN0aW9uXCI+SDIgSGVhZGxpbmUgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0cjwvaDI+XG4gICAgICA8cD5cbiAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQuIEFlbmVhbiBjb21tb2RvIGxpZ3VsYSBlZ2V0IGRvbG9yLiBBZW5lYW4gbWFzc2EuXG4gICAgICAgIEN1bSBzb2NpaXMgbmF0b3F1ZSBwZW5hdGlidXMgZXQgbWFnbmlzIGRpcyBwYXJ0dXJpZW50IG1vbnRlcywgbmFzY2V0dXIgcmlkaWN1bHVzIG11cy4gRG9uZWMgcXVhbSBmZWxpcyxcbiAgICAgICAgdWx0cmljaWVzIG5lYywgcGVsbGVudGVzcXVlIGV1LCBwcmV0aXVtIHF1aXMsIHNlbS5cbiAgICAgICAgTnVsbGEgY29uc2VxdWF0IG1hc3NhIHF1aXMgZW5pbS4gRG9uZWMgcGVkZSBqdXN0bywgZnJpbmdpbGxhIHZlbCwgYWxpcXVldCBuZWMsIHZ1bHB1dGF0ZSBlZ2V0LCBhcmN1LiBJbiBlbmltXG4gICAgICAgIGp1c3RvLCByaG9uY3VzIHV0LCBpbXBlcmRpZXQgYSwgdmVuZW5hdGlzIHZpdGFlLCBqdXN0by5cbiAgICAgICAgTnVsbGFtIGRpY3R1bSBmZWxpcyBldSBwZWRlIG1vbGxpcyBwcmV0aXVtLiBJbnRlZ2VyIHRpbmNpZHVudC4gQ3JhcyBkYXBpYnVzLiBWaXZhbXVzIGVsZW1lbnR1bSBzZW1wZXIgbmlzaS5cbiAgICAgICAgQWVuZWFuIHZ1bHB1dGF0ZSBlbGVpZmVuZCB0ZWxsdXMuXG4gICAgICAgIEFlbmVhbiBsZW8gbGlndWxhLCBwb3J0dGl0b3IgZXUsIGNvbnNlcXVhdCB2aXRhZSwgZWxlaWZlbmQgYWMsIGVuaW0uIEFsaXF1YW0gbG9yZW0gYW50ZSwgZGFwaWJ1cyBpbiwgdml2ZXJyYVxuICAgICAgICBxdWlzLCBmZXVnaWF0IGEsIHRlbGx1cy4gUGhhc2VsbHVzIHZpdmVycmEgbnVsbGEgdXQgbWV0dXMgdmFyaXVzIGxhb3JlZXQuXG4gICAgICAgIFF1aXNxdWUgcnV0cnVtLiBBZW5lYW4gaW1wZXJkaWV0LiBFdGlhbSB1bHRyaWNpZXMgbmlzaSB2ZWwgYXVndWUuIEN1cmFiaXR1ciB1bGxhbWNvcnBlciB1bHRyaWNpZXMgbmlzaS5cbiAgICAgICAgTmFtIGVnZXQgZHVpLiBFdGlhbSByaG9uY3VzLlxuICAgICAgICBNYWVjZW5hcyBuZWMgb2RpbyBldCBhbnRlIHRpbmNpZHVudCB0ZW1wdXMuIERvbmVjIHZpdGFlIHNhcGllbiB1dCBsaWJlcm8gdmVuZW5hdGlzIGZhdWNpYnVzLiBOdWxsYW0gcXVpcyBhbnRlLlxuICAgICAgICBFdGlhbSBzaXQgYW1ldCBvcmNpIGVnZXQgZXJvcyBmYXVjaWJ1cyB0aW5jaWR1bnQuIER1aXMgbGVvLiBTZWQgZnJpbmdpbGxhIG1hdXJpcyBzaXQgYW1ldCBuaWJoLiBEb25lYyBzb2RhbGVzXG4gICAgICAgIHNhZ2l0dGlzIG1hZ25hLiBTZWQgY29uc2VxdWF0LCBsZW8gZWdldCBiaWJlbmR1bSBzb2RhbGVzLCBhdWd1ZSB2ZWxpdCBjdXJzdXMgbnVuYyxcbiAgICAgIDwvcD5cbiAgICA8L3NlY3Rpb24+XG5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cblxuQG1peGluIGFmZmlsaWF0aW9ucy10ZWFzZXItb3V0ZXItbGF5b3V0KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tZWRpYSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXR3by1jb2wpICAgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oMiwgMSk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAzKTsgfVxuICAgIFxuICAgIG1hcmdpbi10b3A6IDAuNDVlbTtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRndXR0ZXI6IDApOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdHdvLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig2LCAzLCAkZ3V0dGVyOiAwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oOCwgNSwgJGd1dHRlcjogMCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDcsICRndXR0ZXI6IDApOyB9XG4gIH1cbn1cblxuXG5AbWl4aW4gYWZmaWxpYXRpb25zLXRlYXNlci1pbm5lci1sYXlvdXQge1xuICAubWVkaWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubWVkaWEgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC50ZXh0IHtcbiAgICBAaW5jbHVkZSBndXR0ZXItcGFkKDMsIDMpO1xuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gYWZmaWxpYXRpb25zLXRlYXNlci12YWxpZ24oKSB7XG4gICYge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1tYXJnaW4tbWVkaXVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tbWVkaXVtO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7XG4gICAgLnRleHQgIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi5sLWNvbnRlbnQgLnZpZXctemJsLWFmZmlsaWF0ZXMge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG5cbi5hZmZpbGlhdGlvbnMtdGVhc2VyIHtcbiAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCAkYmctY29sb3ItMywgJGJnLWNvbG9yLTEsICRiZy1jb2xvci01ICk7XG4gIEBpbmNsdWRlIGFmZmlsaWF0aW9ucy10ZWFzZXItb3V0ZXItbGF5b3V0KCk7XG4gIEBpbmNsdWRlIGFmZmlsaWF0aW9ucy10ZWFzZXItaW5uZXItbGF5b3V0KCk7XG4gIEBpbmNsdWRlIGFmZmlsaWF0aW9ucy10ZWFzZXItdmFsaWduKCk7XG5cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuXG4gICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuICAudGV4dCA+ICogeyBjb2xvcjogd2hpdGU7IH1cbn0iLCIvL1xuLy8gVG9kbzogVGhpcyBzdHlsZXNoZWV0IG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQuXG4vLyBNb3ZlIG1vc3Qgb2YgdGhpcyBzdHVmZiBpbiBhIHBhZ2Utc3R5bGVzaGVldC5cbi8vXG5cbi5odG1sIHtcbiAgLnpibC1oaXN0b3J5LFxuICAudmlldy16YmwtaGlzdG9yeSB7XG4gICAgLnNlY3Rpb24taXRlbSB7XG4gICAgICAuZGVjYWRlLWdyb3VwLFxuICAgICAgLmRzLWRzLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYXJhZ3JhcGhzLWl0ZW0temJsLWhpc3RvcnktbWlsZXN0b25lIHtcblx0XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiAzMnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBcdH1cblxuICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdHdvLWNvbCkge1xuXHQgICAgd2lkdGg6IDUwJTtcblx0ICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHQgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0ICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIFx0fVxufVxuXG5AbWl4aW4gaGlzdG9yeS1sYXlvdXQtb25lLWNvbCgpIHtcblxuICAuaGlzdG9yeS15ZWFyIHtcbiAgICAvL3dpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjZyZW07XG4gICAgcGFkZGluZy1yaWdodDogMy42cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMy42cmVtO1xuICAgICAgcmlnaHQ6IDMuNnJlbTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20taGlzdG9yeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuaGlzdG9yeS1mb290ZXItYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBoaXN0b3J5LWxheW91dC10d28tY29sKCkge1xuICAub2RkIHtcblx0ICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuZXZlbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAvLyBZZWFyIGxhYmVsIGZvciBlYWNoIG1pbGVzdG9uZVxuICAuaGlzdG9yeS15ZWFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY3VzdG9tLWhpc3RvcnktY29sb3I7XG4gIH1cblxuICAub2RkIC5oaXN0b3J5LXllYXIgIHsgQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAwKTsgfVxuICAuZXZlbiAuaGlzdG9yeS15ZWFyIHsgQGluY2x1ZGUgZ3V0dGVyLXBhZCgwLCAzKTsgfVxuXG4gIC5oaXN0b3J5LWZvb3Rlci1ibG9jayB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICBcbiAgICAvLyBUaGlzIGlzIHRoZSBhY3R1YWwgdGltZWxpbmUgcmVwcmVzZW50ZWQgYnkgYSBncmV5aXNoIHN0cmlwZVxuICAuZGVjYWRlLWdyb3VwLFxuICAuZHMtZHMtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRjbGVhcjogYm90aDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLWhpc3RvcnktY29sb3I7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDA7IC8vIHNob3VsZCBiZSBpbiBmcm9udCBvZiAuaGlzdG9yeS15ZWFyOjphZnRlciwgYnV0IGJlaGluZCAuZGVjYWRlLWhlYWRlclxuICAgIH1cblxuICAgIC5wYXJhZ3JhcGhzLWl0ZW1zIHtcblx0ICAgIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuXHQgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gaGlzdG9yeS10eXBvIHtcbiAgLmRlY2FkZS1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZzLWhlYWRsaW5lLTMoKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgd29yZC1zcGFjaW5nOiAxMDBweDsgLy9wYXJlbnQgd2lkdGhcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmhpc3RvcnkteWVhciAge1xuICAgIEBpbmNsdWRlIGZzLWhlYWRsaW5lLTIoKTtcbiAgICBjb2xvcjogJG1vbmdvb3NlO1xuICB9XG59XG5cblxuXG4udmlldy16YmwtaGlzdG9yeSxcbi56YmwtaGlzdG9yeSAge1xuXHQuc2VjdGlvbi1pdGVtIHtcblx0XHRAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cbiAgQGluY2x1ZGUgaGlzdG9yeS10eXBvKCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgIEBpbmNsdWRlIGhpc3RvcnktbGF5b3V0LW9uZS1jb2woKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdHdvLWNvbCkge1xuICAgIEBpbmNsdWRlIGhpc3RvcnktbGF5b3V0LXR3by1jb2woKTtcbiAgfVxuXG5cbiAgLy8gVGhpcyBpcyB0aGUgYWN0dWFsIHRpbWVsaW5lIHJlcHJlc2VudGVkIGJ5IGEgZ3JleWlzaCBzdHJpcGVcbiAgLmRlY2FkZS1ncm91cCxcbiAgLmRzLWRzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIC5wYXJhZ3JhcGhzLWl0ZW1zIHtcblx0ICAgIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuXHQgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuICB9XG5cblxuICAvLyBCb3hlcyByZXByZXNlbnRpbmcgdGhlIHN0YXJ0IG9mIGEgZGVjYWRlXG4gIC5kZWNhZGUtaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgLy8gc2hvdWxkIGJlIGluIGZyb250IG9mIGhpc3RvcnktdGltZWxpbmVcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcblxuICAgIGJhY2tncm91bmQ6ICRlbGVtZW50LWNvbG9yLTY7XG4gIH1cblxuXG4gIC8vIEFjdHVhbCBIaXN0b3J5IEl0ZW1zXG4gIC5oaXN0b3J5LWl0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICBAaW5jbHVkZSBndXR0ZXItcGFkKDMsIDMpO1xuXG4gICAgLm1lZGlhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gbmVlZGVkIGZvciBnYWxsZXJpZXNcbiAgICB9XG5cbiAgICAubWVkaWEgKyAudGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbWFyZ2luOiAwIDJweCAycHg7XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzc3cHg7ICAvLyB0b2RvOiBjb25maXJtIHRoaXMgd29ya3Mgd2l0aCA0OjMgJiAxNjo5IHZpZGVvc1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gRW5kaW5nIGJsb2NrIGF0IHRoZSBib3R0b21cbiAgLmhpc3RvcnktZm9vdGVyLWJsb2NrIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHBhZGRpbmc6IDQwcHggMy42cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZWxlbWVudC1jb2xvci02O1xuICAgIGJvcmRlci1sZWZ0OiAzLjZyZW0gc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXJpZ2h0OiAzLjZyZW0gc29saWQgd2hpdGU7XG5cbiAgICAvLyBUb2RvOiBmaW5kIGEgYmV0dGVyIHdheSBmb3IgcmljaHRleHQgY29sb3JzXG4gICAgJiAqIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuXG4uaGlzdG9yeS1wYWdlLmwtY29udGVudCB7XG4gIC5wYW5lLW5vZGUtZmllbGQtemJsLXMtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudmlldy16YmwtaGlzdG9yeSxcbiAgLnpibC1oaXN0b3J5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59IiwiLmN1cnJlbmN5LXN3aXRjaGVyOm5vdCguZm9vdGVyKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbi1sZWZ0OiA5cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnbWFyZ2luLXJpZ2h0JywgJzlweCcpO1xuICBAaW5jbHVkZSBydGwtc3BlY2lmaWMoJ21hcmdpbi1sZWZ0JywgJzAnKTtcblxuICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9hd2Vzb21lX2FuZ2xlLWRvd24nKTtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY3VycmVuY3ktbWVudSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTFweCAhaW1wb3J0YW50O1xuICAgIHRvcDogLTFweCAhaW1wb3J0YW50O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxuXG4gIC5jdXJyZW5jeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgOXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2lsdmVyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGdhbGxlcnk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogYXR0cih0aXRsZSk7XG4gICAgICBwYWRkaW5nOiAwIDAgMCA3cHg7XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygncGFkZGluZycsICcwIDdweCAwIDAnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGFuZGxlIFJUTCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG5odG1sW2Rpcj1ydGxdIC5jdXJyZW5jeS1zd2l0Y2hlcjpub3QoLmZvb3Rlcikge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA5cHg7XG5cbn1cblxuLmZvb3RlciAuY3VycmVuY3ktc3dpdGNoZXIge1xuICAuY3VycmVuY3ktbWVudSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAuY3VycmVuY3ktaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWJiZXk7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGZsb2F0OiByaWdodDsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWJiZXk7XG4gICAgfVxuICB9XG59IiwiLnZpZXctZGlzcGxheS1pZC1wYW5lX2Jsb2dfdGVhc2VyX2xhcmdlIC5zb2NpYWwge1xuXHRjbGVhcjogYm90aDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnZpZXctZGlzcGxheS1pZC1wYW5lX25ld3NfdGVhc2VyX2xhcmdlIC5zb2NpYWwge1xuXHRjbGVhcjogYm90aDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cbi5ycnNzYi1pdGVtLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgXG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0d2lkdGg6IDQwcHggIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcblx0XHRiYWNrZ3JvdW5kOiAkZWxlbWVudC1jb2xvci0yO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRhY2NlbnQtY29sb3ItMjtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0fVxuXHR9XG5cdC5ycnNzYi10ZXh0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5ycnNzYi1idXR0b25zIGxpIGEgLnJyc3NiLWljb24gc3ZnIHBhdGgsIC5ycnNzYi1idXR0b25zIGxpIGEgLnJyc3NiLWljb24gc3ZnIHBvbHlnb24ge1xuXHRmaWxsOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsIC5pY29ucyB7XG4gIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBcbn1cbi5zb2NpYWwgLmljb24ge1xuICAvLyBXZSB3YW50IDYgZXF1YWxseSBsYXJnZSBib3hlcyB3aXRoIHplcm8gcGFkZGluZy5cbiAgLy8gIC0gcGFkZGluZyBpcyB1c2VkIHRvIHB1c2ggdGhlbSBvcGVuIGluIDE6MSBzY2FsZVxuICAvLyAgLSBiYWNrZ3JvdW5kLWNvbG9yIHdvdWxkIG92ZXJsYXAgdGhlIHBhZGRpbmcsIHRoYXRzIHdoeSB3ZSB1c2UgbWFyZ2luXG4gIC8vICAtIHdlIHdhbnQgbm9uIGNsaWNrYWJsZSBhcmVhcyBiZXR3ZWVuIHRoZSBsaW5rc1xuICBtYXgtd2lkdGg6IDQ1cHg7XG4gIHdpZHRoOiAxNi42NjYlO1xuICBmbGV4OiAxIDEgMTYuNjY2JTtcbiAgLW1zLWZsZXg6IDEgMSAxNi42NjYlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWxlZnQ6ICAwO1xuICBtYXJnaW4tcmlnaHQ6IDUuOCU7XG4gICY6bGFzdC1jaGlsZCAgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAkZWxlbWVudC1jb2xvci0yO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBtYXgtd2lkdGg6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjUlO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjIlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLy8gcmVzZXQgcG9zc2libGUgaG92ZXIgZWZmZWN0IGZyb20gcmljaHRleHRcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRhY2NlbnQtY29sb3ItMjtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICAvL21hcmdpbi10b3A6IC0uOGV4O1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcwcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAkc29jaWFsLWljb25zOiAoJ2ZhY2Vib29rJywgJ3R3aXR0ZXInLCAnZ29vZ2xlLXBsdXMnLCAneW91dHViZScsICdwaW50ZXJlc3QnLCAnbGlua2VkaW4nKTtcbiAgQGVhY2ggJGljb24gaW4gJHNvY2lhbC1pY29ucyB7XG4gICAgJi4jeyRpY29ufSB7XG4gICAgICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9hd2Vzb21lXyN7JGljb259Jyk7XG4gICAgfVxuICB9XG4gICYuaW5zdGFncmFtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaW5zdGFncmFtLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcwcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucnJzc2ItZmFjZWJvb2sge1xuICBhIHtcbiAgICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9hd2Vzb21lX2ZhY2Vib29rJyk7XG4gICAgXG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICB9XG4gIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi8vXG4vLyBEZWZhdWx0cyBmb3IgYWxsIGxhbmd1YWdlLXN3aXRjaGVzIChmcm9udHBhZ2UsIGhlYWRlciBhbmQgZm9vdGVyKVxuLy9cblxuLmxhbmd1YWdlLXN3aXRjaCxcbi5sYW5nX2Ryb3Bkb3duX2Zvcm0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG5cblx0LnNlbGVjdHJpYyB7XG5cdFx0QGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCBibGFjaywgd2hpdGUsIGJsYWNrKTtcblx0XHRAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYm9yZGVyLWNvbG9yJywgJGJnLWNvbG9yLTcsICRlbGVtZW50LWNvbG9yLTQsIHdoaXRlKTtcblx0XHRAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnY29sb3InLCB3aGl0ZSwgJHRleHQtY29sb3ItNCwgd2hpdGUpO1xuXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0d2lkdGg6IDEwMHB4O1xuXHRcdHBhZGRpbmc6IDdweCAxMHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuXHRcdFx0cGFkZGluZzogNXB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgfVxuXHRcdFxuXHRcdC5sYWJlbCB7XG5cdFx0XHRAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnY29sb3InLCB3aGl0ZSwgJHRleHQtY29sb3ItNCwgd2hpdGUpO1xuXG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGNsaXA7XG5cdCAgICB9XG5cdFx0fVxuXHRcdC5zZWxlY3RyaWMtYnV0dG9uIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0d2lkdGg6IDI2cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHQgICAgaGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG5cdFx0XHRcdHdpZHRoOiAxN3B4O1xuXHQgICAgfVxuXHQgICAgJjpiZWZvcmUge1xuXHQgICAgXHRAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnY29sb3InLCB3aGl0ZSwgYmxhY2ssIHdoaXRlKTtcblx0ICAgIH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHQvL0BpbmNsdWRlIGljb24oJ2N1c3RvbScsICdpY29tb29uX2F3ZXNvbWVfYW5nbGUtZG93bicsIGFmdGVyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnNlbGVjdHJpYy1pdGVtcyB7XG5cdFx0QGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JvcmRlci1jb2xvcicsICRiZy1jb2xvci03LCAkZWxlbWVudC1jb2xvci00LCAkYmctY29sb3ItNik7XG5cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdG1hcmdpbi10b3A6IC0xcHg7XG5cdFx0d2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XG5cblx0XHRsaSB7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cblx0XHRcdEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdiYWNrZ3JvdW5kLWNvbG9yJywgYmxhY2ssIHdoaXRlLCAkYmctY29sb3ItNSk7XG5cdFx0XHRAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYm9yZGVyLWNvbG9yJywgJGJnLWNvbG9yLTcsICRlbGVtZW50LWNvbG9yLTQsICRiZy1jb2xvci02KTtcblx0XHRcdEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCB3aGl0ZSk7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdCAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZC1jb2xvcicsICRiZy1jb2xvci03LCAkZWxlbWVudC1jb2xvci04LCAkYmctY29sb3ItNik7XG5cdFx0XHQgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JvcmRlci1jb2xvcicsICRiZy1jb2xvci03LCAkZWxlbWVudC1jb2xvci04LCAkYmctY29sb3ItNik7XG5cdFx0XHQgICAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2NvbG9yJywgd2hpdGUsICR0ZXh0LWNvbG9yLTQsIHdoaXRlKTtcblx0XHRcdH1cblx0XHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdHdpZHRoOiAxN3B4O1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRhYmJleTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgIH1cblx0fVxufVxuLmZyb250LFxuLmVycm9yLXBhZ2Uge1xuXHQubGFuZ3VhZ2Utc3dpdGNoLFxuXHQubGFuZ19kcm9wZG93bl9mb3JtIHtcblx0XHRwYWRkaW5nOiAwIDEuMnJlbTtcblxuXHRcdC5zZWxlY3RyaWMge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cblx0XHRcdC5sYWJlbCB7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGJsYWNrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuc2VsZWN0cmljLWl0ZW1zIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJG1pZG5pZ2h0O1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzAyMzM2Mztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCJcbkBtaXhpbiBlbXBsb3llZS10ZWFzZXItLWlubmVyLWxheW91dCgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbm9uZTtcbiAgXG4gIC5oZWFkaW5nLS1zdWJvcmRpbmF0ZWQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5pbmZvYm94IHtcbiAgICBsZWZ0OiAxLjJyZW07XG4gICAgcmlnaHQ6IDEuMnJlbTtcbiAgfVxuXG4gIC5tZWRpYS13cmFwcGVyIHtcbiAgICAvL292ZXJmbG93OiBoaWRkZW47XG4gICAgdG9wOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAuaW5mb2JveCB7XG4gICAgcGFkZGluZzogMzZweCAyLjRyZW0gMi40cmVtIDIuNHJlbTtcblxuICAgIC5vdmVyZmxvdy1oZWxwZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyb3coMSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBXZSBuZWVkIHRoaXMgcmVzZXQgZm9yIGZsdWlkIHJhbmdlc1xuLy8gVGhvdWdoIHdlIGxlYXZlIG91ciBkZXNpcmVkIDQ6MyBib3hlcyB0aGlzXG4vLyBpcyBmYXIgYmV0dGVyIHRoYW4gY3V0IG9mIGRldGFpbCBsaW5rcy4uLlxuQG1peGluIGVtcGxveWVlLXRlYXNlci0taW5uZXItbGF5b3V0LWZsdWlkKCkge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICB9XG5cbiAgLnB1c2gtb3Blbi00LTYge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5tZWRpYS13cmFwcGVyLFxuICAuaW5mb2JveCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuXG5AbWl4aW4gZW1wbG95ZWUtdGVhc2VyLS12YWxpZ24oKSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgLmluZm9ib3ggLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG5cbkBtaXhpbiBlbXBsb3llZS10ZWFzZXItLWNvbG9ycy1hbmQtdHlwbygpIHtcbiAgLmluZm9ib3gge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgLm92ZXJmbG93LWhlbHBlciBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFNldCBzZWN0aW9uIHNwZWNpZmljIGJhY2tncm91bmQtY29sb3IgZm9yIFRlYW0gc2l0ZVxuLy9cbmJvZHkge1xuICAmLnpibC1zZWN0aW9uLWZoLnphYmVsLXRlYW0tb3ZlcnZpZXcsXG4gICYuemJsLXNlY3Rpb24tY2kuemFiZWwtdGVhbS1vdmVydmlldyxcbiAgJi56Ymwtc2VjdGlvbi1wZy56YWJlbC10ZWFtLW92ZXJ2aWV3IHtcblxuICAgIC5zZWN0aW9uLWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5vdmVydmlldy1wYWdlIGgzLmhlYWRpbmctLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICYuemJsLXNlY3Rpb24tZmguemFiZWwtdGVhbS1vdmVydmlldyB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkc2hhcms7XG5cbiAgICAub3ZlcnZpZXctcGFnZSBoMy5oZWFkaW5nLS1zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay10ZWFtLW92ZXJ2aWV3O1xuICAgIH1cbiAgfVxuICAmLnpibC1zZWN0aW9uLWNpLnphYmVsLXRlYW0tb3ZlcnZpZXcge1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHNodXR0bGUtZ3JheTtcblxuICAgIC5vdmVydmlldy1wYWdlIGgzLmhlYWRpbmctLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLXRlYW0tb3ZlcnZpZXc7XG4gICAgfVxuICB9XG4gICYuemJsLXNlY3Rpb24tcGcuemFiZWwtdGVhbS1vdmVydmlldyB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkbWlkbmlnaHQ7XG5cbiAgICAub3ZlcnZpZXctcGFnZSBoMy5oZWFkaW5nLS1zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay10ZWFtLW92ZXJ2aWV3O1xuICAgIH1cbiAgfVxufVxuXG4udmlldy16YmwtZW1wbG95ZWUtZ3JvdXBzLFxuLnZpZXctZ2wtZW1wbG95ZWUge1xuICAuZW1wbG95ZWUtdGVhc2VyICB7XG4gICAgQGluY2x1ZGUgZW1wbG95ZWUtdGVhc2VyLS1pbm5lci1sYXlvdXQoKTtcbiAgICBAaW5jbHVkZSBlbXBsb3llZS10ZWFzZXItLXZhbGlnbigpO1xuICAgIEBpbmNsdWRlIGVtcGxveWVlLXRlYXNlci0tY29sb3JzLWFuZC10eXBvKCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7XG4gICAgICBAaW5jbHVkZSBlbXBsb3llZS10ZWFzZXItLWlubmVyLWxheW91dC1mbHVpZCgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtZmx1aWQpIHtcbiAgICAgIEBpbmNsdWRlIGVtcGxveWVlLXRlYXNlci0taW5uZXItbGF5b3V0LWZsdWlkKCk7XG4gICAgfVxuICB9XG59XG5cblxuXG4udmlldy1nbC1lbXBsb3llZSAubW9kYWwge1xuICAkYmFzZS1ib3JkZXItY29sb3I6ICNkY2RjZGMgIWRlZmF1bHQ7XG4gICRiYXNlLWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiAgJGJhc2UtYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiAgJGJhc2UtZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG4gICRiYXNlLWxpbmUtaGVpZ2h0OiAxLjVlbSAhZGVmYXVsdDtcbiAgJGFjdGlvbi1jb2xvcjogIzQ3N2RjYSAhZGVmYXVsdDtcbiAgJGRhcmstZ3JheTogIzMzMyAhZGVmYXVsdDtcbiAgJGxpZ2h0LWdyYXk6ICNkZGQgIWRlZmF1bHQ7XG4gICRtZWRpdW0tc2NyZWVuOiBlbSg2NDApICFkZWZhdWx0O1xuICAkbGFyZ2Utc2NyZWVuOiBlbSg4NjApICFkZWZhdWx0O1xuICAkYmFzZS1mb250LWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuICAkbW9kYWwtcGFkZGluZzogM2VtO1xuICAkbW9kYWwtYmFja2dyb3VuZDogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgJG1vZGFsLWNsb3NlLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgJG1vZGFsLWltYWdlLWhlaWdodDogMTM1cHg7XG4gICRtb2RhbC1pbWFnZS13aWR0aDogJG1vZGFsLWltYWdlLWhlaWdodDtcbiAgJG1vZGFsLXRyaWdnZXItaW1hZ2Utd2lkdGg6IDMwMHB4O1xuXHRcblx0LmluZm9ib3gge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuXHRcdGhlaWdodDogaW5oZXJpdDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHQgfVxuXHQgXG5cdCAuY29udGFjdC1pbmZvcm1hdGlvbiB7XG5cdFx0IGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdCBhIHtcblx0XHRcdCBjb2xvcjogJGRhcmstZ3JheTtcblx0XHQgfVxuXHQgfVxuXHRcbiAgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgbGFiZWwgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAkbW9kYWwtdHJpZ2dlci1pbWFnZS13aWR0aCAvIDI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtdHJpZ2dlci1pbWFnZS13aWR0aDtcbiAgfVxuXG4gIC5tb2RhbC1zdGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tb2RhbC10cmlnZ2VyIHtcbiAgICBwYWRkaW5nOiAwLjhlbSAxZW07XG4gIH1cblxuICAubW9kYWwtZmFkZS1zY3JlZW4geyAvLyBvdmVybGF5XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuMjVzIGVhc2UpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIDAuODUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDk5OTk5OTk5OTk5O1xuXG4gICAgLy9AaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgLy8gIHBhZGRpbmctdG9wOiAxMGVtO1xuICAgIC8vfVxuXG4gICAgLm1vZGFsLWJnIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY2xvc2Uge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxZW0gMWVtIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgzMHB4KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgN3B4IDdweCAwIDUwJSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XG4gICAgICBAaW5jbHVkZSBzaXplKDJweCAyMXB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IC0zcHggMCAwIC0xcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcjphZnRlcixcbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG1vZGFsLWNsb3NlLWNvbG9yLCAxMCUpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWlubmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4yNXMgZWFzZSk7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tncm91bmQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDg1dmg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA2MCU7XG5cdFx0bWF4LXdpZHRoOiA3NTBweDtcbiAgIC8vIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICAvL21heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAvL3BhZGRpbmc6ICRtb2RhbC1wYWRkaW5nO1xuICAgICAgLy93aWR0aDogNjAlO1xuICAgLy8gfVxuXG4gICAgLy9AaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgLy8gIHdpZHRoOiA1MCU7XG4gICAgLy99XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICAgIH1cblxuICAgIC5tb2RhbC1pbnRybyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG5cbiAgICAgIC8vQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICAgIC8vICBAaW5jbHVkZSBjb2x1bW5zKDIgOGVtKTtcbiAgICAgIC8vfVxuICAgIH1cblxuICAgIGEuY3RhIHtcbiAgICAgIGNvbG9yOiAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogMCAyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLXN0YXRlOmNoZWNrZWQgKyAubW9kYWwtZmFkZS1zY3JlZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC5tb2RhbC1zdGF0ZTpjaGVja2VkICsgLm1vZGFsLWZhZGUtc2NyZWVuIC5tb2RhbC1pbm5lciB7XG4gICAgdG9wOiAxMHZoO1xuICB9XG59XG5cbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn0iLCIub3ZlcnZpZXctcGFnZSB7XG4gIGgzLmhlYWRpbmctLXNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmVtcGxveWVlLWdyb3VwIHtcbiAgICBAaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZC1jb2xvcicsICRiZy1jb2xvci0zLCAkYmctY29sb3ItMSwgJGJnLWNvbG9yLTUgKTtcbiAgfVxufSAiLCJAbWl4aW4gZW1wbG95ZWUtb3V0ZXItbGF5b3V0KCkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEpOyBmbG9hdDogbm9uZTsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDEpOyBmbG9hdDogbm9uZTsgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDMpOyAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDEyLCAzLCAkZ3V0dGVyOiAwKTsgfVxuXG4gIC8vIFB1c2ggdGhlIG1vZGFsIHdpbmRvdyBvcGVuXG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cblxuQG1peGluIGVtcGxveWVlLWlubmVyLWxheW91dCgpIHtcblxuICAubWVkaWEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuaW5mb2JveCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5waG9uZSxcbiAgLmVtYWlsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuY29udGFjdC1pbmZvcm1hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZha2UgdGhlIGluZGVudCBpbiBmb3VyIGNvbCBsYXlvdXQ6XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpIHtcbiAgICAuaW5mb2JveCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjYlO1xuICAgICAgcGFkZGluZy1yaWdodDogMTYuNjY2NiU7XG4gICAgfVxuICB9XG5cbiAgLnBob25lOjpiZWZvcmUsXG4gIC5jb250YWN0LWluZm9ybWF0aW9uIGE6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG5cbiAgLnBob25lIHtcbiAgICBAaW5jbHVkZSBpY29uKCdsaW5lYXInLCAnZm90b2xpYV82NzkxMTE3MF8xNScpO1xuICB9XG5cbiAgLmNvbnRhY3QtaW5mb3JtYXRpb24gYSB7XG4gICAgQGluY2x1ZGUgaWNvbignbGluZWFyJywgJ2ZvdG9saWFfNjE1NTUwMDZfMTUnKTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG5cblxuQG1peGluIGVtcGxveWVlLXR5cG8oKSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLm5hbWUgICAgICAgIHsgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMygpOyB9XG4gIC5wb3NpdGlvbnMgICB7IEBpbmNsdWRlIGZzLWhlYWRsaW5lLTQoKTsgfVxuICAubGFuZ3VhZ2VzICAgeyAgfVxuICAucXVvdGUgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLmRlc2NyaXB0aW9uIHsgIH1cbiAgLnBob25lLFxuICAuZW1haWwge1xuICAgIEBpbmNsdWRlIGZzLWhlYWRsaW5lLTQoKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG5AbWl4aW4gZW1wbG95ZWUtdmFsaWduKCkge1xuICAubmFtZSB7ICB9XG4gIC5wb3NpdGlvbnMge31cblxuICAubGFuZ3VhZ2VzLFxuICAucXVvdGUsXG4gIC5kZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IDIwcHg7IH1cblxuICAuY29udGFjdC1pbmZvcm1hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLmVtcGxveWVlIHtcbiAgLy9AaW5jbHVkZSBlbXBsb3llZS1vdXRlci1sYXlvdXQoKTtcbiAgQGluY2x1ZGUgZW1wbG95ZWUtaW5uZXItbGF5b3V0KCk7XG5cbiAgLmluZm9ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIEBpbmNsdWRlIGVtcGxveWVlLXR5cG8oKTtcbiAgICBAaW5jbHVkZSBlbXBsb3llZS12YWxpZ24oKTtcbiAgICAvKi5uYW1lIHtcblx0ICAgIHBhZGRpbmctdG9wOiA0MHB4XG4gICAgfVxuICAgIC5sYW5ndWFnZXMsXG4gICAgLnF1b3RlLFxuICAgIC5kZXNjcmlwdGlvbiB7XG5cdCAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICAuY29udGFjdC1pbmZvcm1hdGlvbiB7XG5cdCAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHhcbiAgICB9Ki9cbiAgfVxufVxuXG4iLCIuZ2xvc3NhcnktaXRlbSB7XG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBndXR0ZXItcGFkKDIsIDIpO1xuICBwYWRkaW5nLXRvcDogMi40cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC40cyBsaW5lYXIsIGJvcmRlciAuNHMgbGluZWFyLCBwYWRkaW5nIC40cyBsaW5lYXI7XG5cbiAgJi5vcGVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi40cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRlbGVtZW50LWNvbG9yLTQ7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNHMgbGluZWFyLCBib3JkZXIgLjRzIGxpbmVhciwgcGFkZGluZyAuNHMgbGluZWFyO1xuICB9XG59XG5cbi5kZWZpbml0aW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyAvLyBtYWtlIHJvb20gZm9yIHRoZSBhcnJvd1xuICBAaW5jbHVkZSBmcy1oZWFkbGluZS00KCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9hd2Vzb21lX2FuZ2xlLXJpZ2h0JywgYWZ0ZXIpO1xuICAub3BlbiAmIHsgQGluY2x1ZGUgaWNvbignY3VzdG9tJywgJ2ljb21vb25fYXdlc29tZV9hbmdsZS1kb3duJywgYWZ0ZXIpOyB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICBsaW5lLWhlaWdodDogMjNweDsgIC8vIGxpbmUtaGVpZ2h0IG9mIHBhcmVudFxuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxuXG4gICYgPiBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uZGVmaW5pdGlvbi1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS43NTtcbn1cbiIsIi8vXG4vLyBHZW5lcmFsIFBPSSBzdHlsZXNcbi8vXG5cbi5wb2kge1xuICBwYWRkaW5nLXRvcDogMTRweDtcbiAgcGFkZGluZy1sZWZ0OiA5cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjRyZW07XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxufVxuXG4vLyBEZWZhdWx0IGFrYSBwb2lcbi5wb2kudHlwZS1kZWZhdWx0IHtcbiAgLnRpdGxlICAgICAgIHsgQGluY2x1ZGUgZnMtaGVhZGxpbmUtNCgpOyB9XG4gIC5kZXNjcmlwdGlvbiB7IEBpbmNsdWRlIGZzLXBhcmFncmFwaCgpOyB9XG59XG5cbi8vIFByb3BlcnR5XG4ucG9pLnR5cGUtcHJvcGVydHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIEBpbmNsdWRlIGZzLWhlYWRsaW5lLTMoKTtcbiAgfVxuICAuYWRkcmVzcyB7XG4gICAgQGluY2x1ZGUgZnMtcGFyYWdyYXBoKCk7XG4gIH1cbn1cblxuLy8gT2ZmaWNlXG4ucG9pLnR5cGUtb2ZmaWNlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIEBpbmNsdWRlIGZzLWhlYWRsaW5lLTQoKTtcbiAgfVxuXG4gIC5hZGRyZXNzLFxuICAucGhvbmUsXG4gIC5mYXgsXG4gIC5lbWFpbCxcbiAgLmhvdy10by1maW5kLXVzIHsgQGluY2x1ZGUgZnMtcGFyYWdyYXBoKCk7IH1cblxuICAuaG93LXRvLWZpbmQtdXMge1xuICAgIEBpbmNsdWRlIGZzLWxpbmsoKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgfVxufSIsIi50ZWFzZXItYWJvdXQtemFiZWwge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaHV0dGxlLWdyYXk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB3aGl0ZTtcblxuICAucmljaHRleHQgPiBkaXYgPiAqIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn0iLCIudGVhc2VyLWVucXVpcmUtbm93IHtcblxuICAuc2VjdGlvbi1pdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XG4gIH1cblxuICAuemJsLXNlY3Rpb24tZmggJiAuc2VjdGlvbi1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcblxuICAgICYgaDEsXG4gICAgJiBwLFxuICAgICYgbGkge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC56Ymwtc2VjdGlvbi1jaSAmIC5zZWN0aW9uLWl0ZW0ge1xuICAgIC8vIHVzZSBkZWZhdWx0c1xuICB9XG5cbiAgLnpibC1zZWN0aW9uLXBnICYgLnNlY3Rpb24taXRlbSB7XG4gICAgLy8gbm8gZW5xdWlyZSBub3cgdGVhc2VyIGluc2lkZSBwZ1xuICB9XG59IiwiI3Byb3BlcnR5LWZpbHRlci10cmlnZ2VyIGEge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgfVxuICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzLjZyZW07XG4gIHRvcDogMy42cmVtO1xuICB6LWluZGV4OiA4O1xuICBiYWNrZ3JvdW5kOiAkYnJpZ2h0LXJlZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dCgpO1xuICBAaW5jbHVkZSBpY29uKCdsaW5lYXInLCAnc2hhcnBub3NlX2xpbmVhcl9jdXN0b21fMDknKTtcblxuICAmOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICB9XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHBlcnNpYW4tcmVkO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wcm9wZXJ0eS1maWx0ZXItb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTtcbiAgei1pbmRleDogOTk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLnByb3BlcnR5LWZpbHRlci1vdmVybGF5IHtcbiAgd2lkdGg6IDUwJTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcblxuICB9XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNSU7XG4gIHBhZGRpbmc6IDIuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdhbGxlcnk7XG5cbiAgLmNsb3NlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgaWNvbignbGluZWFyJywgJ3NoYXJwbm9zZV9saW5lYXJfY3VzdG9tXzA1Jyk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIuNHJlbTtcbiAgICAgIHRvcDogMS4ycmVtO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIExhYmVsc1xuICAubGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAucmFuZ2UtbWluLFxuICAgIC5kaXZpZGVyLFxuICAgIC5yYW5nZS1tYXgge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAgLmhlYWRpbmctLWNvbnRlbnQsXG4gIC5maWx0ZXItaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5jZW50ZXJlZC1saW5rcyB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLy8gQ3VycmVuY3ktc3dpdGNoXG4gIC5jdXJyZW5jeS1zd2l0Y2hlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxufSIsIi5wcm9wZXJ0eS1maWx0ZXItb3ZlcmxheS13cmFwcGVyIC5wcm9wZXJ0eS1maWx0ZXItb3ZlcmxheSB7XG59XG5cblxuXG5cblxuLyogRnVuY3Rpb25hbCBzdHlsaW5nO1xuICogVGhlc2Ugc3R5bGVzIGFyZSByZXF1aXJlZCBmb3Igbm9VaVNsaWRlciB0byBmdW5jdGlvbi5cbiAqIFlvdSBkb24ndCBuZWVkIHRvIGNoYW5nZSB0aGVzZSBydWxlcyB0byBhcHBseSB5b3VyIGRlc2lnbi5cbiAqL1xuLm5vVWktdGFyZ2V0LFxuLm5vVWktdGFyZ2V0ICoge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLm5vVWktdGFyZ2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbi5ub1VpLWJhc2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cbi5ub1VpLW9yaWdpbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xufVxuLm5vVWktaGFuZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLm5vVWktc3RhY2tpbmcgLm5vVWktaGFuZGxlIHtcbiAgLyogVGhpcyBjbGFzcyBpcyBhcHBsaWVkIHRvIHRoZSBsb3dlciBvcmlnaW4gd2hlblxuICAgICBpdHMgdmFsdWVzIGlzID4gNTAlLiAqL1xuICB6LWluZGV4OiAxMDtcbn1cbi5ub1VpLXN0YXRlLXRhcCAubm9VaS1vcmlnaW4ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4zcywgdG9wIDAuM3M7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcywgdG9wIDAuM3M7XG59XG4ubm9VaS1zdGF0ZS1kcmFnICoge1xuICBjdXJzb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLyogUGFpbnRpbmcgYW5kIHBlcmZvcm1hbmNlO1xuICogQnJvd3NlcnMgY2FuIHBhaW50IGhhbmRsZXMgaW4gdGhlaXIgb3duIGxheWVyLlxuICovXG4ubm9VaS1iYXNlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIGJhY2tncm91bmQ6ICRzaWx2ZXI7XG59XG5cbi8qIFNsaWRlciBzaXplIGFuZCBoYW5kbGUgcGxhY2VtZW50O1xuICovXG4ubm9VaS1ob3Jpem9udGFsIHtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0b3A6IC03cHg7XG4gIGxlZnQ6IC0xMHB4O1xuICBiYWNrZ3JvdW5kOiAkZG92ZS1ncmF5O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKHdoaXRlLCAuNCk7XG59XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlLm5vVWktYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJHBlcnNpYW4tcmVkO1xufVxuXG5cbi8qIFN0eWxpbmc7XG4gKi9cbi5ub1VpLWJhY2tncm91bmQge1xuICBoZWlnaHQ6IDRweDtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm5vVWktY29ubmVjdCB7XG4gIC8vYmFja2dyb3VuZDogJHNpcm9jY287XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCA0NTBtcztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCA0NTBtcztcbn1cbi5ub1VpLW9yaWdpbiB7XG4gIHotaW5kZXg6IDIgIWltcG9ydGFudDtcbn1cblxuLm5vVWktdGFyZ2V0IHtcbn1cbi5ub1VpLXRhcmdldC5ub1VpLWNvbm5lY3Qge1xufVxuXG4vKiBIYW5kbGVzIGFuZCBjdXJzb3JzO1xuICovXG4ubm9VaS1kcmFnYWJsZSB7XG4gIGN1cnNvcjogdy1yZXNpemU7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1kcmFnYWJsZSB7XG4gIGN1cnNvcjogbi1yZXNpemU7XG59XG5cbi8qIERpc2FibGVkIHN0YXRlO1xuICovXG5bZGlzYWJsZWRdLm5vVWktY29ubmVjdCxcbltkaXNhYmxlZF0gLm5vVWktY29ubmVjdCB7XG4gIC8vYmFja2dyb3VuZDogI0I4QjhCODtcbn1cbltkaXNhYmxlZF0ubm9VaS1vcmlnaW4sXG5bZGlzYWJsZWRdIC5ub1VpLWhhbmRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vIFBpcHNcblxuXG4vKiBCYXNlO1xuICpcbiAqL1xuLm5vVWktcGlwcyxcbi5ub1VpLXBpcHMgKiB7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5ub1VpLXBpcHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8qIFZhbHVlcztcbiAqXG4gKi9cbi5ub1VpLXZhbHVlIHtcbiAgd2lkdGg6IDQwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5vVWktdmFsdWUtc3ViIHtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4vKiBNYXJraW5ncztcbiAqXG4gKi9cbi5ub1VpLW1hcmtlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG4ubm9VaS1tYXJrZXItc3ViIHsgfVxuXG4ubm9VaS1tYXJrZXItbGFyZ2Uge1xuICBiYWNrZ3JvdW5kOiAkcGVyc2lhbi1yZWQ7XG59XG5cbi8qIEhvcml6b250YWwgbGF5b3V0O1xuICpcbiAqL1xuLm5vVWktcGlwcy1ob3Jpem9udGFsIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm5vVWktdmFsdWUtaG9yaXpvbnRhbCB7XG59XG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlciB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyLXN1YiB7XG4gIHdpZHRoOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAxcHg7XG59XG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlci1sYXJnZSB7XG4gIHdpZHRoOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuIiwiLy9cbi8vIFN0eWxpbmcgZm9yIHRoZSBcImxvYWQgbW9yZVwiIG5ld3MvYmxvZ2FydGljbGVzIGxpbmtcbi8vXG4ucGFnZXItbG9hZC1tb3JlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNDAlO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIDMuNnJlbTtcbiAgfVxuXG4gICYgPiBsaSA+IGEge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1kZWZhdWx0cygpO1xuICAgIEBpbmNsdWRlIGJ1dHRvbi0tbGFyZ2UoKTtcbiAgICBAaW5jbHVkZSBidXR0b24tc2NoZW1lLS1yZWQoKTtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn0iLCIubm9kZS10eXBlLXpibC1wYWdlLnNwYWNlLXByb3BlcnR5LWdyb3VwIHtcbiAgLm5vZGUudmlldy1tb2RlLWZ1bGwge1xuICAgIC5zZWN0aW9uLWl0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9IFxufSIsIi5wYWdlLXNob3dyb29tIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi52aWV3LXNob3dyb29tIHtcbiAgJHByb3BlcnR5LWd1dHRlcjogMTVweDtcblxuICBiYWNrZ3JvdW5kOiBibGFjaztcblxuICAuZmxleHNsaWRlciB7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIC5mbGV4c2xpZGVyX3ZpZXdzX3NsaWRlc2hvd19zbGlkZSB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBib2R5LmFkbWluLW1lbnUgJiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMHB4KTtcbiAgICB9XG4gIH1cbiAgLmZpbGUtdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIHZpZGVvLFxuICBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnZpZXdzLWZpZWxkLWZpZWxkLWdsLXpibC1oZWFkZXItc2xpZGVzaG93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAuZmllbGQtY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBpbWc6bm90KC5sYXp5bG9hZGVyLWljb24pIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnByb3BlcnR5LWluZm8ge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNDBweDtcbiAgICByaWdodDogNDBweDtcbiAgICBib3R0b206IDUwcHg7XG4gICAgcGFkZGluZzogMzBweCAxNXB4O1xuXG4gICAgJi56YmxfcHJvcGVydHlfY2kge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLTQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG5cbiAgICAgIC5wcm9wZXJ0eS1pbmZvLWl0ZW17XG4gICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gICAgICB9XG4gICAgICAucHJvcGVydHktY2F0ZWdvcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2hlYWRlci9sb2dvLWNpLnBuZyk7XG4gICAgICB9XG4gICAgfVxuICAgICYuemJsX3Byb3BlcnR5X2ZoIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcblxuICAgICAgLnByb3BlcnR5LWluZm8taXRlbSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgICAucHJvcGVydHktY2F0ZWdvcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2hlYWRlci9sb2dvLWZoLnBuZyk7XG4gICAgICB9XG4gICAgfVxuICAgICYudmlkZW8ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnByb3BlcnR5LWluZm8tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JvdygxKTtcblxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7XG4gICAgcGFkZGluZy1sZWZ0OiAkcHJvcGVydHktZ3V0dGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwcm9wZXJ0eS1ndXR0ZXI7XG5cbiAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JvdygwKTtcblxuICAgICAgd2lkdGg6IDE1JTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgd2lkdGg6IDI4JVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB3aWR0aDogMzElO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB3aWR0aDogMjYlO1xuICAgIH1cbiAgfVxuICAucHJvcGVydHktaW5mby1pdGVtIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcblxuICAgICYucHJvcGVydHktc2l6ZSB7XG4gICAgICAucHJvcGVydHktaW5mby12YWx1ZSAuZmllbGQtY29udGVudCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAucHJvcGVydHktaW5mby1pdGVtIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICB9XG4gIH1cbiAgLnByb3BlcnR5LWluZm8tbGFiZWwsXG4gIC5wcm9wZXJ0eS1pbmZvLXZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1mb3VyLWNvbCkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgfVxuICAucHJvcGVydHktaW5mby1sYWJlbCB7XG4gICAgbWluLXdpZHRoOiAxNTVweDtcbiAgICB3aWR0aDogMTU1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1mb3VyLWNvbCkge1xuICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICB9XG4gIH1cbiAgLnByb3BlcnR5LXR5cGUsXG4gIC5wcm9wZXJ0eS1sb2NhdGlvbiB7XG4gICAgLnByb3BlcnR5LWluZm8tbGFiZWwge1xuICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgIHdpZHRoOiAxMjBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtZm91ci1jb2wpIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDVweDtcbiAgICAgICAgd2lkdGg6IDEwNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvcGVydHktY2F0ZWdvcnkge1xuICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAucHJvcGVydHktcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWZvdXItY29sKSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgfVxuICAgIFxuICAgIC5wcmljZS1yYW5nZS10byB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgLmZsZXgtcGxheSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cbn1cbiIsIi5wYXJhLWltYWdlLWdhbGxlcnllbnRpdHkge1xuICAkZ3V0dGVyOiAxMHB4O1xuXG4gIC5maWVsZC1pdGVtcyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLS10ZXh0IC8gMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLS10ZXh0IC8gMjtcbiAgICBtYXJnaW4tbGVmdDogLSRndXR0ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlcjtcblxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgbWF4LXdpZHRoOiAxMzY1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5maWVsZC1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3Jte1xuICBsYWJlbHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxke1xuICAgIG1hcmdpbi10b3A6IDEuOHJlbTtcbiAgfVxuICAuZm9ybS1hY3Rpb25ze1xuICAgIGlucHV0e1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBwYWRkaW5nOiAwIDIuNHJlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiSVRDRnJhbmtsaW5Hb3RoaWMtREVcIiwgXCJJVENGcmFua2xpbkdvdGhpYy1SVVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxLjhyZW07XG4gICAgfVxuICB9XG59XG4iLCJcbmJvZHkuZnJvbnQge1xuXG4gIC5sLWNvbnRlbnQge1xuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuLy8gICAgICAuc2xpY2sgLnNsaWNrX19zbGlkZSxcbi8vICAgICAgLnNsaWNrIC5zbGlkZV9fY29udGVudCB7XG4vLyAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbi8vICAgICAgICBtaW4taGVpZ2h0OiA2NjBweDtcbi8vICAgICAgfVxuICAgICAgXG4gICAgICAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgM3B4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC8vIHByb3BlcnR5IGluZm8gYmxvY2sgc3R5bGVzXG4gICAgICAuc2xpY2suc2xpY2stLXZpZXctLWdsLXpibC1zbGlkZXNob3cge1xuXG4gICAgICAgIC52aWV3cy1maWVsZC52aWV3cy1maWVsZC1maWVsZC1sb2NhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWluLWhlaWdodDogODAwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgLmZpZWxkLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjhmNztcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTIuNSU7XG4gICAgICAgICAgICAgIHdpZHRoOiAzNy41JTtcblxuICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5zbGlkZXNob3ctcHJvcGVydHktaW5mby1ib2xkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZnJvbnQtcGFnZS0tc2xpZGVzaG93IHtcblxuICAgICAgLmZyb250LXBhZ2UtLXNsaWRlc2hvdy1zbGlkZXIge1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgYXJyb3dzLlxuICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMCAxNTAwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgIGhlaWdodDogMTI1cHg7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDExMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG92ZXJyaWRlIGZpcnN0IHNsaWRlIGNvbG9yLlxuICAgICAgICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWRlLS0wIHtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogI0MyMEUxQSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJhZ3JhcGhzLWl0ZW0tc2xpZGVzaG93IHtcbiAgICAgICAgICBoZWlnaHQ6IDg3dmg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQpIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1sYXJnZS1waG9uZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA5MnZoO1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIC8vbWluLWhlaWdodDogODBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgICAgICAgYW5kIChtaW4td2lkdGggOiAxMDI0cHgpXG4gICAgICAgICAgYW5kIChtYXgtd2lkdGggOiAxMDI0cHgpXG4gICAgICAgICAgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDI2MDBweCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA5MnZoO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LXNsaWRlLWltYWdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcblxuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZ3JvdXAtcGFyYWdyYXBoLWl0ZW0tdGl0bGVzIHtcblxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgb3V0ZXItZ3JpZC13cmFwcGVyKCk7XG4vLyAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgICAgICAgICAgcGFkZGluZzogMTMwcHggMTAlIDIwcHg7XG5cbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MTJweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU1MHB4KSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTkwcHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkYnAtdW50aWwtdHdvLWNvbCkge1xuLy8gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNzBweDtcbi8vICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXNsaWRlc2hvdy10aXRsZS1mdWxsc2NyZWVuLFxuICAgICAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXNsaWRlc2hvdy10aXRsZS1tZWRpdW0sXG4gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LXRpdGxlLXNtYWxsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNzVweDtcblxuLy8gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbi8vICAgICAgICAgICAgICBtYXJnaW46IDA7XG4vLyAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbi8vICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICAgICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4vLyAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbi8vICAgICAgICAgICAgICBib3gtc2hhZG93OiAxLjJyZW0gMCAwIHJnYmEoMCwgMCwgMCwgMC43KSwgLTEuMnJlbSAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuLy8gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbi8vICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4vLyAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuLy8gICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwO1xuXG4vLyAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtZXh0cmEtbGFyZ2UtcGhvbmUpIHtcbi8vICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbi8vICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LXRpdGxlLWZ1bGxzY3JlZW4gaDMsXG4gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LXRpdGxlLW1lZGl1bSBoMyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2psbF9oYW5kcmVndWxhcic7XG4gICAgICAgICAgICBmb250LXNpemU6IDEyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1sYXJnZS1waG9uZSkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgICAgICAgIGFuZCAobWluLXdpZHRoIDogMTAyNHB4KVxuICAgICAgICAgICAgYW5kIChtYXgtd2lkdGggOiAxMDI0cHgpXG4gICAgICAgICAgICBhbmQgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LXRpdGxlLW1lZGl1bSBoMyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtY2VudGVyKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LXRpdGxlLXNtYWxsIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgVGltZXMsIHNlcmlmO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgfVxuXG4vLyAgICAgICAgICAuZmllbGQtbmFtZS1maWVsZC1zbGlkZXNob3ctdGl0bGUtZnVsbHNjcmVlbiB7XG4vLyAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4vL1xuLy8gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXNtYWxsLWRlc2t0b3ApIHtcbi8vICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgICAgfVxuLy8gICAgICAgICAgfVxuLy9cbi8vICAgICAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXNsaWRlc2hvdy10aXRsZS1tZWRpdW0ge1xuLy8gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuLy9cbi8vICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGFibGV0LWFuZC1sYXJnZS1waG9uZSkge1xuLy8gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICAgICB9XG4vLyAgICAgICAgICB9XG4vL1xuLy8gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LXRpdGxlLXNtYWxsIHtcbi8vICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbi8vXG4vLyAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWxhcmdlLXBob25lKSB7XG4vLyAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICAgICAgIH1cbi8vICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJhZ3JhcGhzLWl0ZW0tc2xpZGVzaG93LWJhZGdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VwdC1rYW1wYWlnbi1ib3R0b20tYm4tYmcucG5nKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtZXh0cmEtbGFyZ2UtcGhvbmUpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1sYXJnZS1waG9uZSkge1xuICAgICAgICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODEycHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZC1uYW1lLWZpZWxkLXNsaWRlc2hvdy1iYWRnZS10aXRsZSB7XG4gICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgc2VyaWY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZC10eXBlLXRleHQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1leHRyYS1sYXJnZS1waG9uZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wtZmx1aWQpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgICAgICAgICAgIGFuZCAobWluLXdpZHRoIDogMTAyNHB4KVxuICAgICAgICAgICAgICBhbmQgKG1heC13aWR0aCA6IDEwMjRweClcbiAgICAgICAgICAgICAgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4vLyAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICAgICB3aWR0aDogMjAwcHg7XG4vLyAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuLy8gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuLy8gICAgICAgICAgcmlnaHQ6IDBweDtcbi8vICAgICAgICAgIHRvcDogMTEwcHg7XG4vLyAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbi8vICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE3ZGVnKTtcbi8vXG4vLyAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQpIHtcbi8vICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxODAxcHgpIHtcbi8vICAgICAgICAgICAgcmlnaHQ6IC0xNTVweDtcbi8vICAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODAwcHgpIGFuZCAobWluLXdpZHRoOiAxNjgxcHgpIHtcbi8vICAgICAgICAgICAgcmlnaHQ6IC0xMDBweDtcbi8vICAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjgwcHgpIGFuZCAobWluLXdpZHRoOiAxNTUxcHgpIHtcbi8vICAgICAgICAgICAgcmlnaHQ6IDY1cHg7XG4vLyAgICAgICAgICB9XG4vL1xuLy8gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LWJhZGdlLXRpdGxlIHtcbi8vICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAgICAgICAgICB9XG4vL1xuLy8gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtc2xpZGVzaG93LWJhZGdlLXRleHQge1xuLy9cbi8vICAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICAuZmllbGQtbmFtZS1maWVsZC1zbGlkZXNob3ctYmFkZ2UtY2l0eSB7XG4vLyAgICAgICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbi8vICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbi8vICAgICAgICAgICAgLXdlYmtpdC1oeXBoZW5zOiBub25lO1xuLy8gICAgICAgICAgICAtbXMtaHlwaGVuczogbm9uZTtcbi8vICAgICAgICAgICAgaHlwaGVuczogbm9uZTtcbi8vICAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICBwIHtcbi8vICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4vLyAgICAgICAgICAgIG1hcmdpbjogMDtcbi8vICAgICAgICAgIH1cbi8vXG4vLyAgICAgICAgICBoMiB7XG4vLyAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuLy8gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4vLyAgICAgICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbi8vICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZyb250LXBhZ2UtbGF5b3V0KCkge1xuICAudmlldy1kaXNwbGF5LWlkLXBhbmVfdGVhc2VyX2ZoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDQsIDEsICRjbGVhcjogYm90aCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSAgICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDgsIDEsICRjbGVhcjogYm90aCk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10aHJlZS1jb2wpICAgICB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDUuNzUsIDEuMTI1KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tZm91ci1jb2wpIHsgQGluY2x1ZGUgaXNvbGF0aW9uLXNwYW4oNy43NSwgMS4xMjUpOyB9XG5cbiAgICAuc2xpY2stc2xpZGUgeyBwb3NpdGlvbjogcmVsYXRpdmUgfVxuICB9XG5cbiAgLnZpZXctZGlzcGxheS1pZC1wYW5lX3RlYXNlcl9jaSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig0LCAxLCAkY2xlYXI6IGJvdGgpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdHdvLWNvbCkgICAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig4LCAxLCAkY2xlYXI6IGJvdGgpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGhyZWUtY29sKSAgICAgeyBAaW5jbHVkZSBpc29sYXRpb24tc3Bhbig1Ljc1LCA3LjEyNSk7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7IEBpbmNsdWRlIGlzb2xhdGlvbi1zcGFuKDcuNzUsIDkuMTI1KTsgfVxuXG4gICAgLnNsaWNrLXNsaWRlIHsgcG9zaXRpb246IHJlbGF0aXZlIH1cbiAgfVxuXG4gIC5jb250ZW50LWJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vdG9wOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLmNvbnRlbnQtYm94LWlubmVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpICAgICAgIHsgd2lkdGg6IGdyaWQtc3Bhbig5LCAyLCAkZ3JpZDogMTMsICRndXR0ZXI6IDApOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSAgICAgICB7IHdpZHRoOiBncmlkLXNwYW4oMTYsIDIsICRncmlkOiAyOSwgJGd1dHRlcjogMCk7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXRocmVlLWNvbCkgICAgIHsgd2lkdGg6IGdyaWQtc3BhbigxNiwgMiwgJGdyaWQ6IDI5LCAkZ3V0dGVyOiAwKTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS1mb3VyLWNvbCkgeyB3aWR0aDogZ3JpZC1zcGFuKDE2LCAyLCAkZ3JpZDogMjksICRndXR0ZXI6IDApOyB9XG4gICAgICBAaW5jbHVkZSBndXR0ZXItcGFkKDIsIDIpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC50aXRsZSxcbiAgICAuc3VidGl0bGUsXG4gICAgLnByaWNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5kZXRhaWwtbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgLnN1YnRpdGxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmcm9udC1wYWdlLXR5cG8oKSB7XG5cbiAgLy8gUGFnZSBUaXRsZVxuICAucGFuZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMigpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgcGFkZGluZzogMTVweCAyLjRyZW0gMDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFZpZXdzLUhlYWRlciAodGV4dClcbiAgLnZpZXctemJsLXByb3BlcnRpZXMtZnJvbnQsXG4gIC52aWV3LWdsLXpibC1mcm9udHBhZ2UtcHJvcGVydGllcyB7XG4gICAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAudmlldy1oZWFkZXIge1xuICAgIEBleHRlbmQgLnJpY2h0ZXh0O1xuICB9XG5cbiAgLnZpZXctaGVhZGVyLXBsYWNlaG9sZGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgZnMtbGluaygpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG5cbiAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAucG9ydGFsLWxpbmsgPiBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtYm94IHtcbiAgICAudGl0bGUsXG4gICAgLnN1YnRpdGxlLFxuICAgIC5wcmljZSB7XG4gICAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG4gICAgfVxuICAgIC5wcm9wZXJ0eS10ZWFzZXItbGFiZWwtZnJvbSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZnMtbGluaygpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZnJvbnQtcGFnZS1kZXNpZ24oKSB7XG4gIC5sLWNvbnRlbnQtcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnZpZXctaGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy9wYWRkaW5nOiAxMzBweCAxMCUgMjBweDtcbiAgICAgIC8vXG4gICAgICAvL3BhZGRpbmctbGVmdDogY2FsYygxMCUgKyA0LjRyZW0pO1xuICAgICAgLy9wYWRkaW5nLXJpZ2h0OiBjYWxjKDEwJSArIDQuNHJlbSk7XG4gICAgICAvL0BpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQpIHtcbiAgICAgIC8vICBwYWRkaW5nOiA3MHB4IDYwcHggMjBweDtcbiAgICAgIC8vfVxuICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC1sYXJnZS1waG9uZSkge1xuICAgICAgLy8gcGFkZGluZzogNzBweCAzMHB4IDIwcHg7XG4gICAgICAvL31cbiAgICAgIFxuICAgICAgLmZpZWxkLW5hbWUtdGl0bGUtZmllbGQsXG4gICAgICAuZmllbGQtbmFtZS1kZXNjcmlwdGlvbi1maWVsZCB7XG4gICAgICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoMyxwIHtcbiAgICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLW5hbWUtdGl0bGUtZmllbGQge1xuICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDEuMnJlbSAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpLCAtMS4ycmVtIDAgMCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgcGFkZGluZzogNnB4IDA7XG5cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7IFxuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7IFxuICAgICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmllbGQtbmFtZS1kZXNjcmlwdGlvbi1maWVsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtbGFyZ2UtcGhvbmUpIHsgXG4gICAgICAgIC8vICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7IFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAxLjJyZW0gMCAwIHJnYmEoMCwgMCwgMCwgMC43KSwgLTEuMnJlbSAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDZweCAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtZXh0cmEtbGFyZ2UtcGhvbmUpIHsgXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vLnZpZXctZmlsdGVycy13cmFwcGVyIHtcblxuICAgIC5oZWFkZXItZmlsdGVycy13cmFwcGVyIHtcbiAgICAgIC8vYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvemJsX2Zyb250cGFnZV9iZy5qcGcnKSBuby1yZXBlYXQgNTAlIDEwMCU7XG4gICAgICAvL2JhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBoZWlnaHQ6IDg3dmg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvL3otaW5kZXg6IDE1O1xuICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy9taW4taGVpZ2h0OiA3MDBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtbGFyZ2UtcGhvbmUpIHtcbiAgICAgICAgaGVpZ2h0OiA5MnZoO1xuICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAvL21pbi1oZWlnaHQ6IDYwMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgyNjAwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiA5MnZoO1xuICAgICAgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgICBhbmQgKG1pbi13aWR0aCA6IDEwMjRweClcbiAgICAgIGFuZCAobWF4LXdpZHRoIDogMTAyNHB4KVxuICAgICAgYW5kIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkge1xuICAgICAgICBoZWlnaHQ6IDgwdmg7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIuXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBCb3RoIFRlYXNlcnMgKEZIICYgQ0kpXG4gIC8vXG4gIC52aWV3LXpibC1wcm9wZXJ0aWVzLWZyb250LFxuICAudmlldy1nbC16YmwtZnJvbnRwYWdlLXByb3BlcnRpZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBndXR0ZXItcGFkKDIsIDIpO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkgeyBcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyBcbiAgICB9XG5cdFxuICBcdC5tZWRpYSB7XG4gIFx0XHR3aWR0aDogMTAwJTtcbiAgXHRcdGhlaWdodDogMTAwJTtcbiAgXHR9XG5cbiAgICAvLyBEaXZpZGVyXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBCb3RoIHRleHRib3hlcyBzaGFsbCBoYXZlIHRoZSBzYW1lIGhlaWdodFxuICAgIC8vIDE2cHggKGZvbnQtc2l6ZSkgKiAxLjg3NSAobGluZS1oZWlnaHQpID0gMzBweFxuICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4cHggOTAwcHgpICAgeyBoZWlnaHQ6ICgzMHB4KjYpOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDkwMXB4IDExNjZweCkgIHsgaGVpZ2h0OiAoMzBweCo1KTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMTY3cHggMTU1MXB4KSB7IGhlaWdodDogKDMwcHgqNCk7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTU1MnB4KSAgICAgICAgeyBoZWlnaHQ6ICgzMHB4KjMpOyB9XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgdmlldyBoZWFkZXIgaW5pdGlhbGx5LCBzbyB3ZSBjYW4gdG9nZ2xlIGl0IHZpYSBKU1xuICAgIC52aWV3LWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctY29udGVudCA+IC5zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvKi5tZWRpYSB7XG5cdCAgICBpbWcge1xuXHRcdCAgICB3aWR0aDogMTAwJTtcblx0XHQgICAgaGVpZ2h0OiBhdXRvO1xuXHQgICAgfVxuICAgIH0qL1xuICAgIFxuICB9XG4gIC52aWV3LWRpc3BsYXktaWQtcGFuZV90ZWFzZXJfZmgsXG4gIC52aWV3LWRpc3BsYXktaWQtcGFuZV90ZWFzZXJfY2kge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHsgXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBGSCBzcGVjaWZpY1xuICAvL1xuICAudmlldy1kaXNwbGF5LWlkLXBhbmVfdGVhc2VyX2ZoIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC44KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7IGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIGd1dHRlci1wYWQoMiwgMik7XG5cblx0ICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHQgICAgJi5yaWNodGV4dCBwIHtcblx0XHQgICAgY29sb3I6IHdoaXRlO1xuXHQgICAgfVxuICAgIH1cblxuICAgIC8vJjo6YmVmb3JlICAgICAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXIvbG9nby1maC5wbmcnKTsgfVxuICAgICY6OmFmdGVyICAgICAgIHsgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAuY29udGVudC1ib3gtaW5uZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC44KTsgfVxuICAgIC8vJiAudmlldy1oZWFkZXIgLmNvbnRlbnQtYmxvY2sgPiAqIHsgY29sb3I6IHdoaXRlOyB9XG4gICAgJiAudmlldy1jb250ZW50IC5jb250ZW50LWJveC1pbm5lciA+IHNwYW4geyBjb2xvcjogd2hpdGU7IH1cbiAgICAuZGV0YWlsLWxpbmsgeyBjb2xvcjogd2hpdGU7IH1cbiAgICAuc2xpY2stcHJldixcbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBDSSBzcGVjaWZpY1xuICAvL1xuICAudmlldy1kaXNwbGF5LWlkLXBhbmVfdGVhc2VyX2NpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7IGJhY2tncm91bmQ6IHdoaXRlOyB9XG5cbiAgICAvLyY6OmJlZm9yZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hlYWRlci9sb2dvLWNpLnBuZycpOyB9XG4gICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgyLCAyKTtcblx0ICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmOjphZnRlciAgeyBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAgIC5jb250ZW50LWJveC1pbm5lciB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpOyB9XG5cbiAgICAuc2xpY2stcHJldixcbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBQRyBzcGVjaWZpY1xuICAvL1xuICAvLy5wcm9wZXJ0eS1ncm91cC10ZWFzZXIge1xuICAvLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvemJsX2Zyb250cGFnZV9wZy5qcGcnKTtcbiAgLy8gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC8vICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNSUgMTAwJTtcbiAgLy8gIGJvcmRlci10b3A6IDFweCBzb2xpZCB3aGl0ZTtcbiAgLy8gIHBhZGRpbmc6IDQwcHggMDtcbiAgLy9cbiAgLy8gIGgyLCBoMywgaDQsIGg1IHtcbiAgLy8gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIC8vICAgIG1hcmdpbjogMjBweCAwO1xuICAvL1xuICAvLyAgICAmOmZpcnN0LWNoaWxkIHtcbiAgLy8gICAgICBtYXJnaW4tdG9wOiAwO1xuICAvLyAgICB9XG4gIC8vICB9XG4gIC8vXG4gIC8vICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkge1xuICAvLyAgICBwYWRkaW5nOiA4MHB4IDA7XG4gIC8vICB9XG4gIC8vXG4gIC8vICAucHJvcGVydHktZ3JvdXAtdGVhc2VyLWlubmVyIHtcbiAgLy8gICAgQGluY2x1ZGUgb3V0ZXItZ3JpZC13cmFwcGVyKCk7XG4gIC8vXG4gIC8vICAgIC5yaWNodGV4dCA+ICogeyBjb2xvcjogd2hpdGU7IH1cbiAgLy8gIH1cbiAgLy9cbiAgLy8gIC5yaWNodGV4dCBhLmNvbnRlbnQtbG9nby1saW5rIHtcbiAgLy8gICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgLy9cbiAgLy8gICAgLmNvbnRlbnQtbG9nbyB7XG4gIC8vICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgLy8gICAgfVxuICAvL1xuICAvLyAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7XG4gIC8vICAgICAgbWF4LXdpZHRoOiAyNzVweDtcbiAgLy8gICAgICAuY29udGVudC1sb2dvIHtcbiAgLy8gICAgICAgIG1heC13aWR0aDogMjc1cHg7XG4gIC8vICAgICAgfVxuICAvLyAgICB9XG4gIC8vICB9XG4gIC8vXG4gIC8vICAubGVmdCxcbiAgLy8gIC5yaWdodCB7XG4gIC8vICAgIHBhZGRpbmc6IDAgMy42cmVtO1xuICAvLyAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAvLyAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkge1xuICAvLyAgICAgIHBhZGRpbmc6IDAgMy42cmVtO1xuICAvLyAgICAgIHdpZHRoOiA1MCU7XG4gIC8vICAgICAgZmxvYXQ6IGxlZnQ7XG4gIC8vICAgIH1cbiAgLy8gICAgcCwgdWwgbGksIGgzIHtcblx0Ly8gICAgICBjb2xvcjogd2hpdGU7XG4gIC8vICAgIH1cbiAgLy8gIH1cbiAgLy9cbiAgLy8gIC5sZWZ0IHtcbiAgLy8gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAvLyAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAvLyAgICB9XG4gIC8vICB9XG4gIC8vXG4gIC8vICAucmlnaHQge1xuICAvLyAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXR3by1jb2wpIHtcbiAgLy8gICAgICBwYWRkaW5nLXRvcDogNjhweDtcbiAgLy8gICAgfVxuICAvLyAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7XG4gIC8vICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyAgICAgIGxlZnQ6IDI1JTtcbiAgLy8gICAgfVxuICAvLyAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gIC8vICAgICAgZGlzcGxheTogbm9uZTtcbiAgLy8gICAgfVxuICAvLyAgfVxuICAvL1xuICAvLyAgLnJpZ2h0IC5jb250ZW50LWJsb2NrIHtcbiAgLy8gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdHdvLWNvbCkge1xuICAvLyAgICAgIHdpZHRoOiA1MCU7XG4gIC8vICAgIH1cbiAgLy8gIH1cbiAgLy9cbiAgLy8gIC5jZW50ZXJlZC1saW5rcyB7XG4gIC8vICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gIC8vICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLy8gICAgfVxuICAvLyAgfVxuICAvL1xuICAvLyAgLy8gSGlkZSB0aGUgdmlldyBoZWFkZXIgaW5pdGlhbGx5LCBzbyB3ZSBjYW4gdG9nZ2xlIGl0IHZpYSBKU1xuICAvLyAgLnZpZXctaGVhZGVyIHtcbiAgLy8gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAvLyAgICAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vICAgIH1cbiAgLy8gIH1cbiAgLy9cbiAgLy8gIC5wb3J0YWwtYnV0dG9uID4gc3BhbiB7XG4gIC8vICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIC8vICB9XG4gIC8vfVxuXG4gIC5mb290ZXItYm90dG9tIHtcbiAgICAvLyBIaWRlIHRoZSBob3Jpem9udGFsIGxpbmVcbiAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAvLyBGaXggdGhlIHJlc3VsdGluZyBiaWcgbWFyZ2luXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cblxuQG1peGluIGZyb250LXBhZ2UtdmFsaWduKCkge1xuXG4gIC8vIFBhZ2UgaGVhZGluZ1xuICAucGFuZS10aXRsZSwgaDEge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDY1cHggMTVweCAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExvZ28gb2YgcGFnZSBoZWFkaW5nXG4gICAgLy8mOjpiZWZvcmUgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgLy8gRGl2aWRlciBiZXR3ZWVuIGxvZ28gYW5kIGhlYWRpbmdcbiAgICAmOjphZnRlciAgeyBtYXJnaW4tdG9wOiAtNTBweCB9XG4gIH1cblxuICAvLyBJbnNpZGUgb2YgcG9ydGFsIHRlYXNlcnNcbiAgLnZpZXctemJsLXByb3BlcnRpZXMtZnJvbnQsXG4gIC52aWV3LWdsLXpibC1mcm9udHBhZ2UtcHJvcGVydGllcyB7XG4gICAgLy9wYWRkaW5nLXRvcDogNDBweDtcbiAgICAvL3BhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIC8vbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgIC8vIExvZ29zXG4gICAgLy8mOjpiZWZvcmUgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgLy8gRGl2aWRlciBiZXR3ZWVuIGxvZ28gYW5kIGhlYWRpbmdcbiAgICAvLyY6OmFmdGVyIHsgdG9wOiA5MHB4OyB9XG4gIH1cblxuICAvLyBTcGFjZSBiZXR3ZWVuIHRleHQgYW5kIHNsaWRlclxuICAudmlldy1oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2stcGcgKyAuY29udGVudC1ibG9jay1wZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cblxuICAvLyBCb3ggaW5zaWRlIG9mIHBvcnRhbCBzcGVjaWZpYyBzbGlkZXJzXG4gIC5jb250ZW50LWJveCB7XG4gICAgdG9wOiA0MHB4O1xuXG4gICAgLmNvbnRlbnQtYm94LWlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlICAgIHsgbWFyZ2luLXRvcDogMThweDsgfVxuICAgIC5wcmljZSAgICAgICB7IG1hcmdpbi10b3A6IDNweDsgfVxuICAgIC5kZXRhaWwtbGluayB7IG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgfVxuXG4gIC8vIEluc2lkZSBQRyB0ZWFzZXJcbiAgLy8uY29udGVudC1ibG9jay1wZyAucG9ydGFsLWxvZ28gICB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLy8uY29udGVudC1ibG9jay1wZyAucG9ydGFsLWJ1dHRvbiB7IG1hcmdpbi10b3A6IDQwcHg7IH1cblxuICAvLyBNYWtlIHVwIGZvciB0aGUgbG9nbyAoMzhweCkgYW5kIHRoZSBhZGRpdGlvbmFsIG1hcmdpbiBvZiA0MHB4IG9uIHRoZSBsZWZ0IHNpZGVcbiAgLmNvbnRlbnQtYmxvY2stcGcucmlnaHQgLnJpY2h0ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA3OHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cblxuYm9keS5mcm9udCB7XG5cdC5jZW50ZXJlZC1saW5rcyAuYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0LmNvbnRlbnQtYmxvY2sge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sYW5nX2Ryb3Bkb3duX2Zvcm0sXG4gIC5wYW5lLWdsLXpibC1nbG9iYWwtemFiZWwtbG9nb3V0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgIG1hcmdpbi10b3A6IDI3cHg7XG4gICAgfVxuICB9XG4gIC5jb250ZW50LWJsb2NrLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxuICAuY29udGVudC1ibG9jay10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG4gIGRpdi52aWV3LWRpc3BsYXktaWQtcGFuZV90ZWFzZXJfZmgsXG4gIGRpdi52aWV3LWRpc3BsYXktaWQtcGFuZV90ZWFzZXJfY2ksXG4gIGRpdi5wcm9wZXJ0eS1ncm91cC10ZWFzZXIgLmxlZnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMzMuMzN2aCAtIDE1cHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2sucmljaHRleHQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudC1ibG9jay10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQtYmxvY2stdHJpZ2dlciB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRicmlnaHQtcmVkO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wcm9wZXJ0eS1ncm91cC10ZWFzZXIgLnByb3BlcnR5LWdyb3VwLXRlYXNlci1pbm5lciAubGVmdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cbiAgLmwtY29udGVudC1yZWdpb24geyBcbiAgICAvL0BpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcjsgXG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZnJvbnQtcGFnZS1sYXlvdXQoKTtcbiAgQGluY2x1ZGUgZnJvbnQtcGFnZS1kZXNpZ24oKTtcbiAgQGluY2x1ZGUgZnJvbnQtcGFnZS10eXBvKCk7XG4gIEBpbmNsdWRlIGZyb250LXBhZ2UtdmFsaWduKCk7XG59XG5cbiNza2lwIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsIiRhZGFwdC1rZXktZmlndXJlcy0xOiA0ODBweCA2NjlweDtcbiRhZGFwdC1rZXktZmlndXJlcy0yOiA3NjhweCAxMTY3cHg7XG4kYWRhcHQta2V5LWZpZ3VyZXMtMzogMTE2OHB4O1xuXG4kY3VzdG9tLW9uZS1jb2w6IDAgNjY5cHg7XG4kY3VzdG9tLXR3by1jb2w6IDY3MHB4O1xuXG5AaW1wb3J0IFwicHJvcGVydHktZGV0YWlsLWxwXCI7XG5cbkBtaXhpbiBwcm9wZXJ0eS1pbmZvcm1hdGlvbi12YWxpZ24oKSB7XG4gIC8vIGNvbXBlbnNhdGUgbGFyZ2UgbGluZS1oZWlnaHRcbiAgLmhlYWRpbmcgPiBoMiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10d28tY29sKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgIH1cbiAgfVxuXG4gIC5oaWdobGlnaHQtZmlndXJlcyArIC5rZXktZmlndXJlcyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIHByb3BlcnR5LWluZm9ybWF0aW9uLWhpZ2hsaWdodC1maWd1cmVzKCkge1xuICAuaGlnaGxpZ2h0LWZpZ3VyZXMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuaGlnaGxpZ2h0LWZpZ3VyZXMgbGkge1xuICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAudmFsdWUge1xuICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgfVxuICAgICAudW5pdCB7XG4gICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICB9XG4gICB9XG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHsgd2lkdGg6IDUwJTsgfVxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10d28tY29sKSB7IHdpZHRoOiAyNSU7IH1cbi8vICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFkYXB0LWtleS1maWd1cmVzLTIpIHsgd2lkdGg6IDUwJTsgfVxuLy8gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYWRhcHQta2V5LWZpZ3VyZXMtMykgeyB3aWR0aDogMjUlOyB9XG5cblxuLy8gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuLy8gICAgICAmOm50aC1jaGlsZCgzKSxcbi8vICAgICAgJjpudGgtY2hpbGQoNCkgeyBtYXJnaW4tdG9wOiAxMnB4OyB9XG4vLyAgICB9XG4vLyAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhZGFwdC1rZXktZmlndXJlcy0yKSB7XG4vLyAgICAgICY6bnRoLWNoaWxkKDMpLFxuLy8gICAgICAmOm50aC1jaGlsZCg0KSB7IG1hcmdpbi10b3A6IDEycHg7IH1cbi8vICAgIH1cblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC52YWx1ZSB7XG4gICAgICBAaW5jbHVkZSBmcy1wcm9wZXJ0eS1kZXRhaWwta2V5LWZpZ3VyZS12YWx1ZSgpO1xuICAgICAgd2hpdGUtc3BhY2U6IHByZTsgIC8vIENocm9tZSBsaWtlcyB0byBoYXZlIHRoYXQgb25lXG4gICAgfVxuICAgIC51bml0IHtcbiAgICAgIEBpbmNsdWRlIGZzLXByb3BlcnR5LWRldGFpbC1rZXktZmlndXJlLXVuaXQoKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAucHJvcGVydHktcHJpY2Uge1xuICAgIHBhZGRpbmc6IDdweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICB9XG4gIC5lbmVyZ3ktdmFsdWVzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNpbHZlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogOHB4IDA7XG5cbiAgICAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAubGFiZWwtaW5saW5lIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLml0ZW1zLXdyYXBwZXIge1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcsICc7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxhc3Q6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIHByb3BlcnR5LWluZm9ybWF0aW9uLWtleS1maWd1cmVzKCkge1xuXG4gIEBpbmNsdWRlIGh5cGhlbmF0ZSgpO1xuXG4gIC8vIEF0IGZpcnN0IHdlIGdldCB0aGUgbGlzdCBzdHlsZXMgZm9yIGtleS1maWd1cmVzIGZyb20gdGhlIHRlYXNlcnNcbiAgQGluY2x1ZGUgcHJvcGVydHktdGVhc2VyLWluZm9ib3gtaW5uZXItbGF5b3V0KCk7XG5cbiAgLmtleS1maWd1cmVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCd0ZXh0LWFsaWduJywgJ3JpZ2h0Jyk7XG4gIH1cbiAgLmtleS1maWd1cmVzIHNwYW4geyBAaW5jbHVkZSBmcy1wYXJhZ3JhcGgoKTsgfVxuXG4gIC5rZXktZmlndXJlcyAubGFiZWwgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgLy8gVGhlcmUgaXMgb25seSBvbmUgcHJpY2UgaW4gRkggcHJvcGVydGllc1xuICAucHJvcGVydHktcHJpY2UgLnByaWNlIHNwYW4ge1xuICAgIEBpbmNsdWRlIGZzLXByb3BlcnR5LWRldGFpbC1rZXktZmlndXJlLXZhbHVlKCk7XG5cbiAgICAmLnByaWNlLXJlcXVlc3Qge1xuICAgICAgQGluY2x1ZGUgZnMtcGFyYWdyYXBoKCk7XG4gICAgfVxuICB9XG4gIC5wcm9wZXJ0eS1wcmljZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBmcy1wYXJhZ3JhcGgoKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBoYXZlIHByaWNlIHJhbmdlcyBpbiBDSSBwcm9wZXJ0aWVzXG4gIC5wcm9wZXJ0eS1wcmljZSAucHJpY2UtcmFuZ2UtZnJvbSxcbiAgLnByb3BlcnR5LXByaWNlIC5kaXZpZGVyLFxuICAucHJvcGVydHktcHJpY2UgLnByaWNlLXJhbmdlLXRvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gaWYgdGhlIHJpZ2h0IHNpZGUgaGFzIGEgbGluZS1icmVhaywgd2Ugd2FudCB0aGVcbiAgLy8gbGVmdCBzaWRlIHRvIGFsaWduIGF0IHRoZSB0b3BcbiAgLyoua2V5LWZpZ3VyZXMgLnByaWNlLXJhbmdlLWZyb20ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9Ki9cblxuICAvKi5rZXktZmlndXJlcyAucHJpY2UtcmFuZ2UtZnJvbSxcbiAgLmtleS1maWd1cmVzIC5wcmljZS1yYW5nZS10byB7XG4gICAgd2lkdGg6IDQ3LjUlO1xuICB9Ki9cblxuICAucHJvcGVydHktcHJpY2UgLnByaWNlIHNwYW4ge1xuICAgIEBpbmNsdWRlIGZzLXByb3BlcnR5LWRldGFpbC1rZXktZmlndXJlLXZhbHVlKCk7XG4gIH1cblxuICAua2V5LWZpZ3VyZXMgLmRpdmlkZXIge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgQGluY2x1ZGUgZnMtcHJvcGVydHktZGV0YWlsLWtleS1maWd1cmUtdW5pdCgpO1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLy8gV2UgaGF2ZSB0byBoYW5kbGUgcHJpY2UtcmFuZ2VzIGluIG9uZSBjb2xcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgIC5rZXktZmlndXJlcyAucHJpY2UtcmFuZ2UtZnJvbSxcbiAgICAua2V5LWZpZ3VyZXMgLmRpdmlkZXIsXG4gICAgLmtleS1maWd1cmVzIC5wcmljZS1yYW5nZS10byB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvcGVydHktZGV0YWlsIHtcbiAgLmh0bWwgLmwtY29udGVudCAmIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvL1xuICAvLyBJbmZvcm1hdGlvbiBzZWN0aW9uXG4gIC8vXG4gIC5wcm9wZXJ0eS1pbmZvcm1hdGlvbiB7XG4gICAgQGluY2x1ZGUgcHJvcGVydHktaW5mb3JtYXRpb24tdmFsaWduKCk7XG4gICAgQGluY2x1ZGUgcHJvcGVydHktaW5mb3JtYXRpb24taGlnaGxpZ2h0LWZpZ3VyZXMoKTtcbiAgICBAaW5jbHVkZSBwcm9wZXJ0eS1pbmZvcm1hdGlvbi1rZXktZmlndXJlcygpO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoMixcbiAgICAgIGgzLnNlY3Rpb24tdGl0bGUgeyBAaW5jbHVkZSBiZWhhdmUtbGlrZS1oMSgpOyB9XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgwcHggMTAyNHB4KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIC5pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAubGF6eWxvYWRlci1pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuICAgIC5rZXktZmlndXJlcyAucHJpY2Ugc3BhbiB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnByb3BlcnR5LWRlc2NyaXB0aW9uIHtcblxuICAgICAgQGluY2x1ZGUgcnRsLXNwZWNpZmljKCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICAgIEBpbmNsdWRlIHJ0bC1zcGVjaWZpYygnZmxleC1mbG93JywgJ3JvdyB3cmFwJyk7XG5cbiAgICAgIC56Ymwtc2VjdGlvbi1jaSAmIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICAgICAgICAgIC5yaWdodC1zaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9yZGVyKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubGVmdC1zaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9yZGVyKDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlubmVyIGxheW91dFxuICAgIC5sZWZ0LXNpZGUsXG4gICAgLnJpZ2h0LXNpZGUge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkgeyBAaW5jbHVkZSBmbG9hdC1zcGFuKDQsIDEsICRncmlkOiA4LCAkZ3V0dGVyOiAkZ3V0dGVyLS10ZXh0KTsgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsb2F0LXNwYW4oNCwgMSwgJGdyaWQ6IDQsICRndXR0ZXI6ICRndXR0ZXItLXRleHQpO1xuXG4gICAgICAgIC5jZW50ZXJlZC1saW5rcyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sZWZ0LXNpZGV7XG4gICAgICAmLnJpY2h0ZXh0IHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5yaWdodC1zaWRlIHtcbiAgICAgICYucmljaHRleHQge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10YWJsZXQpIHtcbiAgICAgIC5yaWdodC1zaWRlIHtcbiAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgIH1cbiAgICAgIC5sZWZ0LXNpZGUge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lbnRpdHktcGFyYWdyYXBocy1pdGVtIHtcbiAgICAucmljaHRleHQge1xuICAgICAgLnF1b3Rlcy1hdXRob3Ige1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkge1xuICAgICAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZHMtYm90dG9tIHtcbiAgICAuZmlsZS12aWRlbyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDEwJSArIDMuNnJlbSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEwJSArIDMuNnJlbSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRocmVlLWNvbCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy42cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYW5lbC1wYW5lLXNob3ctb2JqZWN0LWxpbmstdHJ1ZSAuZGV0YWlsLWxpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFyYWdyYXBocy1pdGVtcyB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgLy9AVE9ETyBjaGVjayBwYWRkaW5nIG9uIGxhbmluZyBwYWdlc1xuICAgICAgJi5wYXJhZ3JhcGhzLWl0ZW1zLWZpZWxkLXpibC1wcm9wZXJ0eS1jb250ZW50LXRvcC1mdWxse1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgICAgLnBhcmFncmFwaHMtaXRlbS16YmwtbHAtcHJvcGVydHktdW5pdHMge1xuICAgICAgICBAaW5jbHVkZSBscC1wYXJhZ3JhcGgtb2RkLXNwZWNpZmljKCk7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiZWhhdmUtbGlrZS1oMSgpO1xuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDI1ICogJGZvbnQtbW9kaWZpZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yaWNodGV4dCB7XG4gICAgICAgICAgLnF1b3Rlcy1hdXRob3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVucXVpcmUtbm93LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb3BlcnR5LXRlYXNlcnMtLTRjb2wge1xuICAgICAgICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb3BlcnR5LXRlYXNlcnMtLTRjb2wge1xuICAgICAgICAgID4gLnZpZXctY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC52aWV3cy1yb3cge1xuICAgICAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG5cbiAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhpZGUtY2VudGVyZWQtbGlua3Mge1xuICAgICAgICAgICAgLmluZm9ib3gge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb3BlcnR5LXRlYXNlci0tNGNvbCB7XG4gICAgICAgICAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRldGFpbC1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNDAlO1xuICAgIG1hcmdpbjogNDBweCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMy42cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjZyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9wZXJ0eS1kZXNjcmlwdGlvbiAuY2VudGVyZWQtbGlua3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAucHJvcGVydHktdGVhc2VyLS00Y29sIC5jZW50ZXJlZC1saW5rcyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAjcHJvcGVydHktbWFwIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWlkLXpibF9nbWFwIHtcbiAgICAuaXAtZ2VvbG9jLW1hcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cbiAgICAuZmlsdGVycyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IDM1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sb3JlZCB7XG4gICAgICAgICAgY29sb3I6ICRicmlnaHQtcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mYS1hbmdsZS1kb3VibGUtZG93bi1ibGFjay5wbmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbG9yZWQge1xuICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0LXJlZDtcbiAgICAgICAgfVxuICAgICAgICAmLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZhLWFuZ2xlLWRvdWJsZS11cC1ibGFjay5wbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnVpLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4IDM1cHg7XG4gICAgICB9XG4gICAgICAuZmlsdGVyLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICAgICAgJi5jb2xvcmVkIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGJyaWdodC1yZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbG9yZWQgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0LXJlZDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpbHRlcnNfX2lubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgbWluLXdpZHRoOiA0MDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMzVweCAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHtcbiAgICAgICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuZmlsdGVyc19fdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhcmFncmFwaHMtaXRlbXMtZmllbGQtemJsLXByb3BlcnR5LWNvbnRlbnQtbGFzdCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHdoaXRlO1xuICB9XG5cbiAgLy8gQ29uZmlybWF0aW9uIE1lc3NhZ2VcbiAgLy8gVG9kbzpcbiAgLnN1Ym1pdC1tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG4gICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgyLCAyKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIH1cbn1cblxuLmJnLWxvY2F0aW9uIHtcblxuICAubC1pbmRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMHB4IDEwMjRweCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjZyZW07XG4gICAgcGFkZGluZy1yaWdodDogMy42cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLm5vZGUtdHlwZS16YmwtcHJvcGVydHktZmgsXG4ubm9kZS10eXBlLXpibC1wcm9wZXJ0eS1jaSB7XG5cbiAgPiAuc2VjdGlvbi1jb250ZW50LWl0ZW0sXG4gIC5zZWN0aW9uLWNvbnRlbnQtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbn1cblxuLmxhbmctcnRsIHtcbiAgLnByb3BlcnR5LWRldGFpbCAucHJvcGVydHktZGVzY3JpcHRpb24ge1xuXG4gICAgLmxlZnQtc2lkZSAge1xuICAgICAgQGluY2x1ZGUgb3JkZXIoMSk7XG4gICAgfVxuICAgIC5yaWdodC1zaWRlIHtcbiAgICAgIEBpbmNsdWRlIG9yZGVyKDIpO1xuICAgIH1cblxuICB9XG59XG5cbi5ub2RlLXpibC1wYWdlIHtcbiAgLnBhcmFncmFwaHMtaXRlbXMtZmllbGQtemJsLXMtc2VjdGlvbiB7XG4gICAgLnBhbmVsLXBhbmUtc2hvdy1vYmplY3QtbGluay10cnVlIC5kZXRhaWwtbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucGFyYWdyYXBocy1pdGVtLXpibC1scC1wcm9wZXJ0eS11bml0cyB7XG4gICAgICBAaW5jbHVkZSBscC1wYXJhZ3JhcGgtb2RkLXNwZWNpZmljKCk7XG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBAaW5jbHVkZSBiZWhhdmUtbGlrZS1oMSgpO1xuXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNSAqICRmb250LW1vZGlmaWVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJpY2h0ZXh0IHtcbiAgICAgICAgLnF1b3Rlcy1hdXRob3Ige1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gICAgICAgICAgICB3aWR0aDogNjYuNjYlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5lbnF1aXJlLW5vdy1idXR0b24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5wcm9wZXJ0eS10ZWFzZXJzLS00Y29sIHtcbiAgICAgICAgLnZpZXctY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm9wZXJ0eS10ZWFzZXJzLS00Y29sIHtcbiAgICAgICAgPiAudmlldy1jb250ZW50IHtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IC52aWV3cy1yb3cge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRlLWNlbnRlcmVkLWxpbmtzIHtcbiAgICAgICAgICAuaW5mb2JveCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm9wZXJ0eS10ZWFzZXItLTRjb2wge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAuY2VudGVyZWQtbGlua3Mge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgICAuZGV0YWlsLWxpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWFyZ2luIHRvcCBpcyBuZWNlc3Nhcnkgb24gcGFnZVxuICAgICAgLy8gU2FtZSBhcyBfY29udGVudC1zZWN0aW9uLW1hcmdpbnMuc2Nzc1xuICAgICAgQGZ1bmN0aW9uIHBhZ2Utc2VjdGlvbi1tYXJnaW4tdG9wKCRiYXNlLXNpemUsICRmYWN0b3IpIHtcbiAgICAgICAgQHJldHVybiAkYmFzZS1zaXplICogJGZhY3RvcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtb25lLWNvbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYWdlLXNlY3Rpb24tbWFyZ2luLXRvcCgkc2VjdGlvbi1tYXJnaW4tbWVkaXVtLCAwLjQpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdHdvLWNvbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYWdlLXNlY3Rpb24tbWFyZ2luLXRvcCgkc2VjdGlvbi1tYXJnaW4tbWVkaXVtLCAwLjYpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdGhyZWUtY29sKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBhZ2Utc2VjdGlvbi1tYXJnaW4tdG9wKCRzZWN0aW9uLW1hcmdpbi1tZWRpdW0sIDAuOCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLWZvdXItY29sKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBhZ2Utc2VjdGlvbi1tYXJnaW4tdG9wKCRzZWN0aW9uLW1hcmdpbi1tZWRpdW0sIDEpO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmVudGl0eS1wYXJhZ3JhcGhzLWl0ZW0uemJsLXVuY2hlY2tlZC1ibHVlLXBhcmFncmFwaDpub3QoLnBhcmFncmFwaHMtaXRlbS16YmwtYWZmaWxpYXRlcyk6bm90KC5wYXJhZ3JhcGhzLWl0ZW0temJsLWF3YXJkcykge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAuaGVhZGluZyBoMiB7XG4gICAgICAgICAgY29sb3I6ICMxMzM3NWIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudmlldy1tb2RlLXByb3BlcnR5X2NvbHVtbiB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Q0RDJEMjtcbiAgICAgICAgfVxuICAgICAgQGluY2x1ZGUgaGVhZGluZy11bmNoZWNrZWQtYmx1ZSgpO1xuICAgICAgfVxuICAgIC5lbnRpdHktcGFyYWdyYXBocy1pdGVtLnpibC1jaGVja2VkLWJsdWUtcGFyYWdyYXBoIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1NTY5Nzc7XG4gICAgICAmLCAuZHMtZHMtdGV4dCB7XG4gICAgICAgIGgyLCBwIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnBhcmFncmFwaHMtaXRlbS16YmwtY29udGVudC1tZWRpYS10ZXh0LFxuICAgICAgJi5wYXJhZ3JhcGhzLWl0ZW0temJsLWNvbnRlbnQtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyOXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBoMiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5wYXJhZ3JhcGhzLWl0ZW0temJsLWNvbnRlbnQtbWVkaWEge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjlweDtcbiAgICAgICAgLmRzLWRzLW1lZGlhIGltZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnBhcmFncmFwaHMtaXRlbS16YmwtY29udGVudC10ZXh0LW1lZGlhLFxuICAgICAgJi5wYXJhZ3JhcGhzLWl0ZW0temJsLWNvbnRlbnQtdGV4dC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIH1cbiAgICAgICYucGFyYWdyYXBocy1pdGVtLXpibC1scC1wcm9wZXJ0eS11bml0cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGhlYWRpbmctY2hlY2tlZC1ibHVlKCk7XG5cblxuICB9XG59XG5cbiIsIkBtaXhpbiBscC1wYXJhZ3JhcGgtb2RkLXNwZWNpZmljKCkge1xuICBiYWNrZ3JvdW5kOiAkc2h1dHRsZS1ncmF5O1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHAsIGgxLCBoMiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLmhlYWRpbmcge1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLnByb3BlcnR5LXRlYXNlci0tNGNvbCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB9XG4gIC5pbmZvYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLTQ7XG5cbiAgICBoMywgc3BhbiB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3ItNDtcbiAgICB9XG4gICAgLnpibC1jdXJyZW5jeSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3ItNDtcbiAgICB9XG4gICAgLmxhYmVsLFxuICAgIC52YWx1ZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3ItNDtcbiAgICAgICoge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxwLXBhcmFncmFwaC1ldmVuLXNwZWNpZmljKCkge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGgxIHtcbiAgICBjb2xvcjogJGJsdWUtem9kaWFjO1xuICB9XG4gIHAsIGgyIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItNDtcbiAgfVxuICAuaGVhZGluZyB7XG4gICAgaDIge1xuICAgICAgY29sb3I6ICRibHVlLXpvZGlhYztcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZS16b2RpYWM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlLXpvZGlhYztcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRzaXJvY2NvO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjODQ4NDg0O1xuICAgICAgICBib3JkZXItY29sb3I6ICM4NDg0ODQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvcGVydHktdGVhc2VyLS00Y29sIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2h1dHRsZS1ncmF5O1xuICB9XG4gIC5pbmZvYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2h1dHRsZS1ncmF5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBoMywgc3BhbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuemJsLWN1cnJlbmN5IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5sYWJlbCxcbiAgICAudmFsdWUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICoge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGVhZGluZy1jaGVja2VkLWJsdWUoKSB7XG4gIC5oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICBoMiB7XG4gICAgICBAaW5jbHVkZSBiZWhhdmUtbGlrZS1oMSgpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNSAqICRmb250LW1vZGlmaWVyO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2NjYztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE4MTg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQG1peGluIGhlYWRpbmctdW5jaGVja2VkLWJsdWUoKSB7XG4gIC5oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICBoMiB7XG4gICAgICBAaW5jbHVkZSBiZWhhdmUtbGlrZS1oMSgpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNSAqICRmb250LW1vZGlmaWVyO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2NjYztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBjb2xvcjogJGJsdWUtem9kaWFjO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZS16b2RpYWM7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHNpcm9jY287XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMTgxODtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxufVxuXG4ubm9kZS10eXBlLW1hc3Rlci1wcm9wZXJ0eS5sYW5kaW5nLXBhZ2UubHAtdW5pdCB7XG4gIC5sLWNvbnRlbnQge1xuICAgIC5zZWN0aW9uLWl0ZW0ucHJvcGVydHktZGV0YWlsIHtcbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgLmxlZnQtc2lkZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0LXNpZGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5ub2RlLXR5cGUtbWFzdGVyLXByb3BlcnR5IHtcbiAgLnBhcmFncmFwaHMtaXRlbS16YmwtbHAtZmxvb3JwbGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBmaXggZm9yIHNpbmdsZSBpbWFnZVxuICAgIC5tZWRpYS0taW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4ubm9kZS10eXBlLW1hc3Rlci1wcm9wZXJ0eS5sYW5kaW5nLXBhZ2Uge1xuICAuaGVhZGluZyB7XG4gICAgaDIge1xuICAgICAgQGluY2x1ZGUgYmVoYXZlLWxpa2UtaDEoKTtcblxuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICBmb250LXNpemU6IDI1ICogJGZvbnQtbW9kaWZpZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sLWNvbnRlbnQge1xuICAgIC5zZWN0aW9uLWl0ZW0ucHJvcGVydHktZGV0YWlsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZW50aXR5LXBhcmFncmFwaHMtaXRlbSB7XG4gICAgLnJpY2h0ZXh0IHtcbiAgICAgIC5xdW90ZXMtYXV0aG9yIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHtcbiAgICAgICAgICB3aWR0aDogNjYuNjYlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVucXVpcmUtbm93LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LXRlYXNlcnMtLTRjb2wge1xuICAgICAgLnZpZXctY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5kcy1ib3R0b20ge1xuICAgIC5lbnRpdHktcGFyYWdyYXBocy1pdGVtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tbWVkaXVtO1xuICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLW1hcmdpbi1tZWRpdW07XG5cbiAgICAgICYubGFzdCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tbGFyZ2U7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLm9kZCB7XG4gICAgICAgIEBpbmNsdWRlIGxwLXBhcmFncmFwaC1vZGQtc3BlY2lmaWMoKTtcbiAgICAgIH1cbiAgICAgICYuZXZlbiB7XG4gICAgICAgIEBpbmNsdWRlIGxwLXBhcmFncmFwaC1ldmVuLXNwZWNpZmljKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaHMtaXRlbS16YmwtbHAtZmxvb3JwbGFuIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnNsaWNrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zLjZyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNnJlbTtcbiAgICAgIH1cbiAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGlkZV9fY29udGVudCB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yaWNodGV4dCB7XG4gICAgICAgIG1heC13aWR0aDogODk1cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy42cmVtO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi0tbGFyZ2Uge1xuICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzLjZyZW1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsLFxuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaHMtaXRlbS16YmwtbHAtdGl0bGVzLXRleHQtbWVkaWEsXG4gICAgLnBhcmFncmFwaHMtaXRlbS16YmwtY29udGVudC1tZWRpYS10ZXh0IHtcbiAgICAgIC5yaWNodGV4dC5sLWhhbGYtbWVkaWEgaDEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYXJhZ3JhcGhzLWl0ZW0temJsLWNvbnRlbnQtbWVkaWEtdGV4dCxcbiAgICAucGFyYWdyYXBocy1pdGVtLWxwLXRpdGxlcy1tZWRpYS10ZXh0IHtcbiAgICAgIC5yaWNodGV4dCB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9wZXJ0eS10ZWFzZXJzLS00Y29sIHtcbiAgICAgID4gLnZpZXctY29udGVudCB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtZXh0cmEtbGFyZ2UtcGhvbmUpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLnZpZXdzLXJvdyB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuXG4gICAgICAgICAgJjpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXRhYmxldCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5oaWRlLWNlbnRlcmVkLWxpbmtzIHtcbiAgICAgICAgLmluZm9ib3gge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm9wZXJ0eS10ZWFzZXItLTRjb2wge1xuICAgICAgLmNlbnRlcmVkLWxpbmtzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgLmRldGFpbC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFuZWwtcGFuZS1zaG93LW9iamVjdC1saW5rLXRydWUge1xuICAgICAgLnByb3BlcnR5LXRlYXNlci0tNGNvbCB7XG4gICAgICAgIC5kZXRhaWwtbGluayB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaHMtaXRlbS16YmwtbHAtdGl0bGVzLXRleHQtdGV4dCB7XG4gICAgICAuYnV0dG9uLS1sYXJnZSB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucGFyYWdyYXBocy1pdGVtLXpibC1scC10aXRsZXMtdGV4dC1tZWRpYSxcbiAgICAucGFyYWdyYXBocy1pdGVtLXpibC1scC10aXRsZXMtdGV4dC10ZXh0IHtcbiAgICAgIC5sLWJvdHRvbSB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uLS1sYXJnZSB7XG4gICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMy42cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuNnJlbVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5iZWFuLXpibC1scC10aXRsZXMtdGV4dC10ZXh0LWZvcm0ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuICAgIHAge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5idXR0b24tLWxhcmdlIHtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgIH1cbiAgICAuaGVhZGluZyB7XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmwtYm90dG9tIHtcbiAgICAgIHAge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbi0tbGFyZ2Uge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy42cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubHAtdW5pdCB7XG4gICAgLy8gU3dhcCBldmVuL2FkZCBiZWhhdmlvciBmb3IgTFAgU3RvcmllcyAodW5pdHMpLlxuICAgIC5kcy1ib3R0b20ge1xuICAgICAgLmVudGl0eS1wYXJhZ3JhcGhzLWl0ZW0ge1xuXG4gICAgICAgICYub2RkIHtcbiAgICAgICAgICBAaW5jbHVkZSBscC1wYXJhZ3JhcGgtZXZlbi1zcGVjaWZpYygpO1xuICAgICAgICB9XG4gICAgICAgICYuZXZlbiB7XG4gICAgICAgICAgQGluY2x1ZGUgbHAtcGFyYWdyYXBoLW9kZC1zcGVjaWZpYygpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIC5wYW5lbC1wYW5lLXNob3ctb2JqZWN0LWxpbmstdHJ1ZSAuZGV0YWlsLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIubC1mdWxsIC52aWV3LWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmwtY29udGVudCAudmlldy1jb250ZW50IHtcbiAgQGluY2x1ZGUgb3V0ZXItZ3JpZC13cmFwcGVyKCk7XG59XG5cbi8vIFRvZG86IGFia2zDpHJlbiB3YXMgYmVpIGJsb2cgcGFzc2llcmVuIHNvbGwuXG4vLyBUb2RvOiBpbnN0ZWFkIG9mIHRoZSAqLWlubmVyIGltcGxlbWVudGF0aW9uIHVzZSBzZWN0aW9ucyBpbiB0ZW1wbGF0ZXMvcHJlcHJvY2Vzc2luZ1xuLmF3YXJkcy10ZWFzZXItaW5uZXIsXG4uYWZmaWxpYXRpb25zLXRlYXNlci1pbm5lcixcbi5kZWNhZGUtZ3JvdXAtaW5uZXIsXG4ubmV3cy10ZWFzZXItaW5uZXIsXG4uZW1wbG95ZWUtZ3JvdXAtaW5uZXIge1xuICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcbn1cbiIsIi5wYW5lbC1wYW5lLXByb3BlcnR5LWxpc3QtdGl0bGUge1xuICBoMi5wYW5lLXRpdGxlIHtcbiAgICBwYWRkaW5nOiA0NXB4IDBweCAwcHggMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnBhbmVsLXBhbmUtc2hvdy1vYmplY3QtbGluay1mYWxzZSB7XG4gIC5jZW50ZXJlZC1saW5rcyB7XG4gICAgLmRldGFpbC1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIucGFuZS16YmwtcHJvcGVydGllcy1wYW5lLXVucHJvbW90ZWQgLnZpZXctaGVhZGVyIHtcbiAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMigpO1xuICBtYXJnaW4tdG9wOiA1MnB4O1xuICBtYXJnaW4tYm90dG9tOiA1MnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIHRoZW1lLXNwZWNpZmljKCdjb2xvcicsIHdoaXRlLCAkdGV4dC1jb2xvci00LCAkdGV4dC1jb2xvci00KTtcbn1cblxuLnZpZXctZGlzcGxheS1pZC1wYW5lX3Byb21vdGVkID4gLnZpZXctY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnpibC1zZWN0aW9uLWZoLFxuLnpibC1zZWN0aW9uLWNpIHtcblxuLm1vZGFsIHtcblx0ICAkYmFzZS1ib3JkZXItY29sb3I6ICNkY2RjZGMgIWRlZmF1bHQ7XG5cdCAgJGJhc2UtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuXHQgICRiYXNlLWJhY2tncm91bmQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cdCAgJGJhc2UtZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG5cdCAgJGJhc2UtbGluZS1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuXHQgICRhY3Rpb24tY29sb3I6ICM0NzdkY2EgIWRlZmF1bHQ7XG5cdCAgJGRhcmstZ3JheTogIzMzMyAhZGVmYXVsdDtcblx0ICAkbGlnaHQtZ3JheTogI2RkZCAhZGVmYXVsdDtcblx0ICAkbWVkaXVtLXNjcmVlbjogZW0oNjQwKSAhZGVmYXVsdDtcblx0ICAkbGFyZ2Utc2NyZWVuOiBlbSg4NjApICFkZWZhdWx0O1xuXHQgICRiYXNlLWZvbnQtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cdCAgJG1vZGFsLXBhZGRpbmc6IDNlbTtcblx0ICAkbW9kYWwtYmFja2dyb3VuZDogJGJhc2UtYmFja2dyb3VuZC1jb2xvcjtcblx0ICAkbW9kYWwtY2xvc2UtY29sb3I6ICRsaWdodC1ncmF5O1xuXHQgICRtb2RhbC1pbWFnZS1oZWlnaHQ6IDEzNXB4O1xuXHQgICRtb2RhbC1pbWFnZS13aWR0aDogJG1vZGFsLWltYWdlLWhlaWdodDtcblx0ICAkbW9kYWwtdHJpZ2dlci1pbWFnZS13aWR0aDogMzAwcHg7XG5cdFxuXHQgIGxhYmVsIHtcblx0ICAgIGN1cnNvcjogcG9pbnRlcjtcblx0ICAgIG1hcmdpbi1ib3R0b206IDA7XG5cdCAgfVxuXHRcblx0ICBsYWJlbCBpbWcge1xuXHQgICAgYm9yZGVyLXJhZGl1czogJG1vZGFsLXRyaWdnZXItaW1hZ2Utd2lkdGggLyAyO1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICBtYXgtd2lkdGg6ICRtb2RhbC10cmlnZ2VyLWltYWdlLXdpZHRoO1xuXHQgIH1cblx0XG5cdCAgLm1vZGFsLXN0YXRlIHtcblx0ICAgIGRpc3BsYXk6IG5vbmU7XG5cdCAgfVxuXHRcblx0ICAubW9kYWwtdHJpZ2dlciB7XG5cdCAgICBwYWRkaW5nOiAwLjhlbSAxZW07XG5cdCAgfVxuXHRcblx0ICAubW9kYWwtZmFkZS1zY3JlZW4geyAvLyBvdmVybGF5XG5cdCAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4yNXMgZWFzZSk7XG5cdCAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCk7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIDAuODUpO1xuXHQgICAgb3BhY2l0eTogMDtcblx0ICAgIHBhZGRpbmctdG9wOiAwLjZlbTtcblx0ICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdCAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cdCAgICB6LWluZGV4OiA5OTk5OTk5OTk5OTtcblx0XG5cdFxuXHRcblx0ICAgIC5tb2RhbC1iZyB7XG5cdCAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcblx0ICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXHQgICAgfVxuXHQgIH1cblx0XG5cdCAgLm1vZGFsLWNsb3NlIHtcblx0ICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxZW0gMWVtIG51bGwgbnVsbCk7XG5cdCAgICBAaW5jbHVkZSBzaXplKDMwcHgpO1xuXHQgICAgY3Vyc29yOiBwb2ludGVyO1xuXHQgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICAgIFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcblx0ICAgICY6YWZ0ZXIsXG5cdCAgICAmOmJlZm9yZSB7XG5cdCAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA3cHggN3B4IDAgNTAlKTtcblx0ICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuXHQgICAgICBAaW5jbHVkZSBzaXplKDJweCAyMXB4KTtcblx0ICAgICAgYmFja2dyb3VuZDogJG1vZGFsLWNsb3NlLWNvbG9yO1xuXHQgICAgICBjb250ZW50OiAnJztcblx0ICAgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICAgIG1hcmdpbjogLTNweCAwIDAgLTFweDtcblx0ICAgIH1cblx0XG5cdCAgICAmOmhvdmVyOmFmdGVyLFxuXHQgICAgJjpob3ZlcjpiZWZvcmUge1xuXHQgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG1vZGFsLWNsb3NlLWNvbG9yLCAxMCUpO1xuXHQgICAgfVxuXHRcblx0ICAgICY6YmVmb3JlIHtcblx0ICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcblx0ICAgIH1cblx0ICB9XG5cdFxuXHQgIC5tb2RhbC1pbm5lciB7XG5cdFx0ICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4yNXMgZWFzZSk7XG5cdCAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcblx0ICAgIG1hcmdpbi10b3A6IDA7XG5cdCAgICB0b3A6IDA7XG5cdCAgICBtYXJnaW46IGF1dG87XG5cdCAgICBtYXgtaGVpZ2h0OiA4NXZoO1xuXHQgICAgb3ZlcmZsb3c6IGF1dG87XG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICB3aWR0aDogOTAlO1xuXHRcdFx0Ly9tYXgtd2lkdGg6IDc1MHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7IFxuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XG5cdCAgICAubW9kYWwtY29udGVudCB7XG5cdCAgICAgIGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuXHRcblx0ICBcblx0ICAgIH1cblx0XG5cdCAgICBhLmN0YSB7XG5cdCAgICAgIGNvbG9yOiAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuXHQgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG5cdCAgICAgIG1hcmdpbi10b3A6IDFlbTtcblx0XG5cdCAgICAgICY6bGFzdC1jaGlsZCB7XG5cdCAgICAgICAgcGFkZGluZzogMCAyZW07XG5cdCAgICAgIH1cblx0ICAgIH1cblx0ICB9XG5cdFxuXHQgIC5tb2RhbC1zdGF0ZTpjaGVja2VkICsgLm1vZGFsLWZhZGUtc2NyZWVuIHtcblx0ICAgIG9wYWNpdHk6IDE7XG5cdCAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHQgIH1cblx0XG5cdCAgLm1vZGFsLXN0YXRlOmNoZWNrZWQgKyAubW9kYWwtZmFkZS1zY3JlZW4gLm1vZGFsLWlubmVyIHtcblx0ICAgIHRvcDogMC41ZW07XG5cdCAgfVxuXHR9XG5cdFxuXHQubW9kYWwtb3BlbiB7XG5cdCAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxufVxuIiwiXG4vLyBTdXBwb3J0IGZvciBsLWZ1bGwgYW5kIGwtY29udGVudFxuLmwtZnVsbCAuY2FzZS1zdHVkeS1kZXRhaWwgeyB3aWR0aDogMTAwJTsgfVxuLmwtY29udGVudCAuY2FzZS1zdHVkeS1kZXRhaWwge1xuICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi8vIFRoaXMgb25lIGlzIGEgbGl0dGxlIGJpdCBjdXN0b20sIHNpbmNlIHdlIGhhdmUgYSBjdXJyZW5jeS1jb252ZXJ0ZXJcbi8vIHRoYXQgZG9lcyBub3QgcGxheSBhbG9uZyB3aXRoIHRoZSBvdmVyZmxvdyBoaWRkZW4gdGhpbmd5LlxuLy8gVG9kbzogZmluZCBhIHNvbHV0aW9uIHRvIGhhbmRsZSBvdmVyZmxvdy9jbGVhcmluZyB3aXRoIHRoZSBvdXRlciBncmlkIHdyYXBwZXJcbi8vIE1heWJlIGJhY2sgdG8gdGhlIGRlZmF1bHQgY2xlYXJmaXg/XG4uY2FzZS1zdHVkeS1pbmZvLWlubmVyIHtcbiAgLy9AaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJiAubC1pbmRlbnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5cbi5jYXNlLXN0dWR5LWRldGFpbCB7XG4gIC8vIExpc3Qgc3R5bGVzXG4gIEBpbmNsdWRlIHByb3BlcnR5LWluZm9ybWF0aW9uLWtleS1maWd1cmVzKCk7XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50XG4gIC5jYXNlLXN0dWR5LWluZm8ge1xuLy8gICAgcGFkZGluZy10b3A6IDQwcHg7XG4vLyAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC8vIENvbG9yc1xuICAuY2FzZS1zdHVkeS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItNjtcbiAgICAmIC5rZXktZmlndXJlcyBzcGFuIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgLmljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExheW91dFxuICAua2V5LWZpZ3VyZXMtbGVmdCxcbiAgLmtleS1maWd1cmVzLXJpZ2h0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBAaW5jbHVkZSBndXR0ZXItcGFkKDMsIDMpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWZyb20tdGhyZWUtY29sKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5wcm9wZXJ0eS1kYXRhLWhlYWRsaW5lIHtcblx0aDIge1xuXHRcdEBpbmNsdWRlIGZzLWhlYWRsaW5lLTM7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59IiwiLy8gQ3VzdG9tIGJyZWFrcG9pbnRzIGZvciBsYXlvdXQgY2hhbmdlcyBhbmFsb2cgdG8gcHJvcGVydHktZGV0YWlsXG4kY3VzdG9tLW9uZS1jb2w6IDAgNjY5cHg7XG4kY3VzdG9tLXR3by1jb2w6IDY3MHB4O1xuXG4uY29udGFjdC1wYWdlIHtcblxuICAucGFyYWdyYXBocy1pdGVtcyAuZW50aXR5Lmxhc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1tYXJnaW4tbWVkaXVtO1xuICB9XG5cbiAgLnBhcmFncmFwaHMtaXRlbS16YmwtY29udGVudC10ZXh0IHtcbiAgICAuZHMtZHMtdGV4dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5sLWNvbnRlbnQge1xuICAgIC5wYW5lLW5vZGUtZmllbGQtemJsLXMtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAucGFuZS1ub2RlLWZpZWxkLXpibC1zLXNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gRmlyc3Qgc2VjdGlvbjogRGVzY3JpcHRpb24gYW5kIG9mZmljZXMgbGlzdFxuLy9cbi5zZWN0aW9uLWl0ZW0ub2ZmaWNlLWhlYWRlciB7XG5cbiAgLm9mZmljZS1hZGRyZXNzLWl0ZW0ge1xuICAgIG1hcmdpbjogMTIwcHggMDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsLWRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC10YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA0NiU7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mb3VyLWNvbCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIH1cblxuICAgIC8vQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAzKTtcbiAgfVxuXG4gIC5vZmZpY2UtZGVzY3JpcHRpb24sXG4gIC52aWV3LXpibC1vZmZpY2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGd1dHRlci1wYWQoMywgMyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIEBpbmNsdWRlIGd1dHRlci1wYWQoMywgMyk7XG4gICAgfVxuXG4gIH1cblxuICAudmlldy16Ymwtb2ZmaWNlcyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10d28tY29sKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIC5vZmZpY2UtaW5mbyB7XG4gICAgICBoMyArIHAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub2ZmaWNlLWluZm8gKyAub2ZmaWNlLWluZm8ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAzKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1mcm9tLXRocmVlLWNvbCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuaDMuaDEtbGlrZSB7XG4gIEBpbmNsdWRlIGJlaGF2ZS1saWtlLWgxKCk7XG59XG5cbi8vXG4vLyBTZWNvbmQgc2VjdGlvbjogQ29udGFjdCBGb3JtXG4vL1xuLnNlY3Rpb24taXRlbS5jb250YWN0LWZvcm0ge1xuICBiYWNrZ3JvdW5kOiAkc2h1dHRsZS1ncmF5O1xuXG4gIC53ZWJmb3JtLW91dGVyLXdyYXBwZXItY29udGFjdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICBmb3JtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC53ZWJmb3JtLWNsaWVudC1mb3JtIC5mb3JtLWFjdGlvbnMgPiBpbnB1dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIYW5kbGUgdGV4dCBjb2xvclxuLnNlY3Rpb24taXRlbS5jb250YWN0LWZvcm0sXG4uc2VjdGlvbi1pdGVtLmNvbnRhY3QtZm9ybSBsYWJlbCxcbi5zZWN0aW9uLWl0ZW0uY29udGFjdC1mb3JtIC5yaWNodGV4dCBoMSxcbi5zZWN0aW9uLWl0ZW0uY29udGFjdC1mb3JtIC5yaWNodGV4dCBoMSA+IHNwYW4geyBjb2xvcjogd2hpdGU7IH1cblxuLnNlY3Rpb24taXRlbS5jb250YWN0LWZvcm0gLnJpY2h0ZXh0IGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuXG4vLyBTZXR0aW5ncyBmb3IgbC1mdWxsIGFuZCBsLWNvbnRlbnRcbi5sLWZ1bGwgLnBhbmVsLXBhbmUucGFuZS1lbnRpdHlmb3JtLXR5cGUgeyB3aWR0aDogMTAwJTsgfVxuLmwtY29udGVudCAucGFuZWwtcGFuZS5wYW5lLWVudGl0eWZvcm0tdHlwZSB7IEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpOyB9XG5cblxuLy8gTm9uIGNvbXByZWhlbmRhYmxlIGZvcm0gdGl0bGUuIEhpZGUgaXQuXG4uY29udGFjdC1wYWdlIC5wYW5lLWVudGl0eWZvcm0tdHlwZSA+IC5jbGVhcmZpeCA+IGgyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gQWN0dWFsIGZvcm0gc3R5bGVzIGFyZSBpbiBmb3Jtcy9jb250YWN0LWZvcm0uc2Nzc1xuXG5cbi8vXG4vLyBUaGlyZCBzZWN0aW9uOiBNYXBcbi8vXG4udmlldy1nbC16Ymwtb2ZmaWNlcy52aWV3LWRpc3BsYXktaWQtcGFuZV9tYXAge1xuICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi52aWV3LXpibC1vZmZpY2VzLnZpZXctZGlzcGxheS1pZC1wYW5lX21hcCB7XG4gICYgPiAudmlldy1jb250ZW50ID4gZGl2IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7XG4gICAgICBoZWlnaHQ6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay0tb2ZmaWNlLWhvdy10by1maW5kLFxuLmhvdy10by1maW5kLXNlY3Rpb24sXG4ucGFuZS1nbC16Ymwtb2ZmaWNlcy1wYW5lLW1hcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250YWN0LXBhZ2UgLmZvb3RlciB7XG4gIGJvcmRlci10b3A6IDAgbm9uZTtcbn1cblxuLmJsb2NrLS1vZmZpY2UtaG93LXRvLWZpbmQge1xuICAucGFuZS10aXRsZSB7XG4gICAgQGV4dGVuZCBoMTtcbiAgfVxufSIsIi5icm9jaHVyZS1wYWdlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS11bnRpbC1sYXB0b3ApIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubC1jb250ZW50LXJlZ2lvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9qbGxfcmVkX2JydXNoX2JnLnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDM5cHggNDI3cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDI1cHggMTc1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlLXNtYWxsKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDE1NHB4O1xuICAgIH1cbiAgfVxuICAuc2VjdGlvbi1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgLnBhbmVsLXBhbmUucGFuZS1ub2RlLWNvbnRlbnQuemJsX3BhZ2Uge1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS11bnRpbC1sYXB0b3ApIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLWxhcHRvcCkge1xuICAgICAgICB3aWR0aDogOTY2cHg7XG4gICAgICB9XG5cbiAgICAgIC5wYW5lLXRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqbGxfaGFuZHJlZ3VsYXInO1xuICAgICAgICBmb250LXNpemU6ICgxNTAvMjQpICogMWVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWpsbC1yZWQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDgwcHggMzBweCAwIDMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiA0LjU1ZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUpIHtcbiAgICAgICAgICBwYWRkaW5nOiAxOXB4IDIwcHggMCAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTMuM3Z3O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlLXNtYWxsKSB7XG4gICAgICAgICAgcGFkZGluZzogMTZweCAxOHB4IDAgMThweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNzhlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wYW5lLWNvbnRlbnQge1xuICAgICAgICAuc2VjdGlvbi1pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLnNlY3Rpb24tY29udGVudC1pdGVtLnNlY3Rpb24tY29udGVudC1tYXJnaW4tdG9wLWxhcmdlLnNlY3Rpb24tYWRkLXBhZGRpbmctbGVmdC1yaWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLXVudGlsLWxhcHRvcCkge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmwtaW5kZW50LnJpY2h0ZXh0IHtcbiAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItamxsLXJlZDtcbiAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC40OGVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNTY4ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZS1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNDg4ZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBoMTphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZHMtZHMtY29udGVudCB7XG4gICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtYnJvY2h1cmUtY2lyY2xlcyAuZmllbGQtaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvamxsX3JlZF9jaXJjbGUucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAuYnJvY2h1cmUtYm9keS1wYXJhZ3JhcGgge1xuICAgICAgICAgICAgLmltYWdlLWFyZWEge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coMXB4IDFweCA2cHggcmdiYSgwLDAsMCwwLjYpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZpbHRlcjogdXJsKCNkcm9wLXNoYWRvdyk7XG4gICAgICAgICAgICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuRHJvcHNoYWRvdyhPZmZYPTEsIE9mZlk9MSwgQ29sb3I9JyM0NDQnKVwiICAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuRHJvcHNoYWRvdyhPZmZYPTEsIE9mZlk9MSwgQ29sb3I9JyM0NDQnKVwiICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogOTd2dztcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNzIuNzV2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmZpZWxkLW5hbWUtZmllbGQtYnJvY2h1cmUtY2lyY2xlcyB7XG4gICAgICAgICAgICAgICAgLmZpZWxkLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICAgIGJvdHRvbTogODVweDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS11bnRpbC1sYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA2NHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5maWVsZC1pdGVtIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjNweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTIzcHg7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgxNi4zLzI0KSAqIDFlbTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTE5cHg7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS11bnRpbC1sYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzdnc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTN2dztcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzdnc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44dnc7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3Z3O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjFweCAxNHB4IDAgMTRweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMTBweCAwIDEwcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDVweCAwIDVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJvZHktYXJlYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLXVudGlsLWxhcHRvcCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAuZmllbGQtbmFtZS1maWVsZC1icm9jaHVyZS1jaXJjbGVzIHtcbiAgICAgICAgICAgICAgICAuZmllbGQtaXRlbXMge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjFweDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTNweDtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDE3cHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5maWVsZC1pdGVtIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnZ3O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnZ3O1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1ZW07XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2dnc7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2dnc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjZ2dztcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2dnc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmPnAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY4MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE4LzI0KSAqIDFlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLXVudGlsLWxhcHRvcCkge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggMjBweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTdweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjgwcHg7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDU0cHg7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZS1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgICAgLyogcGFkZGluZzogMCAxN3B4OyAqL1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTdweDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzhweDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE4LzI0KSAqIDFlbTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzdweDtcbiAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtMjQuNXB4O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLWxhcHRvcCkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNTdlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMC41cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTAuNXB4O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XG5cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvcm0tYXJlYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ0cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZS1zbWFsbCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxN3B4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmZvcm0tYXJlYS1sZWZ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzU1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZS1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmllbGQtbmFtZS1maWVsZC1icm9jaHVyZS1mb3JtLWFyZWEtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2M3B4O1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMzYvMjQpICogMWVtO1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCI7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWpsbC1yZWQ7XG4gICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmPnAge1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCI7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNmI3Njc4O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjcxZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNC42cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZm9ybS1hcmVhLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLXVudGlsLWxhcHRvcCkge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mb3JtLWl0ZW0gbGFiZWwge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU3OXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Qjc2Nzg7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAuZmllbGQuZmllbGQtbmFtZS1maWVsZC1icm9jaHVyZS1kb3dubG9hZC1mb3JtLXRpdCB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS11bnRpbC1sYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44OWVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZS1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Qjc2Nzg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzOXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVye1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC53ZWJmb3JtLWNvbXBvbmVudC0tZmlyc3QtbmFtZSwgLndlYmZvcm0tY29tcG9uZW50LS1sYXN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1sYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjY4cHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLndlYmZvcm0tY29tcG9uZW50LS1maXJzdC1uYW1lIHtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLndlYmZvcm0tY29tcG9uZW50LS1sYXN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLndlYmZvcm0tY29tcG9uZW50LS1lLW1haWwge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDU0OXB4O1xuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS11bnRpbC1sYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIxcHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZvcm0taXRlbSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTlweDtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud2ViZm9ybS1jb21wb25lbnQtLWFncmVlbWVudCB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Qjc2Nzg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjNyZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tdHlwZS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTlweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xLjR2dztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLjN2dztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUpIHtcblxuICAgICAgICAgICAgICAgICAgICAuZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1OHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuNXZ3O1xuICAgICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlLXNtYWxsKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLmZvcm0tdHlwZS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNzRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICNlZGl0LXN1Ym1pdHRlZC1hZ3JlZW1lbnQge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICAvL3dvcmQtc3BhY2luZzogLTFweDtcblxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUtc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTU5cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtdW50aWwtbGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtYnJvY2h1cmUtbW9iaWxlLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNnB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0M1MDIwQjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMjAvMjQpICogMWVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU0NHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG5cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS11bnRpbC1sYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyM3B4O1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWJyb2NodXJlLW1vYmlsZS1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5OS41JTtcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb290ZXIge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1icm9jaHVyZS1sYXB0b3ApIHtcbiAgICAjY2JveExvYWRlZENvbnRlbnQgLm1lc3NhZ2VzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwiLmxhbmRpbmdwYWdlIHtcbiAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCAkYmctY29sb3ItMywgJGdhbGxlcnksICRnYWxsZXJ5KTtcblxuICAubGFuZGluZ3BhZ2UtbG9nbyB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5sYW5kaW5ncGFnZS1pbm5lciAuc21hbGwtc2V0Y2FyZC1saXN0LXdyYXBwZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLy8gQWx0ZXIgb3ZlcmZsb3cgZm9yIGN1cnJlbmN5IHN3aXRjaGVyXG4gIC5sYW5kaW5ncGFnZS1pbm5lciAuc2VjdGlvbi1pdGVtLnVuaXRzIC5zZWN0aW9uLWNvbnRlbnQtaXRlbSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAuY2VudGVyZWQtbGlua3Mge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgLnN1Ym1pdC1tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0zKCk7XG4gICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgyLCAyKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIH1cbn1cblxuLmwtY29udGVudCAubGFuZGluZ3BhZ2UtaW5uZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG5cbi5zZWN0aW9uLWl0ZW0udW5pdHMge1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQtY29sb3InLCAkYmctY29sb3ItMywgJGdhbGxlcnksICRnYWxsZXJ5KTtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn0iLCIudmlldy16YmwtZ2xvc3NhcnksXG4udmlldy1nbC1nbG9zc2FyeSB7XG4gIHBhZGRpbmctbGVmdDogMTAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIFxuICAubC1jb250ZW50ICYge1xuICAgIHBhZGRpbmc6IDQwcHggMTAlO1xuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cblxuICAuc2VjdGlvbi1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxuXG4gIC5nbG9zc2FyeS1ncm91cCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgLmdsb3NzYXJ5LWdyb3VwLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAzKTtcbiAgICBAaW5jbHVkZSBmcy1oZWFkbGluZS0yKCk7XG4gIH1cblxuICAuZ2xvc3NhcnktZ3JvdXAtY29udGVudCB7XG4gICAgLmxlZnQsXG4gICAgLnJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIGd1dHRlci1wYWQoMSwgMSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1vbmUtY29sKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtZnJvbS10aHJlZS1jb2wpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmwtZnVsbCAudmlldy1kaXNwbGF5LWlkLXBhbmVfYmxvZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubC1jb250ZW50IC5wYW5lLXpibC1wcm9wZXJ0aWVzLXBhbmUtYmxvZyxcbi5sLWNvbnRlbnQgLnZpZXctZ2wtemJsLXByb3BlcnRpZXMtYmxvY2sge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcbn1cblxuLm5vZGUtemJsLWJsb2cgLnBhbmUtemJsLXByb3BlcnRpZXMtcGFuZS1ibG9nLFxuW2NsYXNzKj1cInBhbmUtZ2wtemJsLXByb3BlcnRpZXMtYmxvY2stcGFuZVwiXSB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2h1dHRsZS1ncmF5O1xuXG4gIC52aWV3LWNvbnRlbnQgeyBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTsgfVxuXG4gIC5wcm9wZXJ0eS10ZWFzZXItLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxufVxuXG4ucGFuZS16YmwtcHJvcGVydGllcy1wYW5lLWJsb2csXG5bY2xhc3MqPVwicGFuZS1nbC16YmwtcHJvcGVydGllcy1ibG9jay1wYW5lXCJdIHtcblxuICAubm9kZS10eXBlLXpibC1ibG9nICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG5cbiAgLmwtY29udGVudCAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgaDIucGFuZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMigpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaHV0dGxlLWdyYXk7XG4gICAgcGFkZGluZy10b3A6IDcycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufSIsIi8vXG4vLyBTdGFnZSAxYTpcbi8vICAgVGhlIGxpc3Rpbmcgb2YgYXZhaWxhYmxlIHByb3BlcnRpZXNcbi8vXG4ucGFuZS1wYXJ0bmVyLWhlYWRlciB7XG4gIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4ucGFuZS16YmwtcGFydG5lci1wcm9wZXJ0aWVzLXBhbmUtZW5hYmxlZCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgLnZpZXctY29udGVudCxcbiAgLnZpZXctZW1wdHkge1xuICAgIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuXG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbiAgLnZpZXctY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYmFja2dyb3VuZDogJHNodXR0bGUtZ3JheTtcbiAgfVxuICAudmlldy1lbXB0eSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5zdW1tYXJ5IHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wYXJ0bmVyLXByb3BlcnRpZXMtYmFjay1saW5rIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAyLjRyZW07XG59XG4ucGFydG5lci1wcm9wZXJ0aWVzLWxvZ291dC1saW5rIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDIuNHJlbTtcbn1cblxuLnBhbmUtemJsLXBhcnRuZXItcHJvcGVydGllcy1wYW5lLWVuYWJsZWQgaDIge1xuICBAaW5jbHVkZSBvdXRlci1ncmlkLXdyYXBwZXIoKTtcbiAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMigpO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgYmFja2dyb3VuZDogJHNodXR0bGUtZ3JheTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8vXG4vLyBTdGFnZSAxYjpcbi8vICAgQWRqdXN0bWVudHMgb24gc2V0Y2FyZHNcbi8vXG4udmlldy16YmwtcGFydG5lci1wcm9wZXJ0aWVzIC5wcm9wZXJ0eS10ZWFzZXItLXNtYWxsLnNtYWxsLXNldGNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIC5wdXNoLW9wZW4tNC02IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLm1lZGlhLXdyYXBwZXIsXG4gIC5pbmZvYm94IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5tZWRpYS13cmFwcGVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG4gIC5pbmZvYm94IHtcbiAgICBoZWlnaHQ6IDEzMHB4O1xuICB9XG59XG5cblxuXG5cblxuXG4vL1xuLy8gU3RhZ2UgMjpcbi8vICAgVGhlIGxpc3Rpbmcgb2YgZmlsZXMgZm9yIGVhY2ggcHJvcGVydHlcbi8vXG4ucGFuZS1mdHAtbGlzdCB7XG4gIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcigpO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBAaW5jbHVkZSBndXR0ZXItcGFkKDMsIDMpO1xuXG4gIC8vIExpc3Qgc3R5bGUgcmVzZXRzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAgbGkgKyAuZGlyZWN0b3J5IHsgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuZGlyZWN0b3J5ICsgbGkgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnRcbiAgJiA+IHVsID4gbGkgeyAgfVxuICAmID4gdWwgPiBsaSA+IHVsIHsgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICYgPiB1bCA+IGxpID4gdWwgPiBsaSA+IHVsIHsgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG5cbiAgLy8gSWNvbnNcbiAgbGkuZGlyZWN0b3J5Lm9wZW4gaDMge1xuICAgIEBpbmNsdWRlIGljb24oJ2N1c3RvbScsICdpY29tb29uX2F3ZXNvbWVfYW5nbGUtZG93bicsIGFmdGVyKTtcbiAgfVxuICBsaS5kaXJlY3RvcnkuY2xvc2VkIGgzIHtcbiAgICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9hd2Vzb21lX2FuZ2xlLXJpZ2h0JywgYWZ0ZXIpO1xuICB9XG4gIGxpLmRpcmVjdG9yeSBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4OyAvLyBsaW5lLWhlaWdodCBvZiBwYXJlbnRcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG4gIH1cbn1cblxuLyouc2xpY2stc2xpZGUge1xuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufSovXG4iLCIuc2l0ZW1hcC1wZyB7XG4gIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1tYXJnaW4tbWVkaXVtO1xuICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbWFyZ2luLW1lZGl1bTtcblxuICBhIHtcblx0ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbiAgPiAucGFuZWwtcGFuZSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItZ3JpZC13cmFwcGVyKCk7XG4gICAgQGluY2x1ZGUgZ3V0dGVyLXBhZCgzLCAzKTtcbiAgfVxuICAucGFuZS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY2VudGVyZWQtbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAubWVudSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcbiAgICB9XG4gIH1cblxuICAubWVudV9fbGluayB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjZyZW07XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmV4cGFuZGVkID4gLm1lbnVfX2xpbmsge1xuICAgIEBpbmNsdWRlIGljb24oJ2N1c3RvbScsICdpY29tb29uX2F3ZXNvbWVfYW5nbGUtZG93bicsIGFmdGVyKTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtM3B4O1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZW1hcC1wZyArIC5zaXRlbWFwLXBnIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4uc2l0ZW1hcC1wZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci01O1xuICAuY2VudGVyZWQtbGlua3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9oZWFkZXIvbG9nby1wZy5wbmcpO1xuXG4gIH1cbiAgbGkgPiBhICB7IGNvbG9yOiB3aGl0ZTsgfVxuICBhOmhvdmVyIHsgY29sb3I6ICRlbGVtZW50LWNvbG9yLTQ7IH1cblxuICBsaSA+IGEgIHsgYmFja2dyb3VuZDogJGJnLWNvbG9yLTU7IH1cbiAgYTpob3ZlciB7IGJhY2tncm91bmQ6ICRiZy1jb2xvci02OyB9XG59IiwiLmVycm9yLXBhZ2Uge1xuICAubC1jb250ZW50LXJvdyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9zaXRlcy9hbGwvdGhlbWVzL3pibF9mcm9udGVuZC9idWlsZC9pbWFnZXMvemJsX2Zyb250cGFnZV9iZy5qcGcpIG5vLXJlcGVhdCA1MCUgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNsaWNrIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5sLWNvbnRlbnQtcmVnaW9uIHtcbiAgICAuaGVhZGVyLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItZ3JpZC13cmFwcGVyO1xuICAgICAgcGFkZGluZzogMCAyLjRyZW0gNjBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgLnBhbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDMuNnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1hcmdpbjogMS4ycmVtO1xuICAgIH1cblxuICAgIC5lbnRpdHkge1xuICAgICAgcCxcbiAgICAgIC5jZW50ZXJlZC1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zZWN0aW9uLWNvbnRlbnQtaXRlbSB7XG4gICAgcGFkZGluZzogMCAzLjZyZW07XG4gIH1cblxuICAucGFuZS1sYW5nLWRyb3Bkb3duLWxhbmd1YWdlLFxuICAucGFuZS1nbC16YmwtZ2xvYmFsLXphYmVsLWxvZ291dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMTBweCAxLjJyZW07XG4gIH1cbiAgLmxhbmdfZHJvcGRvd25fZm9ybSAuc2VsZWN0cmljLFxuICAucGFuZS1nbC16YmwtZ2xvYmFsLXphYmVsLWxvZ291dCAucGFuZS1jb250ZW50IGEsXG4gIC5sYW5nX2Ryb3Bkb3duX2Zvcm0gLnNlbGVjdHJpYy1pdGVtcyxcbiAgLmxhbmdfZHJvcGRvd25fZm9ybSAuc2VsZWN0cmljLWl0ZW1zIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICRzaWx2ZXI7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5wYW5lLWdsLXpibC1nbG9iYWwtemFiZWwtbG9nb3V0IC5wYW5lLWNvbnRlbnQgYSxcbiAgLmxhbmdfZHJvcGRvd25fZm9ybSAubGFiZWwge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAubGFuZ19kcm9wZG93bl9mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5sYW5nX2Ryb3Bkb3duX2Zvcm0gLnNlbGVjdHJpYyxcbiAgLmxhbmdfZHJvcGRvd25fZm9ybSAuc2VsZWN0cmljLWl0ZW1zLFxuICAubGFuZ19kcm9wZG93bl9mb3JtIC5zZWxlY3RyaWMtaXRlbXMgbGkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci01O1xuICAgIH1cbiAgfVxuICAubGFuZ19kcm9wZG93bl9mb3JtIC5zZWxlY3RyaWMtaXRlbXMgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQwLDI0MCwyNDAsMC41KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMjMzNjM7XG4gICAgfVxuICB9XG5cbiAgLnBhbmUtcGFnZS10aXRsZSB7XG4gICAgLnBhbmUtdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZnMtaGVhZGxpbmUtMigpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Zvb3Rlci9qbGxfbG9nby5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAvLyBMb2dvIG9mIHBhZ2UgaGVhZGluZ1xuICAgICAgJjo6YmVmb3JlIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgLy8gRGl2aWRlciBiZXR3ZWVuIGxvZ28gYW5kIGhlYWRpbmdcbiAgICAgICY6OmFmdGVyICB7IG1hcmdpbi10b3A6IC01MHB4IH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdHdvLWNvbCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci01O1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWVzc2FnZSB7XG4gICAgcGFkZGluZzogMy42cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgfVxuXG4gICAgLnBhbmUtdGl0bGUge1xuICAgIH1cbiAgICAucGFyYWdyYXBocy1pdGVtcyAuZW50aXR5IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5sLXRleHQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnNlY3Rpb24taXRlbSB7XG4gICAgICBtYXJnaW46IDI4cHggMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBhbmUtYmVhbi16YmwtZnJvbnQtY29ycG9yYXRlLWxlZnQge1xuICAgIG1hcmdpbjogMi40cmVtO1xuICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItNTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMy42cmVtO1xuICAgIH1cblxuICAgIC5jb250ZW50LWxvZ28tbGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItYm90dG9tOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAudmlldy1kaXNwbGF5LWlkLXBhbmVfY29udGVudF90b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnBhcmFncmFwaHMtaXRlbS1zbGlkZXNob3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLXBhcmFncmFwaC1pdGVtLXRpdGxlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZXctZGlzcGxheS1pZC1wYW5lX2NvbnRlbnRfbWlkZGxlLFxuICAudmlldy1kaXNwbGF5LWlkLXBhbmVfY29udGVudF9ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIG91dGVyLWdyaWQtd3JhcHBlcjtcbiAgICBwYWRkaW5nOiAwIDIuNHJlbSA2MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59IiwiLnBhcnRuZXItbG9naW4ge1xuICAubm9kZS52aWV3LW1vZGUtZnVsbCA+IC5zZWN0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgI3VzZXItbG9naW4tZm9ybSxcbiAgLnBhbmUtdXNlci1wcm9maWxlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtdW50aWwtdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCA0MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC11bnRpbC10YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRzLWRzLWNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucGFuZS11c2VyLXByb2ZpbGUge1xuICAgIFxuICB9XG4gIC5wYXJhZ3JhcGhzLWl0ZW1zIC5lbnRpdHkubGFzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbiAgLmZvcm0tdHlwZS10ZXh0ZmllbGQge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLnBhbmUtcGFnZS1tZXNzYWdlcyB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogMCAyMHB4IDIwcHg7XG5cbiAgICAubWVzc2FnZXMuZXJyb3Ige1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIH1cbiAgfVxufSIsIi5pbi1tYWludGVuYW5jZSB7XG4gICNoZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMDBweDtcbiAgfVxuICAjbWFpbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCJcbi50aGFuay15b3UtcGFnZSB7XG5cbiAgLmhlYWRpbmcge1xuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIGJlaGF2ZS1saWtlLWgxKCk7XG5cbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLXR3by1jb2wpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNSAqICRmb250LW1vZGlmaWVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iZWFuLXpibC1scC10aXRsZXMtdGV4dC10ZXh0LWZvcm0ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuICAgIHAge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5idXR0b24tLWxhcmdlIHtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgIH1cbiAgICAuaGVhZGluZyB7XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmwtYm90dG9tIHtcbiAgICAgIHAge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbi0tbGFyZ2Uge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy42cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuLi9mb250cy9zbGljay9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWltYWdlLXBhdGg6IFwiLi4vaW1hZ2VzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwi4oaQXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwi4oaSXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCLigKJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuJHNsaWNrLWNvbnRyb2wtb2Zmc2V0OiAwO1xuJHNsaWNrLXBhZ2VyLWhlaWdodDogNnB4O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgQHJldHVybiB1cmwoJHNsaWNrLWltYWdlLXBhdGggKyAkdXJsKTtcbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xufVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXG4gICYsXG4gIC5zbGlja19fc2xpZGVyLFxuICAuc2xpY2stbGlzdCxcbiAgLnNsaWNrLXRyYWNrLFxuICAuc2xpY2tfX3NsaWRlLFxuICAuc2xpZGVfX2NvbnRlbnQsXG4gIC5tZWRpYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXVudGlsLWV4dHJhLWxhcmdlLXBob25lKSB7XG4gICAgLy8gICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAvLyB9XG4gIH1cbiAgLm1lZGlhIHtcbiAgICBwaWN0dXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIC8vbWluLWhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zbGljay1zbGlkZXIge1xuICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAuc2xpY2stbGlzdCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5zbGljay10cmFjayB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2xpY2stbGlzdCB7XG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICB9XG59XG5cbi5zbGljay1zbGlkZSB7XG4gICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICB9XG59XG5cbi5oZWFkZXItbGFyZ2Uge1xuXHQuc2xpY2stc2xpZGUge1xuXHQgICBpbWcge1xuXHQgICAgICB3aWR0aDogMTAwJTtcblx0ICAgICAgaGVpZ2h0OiBhdXRvO1xuXHQgICB9XG5cdH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1hcnJvdyxcbi5zbGljay1kb3duIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IC44O1xuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICB9XG4gIH1cbiAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gIH1cbn1cblxuLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICBmb250LXNpemU6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJHRleHQtY29sb3ItNDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5zbGljay1wcmV2IHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBsZWZ0OiAkc2xpY2stY29udHJvbC1vZmZzZXQ7XG4gIEBpbmNsdWRlIGljb24oJ2N1c3RvbScsICdpY29tb29uX2F3ZXNvbWVfYW5nbGUtbGVmdCcpO1xufVxuXG4uc2xpY2stbmV4dCB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICByaWdodDogJHNsaWNrLWNvbnRyb2wtb2Zmc2V0O1xuICBAaW5jbHVkZSBpY29uKCdjdXN0b20nLCAnaWNvbW9vbl9hd2Vzb21lX2FuZ2xlLXJpZ2h0Jyk7XG59XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDc7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAzcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgLy9AaW5jbHVkZSB0aGVtZS1zcGVjaWZpYygnYmFja2dyb3VuZCcsIHJnYmEoMCwgMCwgMCwgLjcpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KSwgcmdiYSgxLCAyNywgNTIsIC44KSk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgXG4gICAgICAmOmJlZm9yZSB7XG5cdCAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg4OCwgODgsIDg4LCAuNyk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG4gICAgJi5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgIC8vQGluY2x1ZGUgdGhlbWUtc3BlY2lmaWMoJ2JhY2tncm91bmQnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpLCByZ2JhKDAsIDAsIDAsIC43KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSk7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufSIsIi8vXG4vLyBPdmVycmlkZXMgZm9yIHRoZSBjbGFzc2ljIGdhbGxlcmlhIHRoZW1lXG4vL1xuLy8gVG9kbzogY3JlYXRlIG93biB0aGVtZVxuXG5cbi5nYWxsZXJpYS1mdWxsc2NyZWVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDNyZW07XG4gIHJpZ2h0OiAyLjRyZW07XG5cbiAgLmdhbGxlcmlhLWZ1bGxzY3JlZW4tbGluayB7XG4gICAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgLy8gVG9kbzogUmVlbmFibGUgd2hlbiB0ZXN0ZWRcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vd2lkdGg6IDI4cHg7XG4gICAgLy9oZWlnaHQ6IDIwcHg7XG4gICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5nYWxsZXJpYS10aGVtZS1jbGFzc2lje1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGVsZW1lbnQtY29sb3ItODtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuZ2FsbGVyaWEtc3RhZ2Uge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmdhbGxlcmlhLWltYWdlIHtcblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdhbGxlcmlhLXRodW1ibmFpbHMge1xuICAgIC5nYWxsZXJpYS1pbWFnZSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiIsIiRtYWluLWNvbG9yOiAjREREO1xuJHNlY29uZGFyeS1jb2xvcjogI0JCQjtcbiRiZy1jb2xvcjogI0Y4RjhGODtcbiR0ZXh0LWNvbG9yOiAjNDQ0O1xuJGhlaWdodDogNDhweDtcbiRzcGFjaW5nOiAxMHB4O1xuJGJvcmRlci13aWR0aDogMXB4O1xuJGlubmVyLWhlaWdodDogJGhlaWdodCAtICgkYm9yZGVyLXdpZHRoICogMik7XG5cbi5zZWxlY3RyaWMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2VsZWN0cmljLXJlc3BvbnNpdmUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNlbGVjdHJpYyB7XG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZWxlbWVudC1jb2xvci00O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgZnMtZm9ybS1lbGVtZW50O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci0zO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXJnaW46IDAgJGlubmVyLWhlaWdodCAwICRzcGFjaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5uZXItaGVpZ2h0O1xuICAgIGhlaWdodDogJGlubmVyLWhlaWdodDtcbiAgfVxuXG4gIC5zZWxlY3RyaWMtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkaW5uZXItaGVpZ2h0O1xuICAgIGhlaWdodDogJGlubmVyLWhlaWdodDtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udDogMC8wIGE7XG4gICAgKmZvbnQ6IDIwcHgvI3skaW5uZXItaGVpZ2h0fSBMdWNpZGEgU2FucyBVbmljb2RlLCBBcmlhbCBVbmljb2RlIE1TLCBBcmlhbDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5zZWxlY3RyaWMtaG92ZXIgLnNlbGVjdHJpYyB7XG4gIGJvcmRlci1jb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuXG4gIC5zZWxlY3RyaWMtYnV0dG9uIHtcbiAgICBjb2xvcjogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDEwJSk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG4uc2VsZWN0cmljLW9wZW4ge1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIC5zZWxlY3RyaWMge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuICB9XG5cbiAgLnNlbGVjdHJpYy1pdGVtcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnNlbGVjdHJpYy1kaXNhYmxlZCB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNlbGVjdHJpYy1oaWRlLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBzZWxlY3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zZWxlY3RyaWMtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgKmZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdHJpYy10ZW1wLXNob3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi8qIEl0ZW1zIGJveCAqL1xuLnNlbGVjdHJpYy1pdGVtcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRtYWluLWNvbG9yLCAxMCUpO1xuICB6LWluZGV4OiAtMTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggLTZweDtcblxuICAuc2VsZWN0cmljLXNjcm9sbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLnNlbGVjdHJpYy1hYm92ZSAmIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICB9XG5cbiAgdWwsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGZzLWZvcm0tZWxlbWVudDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNFRkVGRUY7XG4gICAgICBjb2xvcjogIzQ0NDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGMEYwRjA7XG4gICAgICBjb2xvcjogIzQ0NDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLnNlbGVjdHJpYy1ncm91cCB7XG4gICAgLnNlbGVjdHJpYy1ncm91cC1sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAjNDQ0O1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQgbGkge1xuICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgIH1cbiAgfVxufSIsIi8vXG4vLyBJRSBzcGVjaWZpY1xuLy9cblxuLmx0LWllNyB7ICB9XG4ubHQtaWU4IHsgIH1cbi5sdC1pZTkgeyAgfVxuXG5cbi8vXG4vLyBPYmplY3QtRml0XG4vL1xuLy8gSW5zdGVhZCBvZiB0aGUgcHJlZmVycmVkIG9iamVjdC1maXQgc29sdXRpb24gd2UgdXNlIGFuIGFsdGVybmF0aXZlXG4vLyBhcHByb2FjaCB3aGVyZSB3ZSBzZXQgYSBmaXhlZCBtYXgtd2lkdGggYW5kIGNlbnRlciB0aGUgaW1hZ2UgdmlhXG4vLyBjc3MtdHJhbnNmb3JtLlxuLy9cbmh0bWwubm8tb2JqZWN0LWZpdCB7XG5cbiAgYm9keTpub3QoLmlvczcpIHtcbiAgICAuc2xpZGVyLWltYWdlIHBpY3R1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOyAvKiBDaHJvbWUsIE9wZXJhIDE1KywgU2FmYXJpIDMuMSsgKi9cbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7IC8qIEZpcmVmb3ggMy41KyAqL1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOyAvKiBJRSA5ICovXG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgLyogT3BlcmEgMTAuNSsgKi9cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOyAvKiBGaXJlZm94IDE2KywgSUUgMTArLCBPcGVyYSAqL1xuICAgIH1cblxuICAgIC5zbGlkZXItaW1hZ2Uuc2xpY2stYWN0aXZlIHBpY3R1cmUgaW1nIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmltYWdlaGVhZGVyIC5zbGlkZXItaW1hZ2UgcGljdHVyZSBpbWcsXG4gICAgLnByb3BlcnR5LXRlYXNlci0tbGFyZ2UgLnNsaWRlci1pbWFnZSBwaWN0dXJlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHsgd2lkdGg6IDQ4MHB4OyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDQ4MHB4IDEwMjRweCkgeyB3aWR0aDogMTAyNHB4OyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjVweCAxOTIwcHgpIHsgd2lkdGg6IDE5MjBweDsgfVxuICAgIH1cblxuICAgIC5wcm9wZXJ0eS10ZWFzZXItLW1lZGl1bSAuc2xpZGVyLWltYWdlIHBpY3R1cmUgaW1nIHtcbiAgICAgIHdpZHRoOiA5NDhweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW9uZS1jb2wpIHsgd2lkdGg6IDQ4MHB4OyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDQ4MHB4IDcyMHB4KSB7IHdpZHRoOiA3MjBweDsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MjFweCA5MDBweCkgeyB3aWR0aDogNjAwcHg7IH1cblxuICAgIH1cbiAgfVxufSIsIlxuIl0sIm1hcHBpbmdzIjoiO0FxSUFBLEFBQUEsSUFBSSxDQUFDO0VBQ0gsa0JBQWtCLEVBQUUsVUFBVztFQUMvQixlQUFlLEVBQUUsVUFBVztFQUM1QixVQUFVLEVBQUUsVUFBVyxHQUN4Qjs7QUFDRCxBQUFBLENBQUMsRUFBRSxBQUFDLENBQUEsQUFBQSxPQUFPLEVBQUUsQUFBQyxDQUFBLEFBQUEsTUFBTSxDQUFDO0VBQ25CLGtCQUFrQixFQUFFLE9BQVE7RUFDNUIsZUFBZSxFQUFFLE9BQVE7RUFDekIsVUFBVSxFQUFFLE9BQVEsR0FDckI7O0FDVEQsNERBQTREO0FBUTVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVc7RUFBRSxPQUFPO0VBQ2pDLG9CQUFvQixFQUFFLElBQUs7RUFBRSxPQUFPO0VBQ3BDLHdCQUF3QixFQUFFLElBQUs7RUFBRSxPQUFPLEVBQ3pDOztBQU1ELEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUUsR0FDWDs7QUFFRDtnRkFDZ0Y7QUFTaEYsQUFBQSxPQUFPO0FBQ1AsQUFBQSxLQUFLO0FBQ0wsQUFBQSxPQUFPO0FBQ1AsQUFBQSxVQUFVO0FBQ1YsQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FB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O0VBQzdDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxDQUFDO0VBQ3RDLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQWdDLGdDQUFBLEFBQUEsT0FBTyxFbUZuRHZDLEFuRm1EQSxTbUZuRFMsQ0EzQ1Asb0JBQW9CLENBQUMsQ0FBQyxBckZyQ3JCLFFBQVEsQ0VtSTZC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REgsZXpFQ2tCO0l5RUxuQixtQkFBbUIsQ0FJbEIsVUFBVSxDekVDUDtNQUFFLGdCQUFZLEV5RUFtQyxLQUFLLEd6RUFoQztJQUN0QixBeUVGSCxlekVFa0IsQ3lFUG5CLGdCQUFnQixDQUtmLFVBQVUsRXpFRVAsQXlFRkgsZXpFRWtCO0l5RU5uQixtQkFBbUIsQ0FJbEIsVUFBVSxDekVFUDtNQUFFLGdCQUFZLEV5RUQwQyxLQUFLLEd6RUN2QztJQUZ0QixBeUVBSCxlekVBa0IsQ3lFTG5CLGdCQUFnQixDQUtmLFVBQVUsRXpFQVAsQXlFQUgsZXpFQWtCO0l5RUpuQixtQkFBbUIsQ0FJbEIsVUFBVSxDekVBUDtNQUFFLFlBQVksRVZ3QlYsT0FBTyxHVXhCVztJQUN0QixBeUVESCxlekVDa0IsQ3lFTm5CLGdCQUFnQixDQUtmLFVBQVUsRXpFQ1AsQXlFREgsZXpFQ2tCO0l5RUxuQixtQkFBbUIsQ0FJbEIsVUFBVSxDekVDUDtNQUFFLFlBQVksRVZLVCxPQUFPLEdVTFU7SUFDdEIsQXlFRkgsZXpFRWtCLEN5RVBuQixnQkFBZ0IsQ0FLZixVQUFVLEV6RUVQLEF5RUZILGV6RUVrQjtJeUVObkIsbUJBQW1CLENBSWxCLFVBQVUsQ3pFRVA7TUFBRSxZQUFZLEV5RUF1RCxLQUFLLEd6RUFwRDtJQUZ0QixBeUVBSCxlekVBa0IsQ3lFTG5CLGdCQUFnQixDQUtmLFVBQVUsRXpFQVAsQXlFQUgsZXpFQWtCO0l5RUpuQixtQkFBbUIsQ0FJbEIsVUFBVSxDekVBUDtNQUFFLEtBQVksRXlFR2lCLEtBQUssR3pFSGQ7SUFDdEIsQXlFREgsZXpFQ2tCLEN5RU5uQixnQkFBZ0IsQ0FLZixVQUFVLEV6RUNQLEF5RURILGV6RUNrQjtJeUVMbkIsbUJBQW1CLENBSWxCLFVBQVUsQ3pFQ1A7TUFBRSxLQUFZLEVWR0wsT0FBTyxHVUhNO0lBQ3RCLEF5RUZILGV6RUVrQixDeUVQbkIsZ0JBQWdCLENBS2YsVUFBVSxFekVFUCxBeUVGSCxlekVFa0I7SXlFTm5CLG1CQUFtQixDQUlsQixVQUFVLEN6RUVQO01BQUUsS0FBWSxFeUVD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 */
