@charset "UTF-8";
.govuk-link, a {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*! Copyright (c) 2011 by Margaret Calvert & Henrik Kubel. All rights reserved. The font has been customised for exclusive use on gov.uk. This cut is not commercially available. */
@font-face {
  font-family: "nta";
  src: url("/assets/fonts/light-2c037cf7e1-v1.eot");
  src: url("/assets/fonts/light-2c037cf7e1-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/light-f38ad40456-v1.woff2") format("woff2"), url("/assets/fonts/light-458f8ea81c-v1.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "nta";
  src: url("/assets/fonts/bold-fb2676462a-v1.eot");
  src: url("/assets/fonts/bold-fb2676462a-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/bold-a2452cb66f-v1.woff2") format("woff2"), url("/assets/fonts/bold-f38c792ac2-v1.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "ntatabularnumbers";
  src: url("/assets/fonts/light-tabular-498ea8ffe2-v1.eot");
  src: url("/assets/fonts/light-tabular-498ea8ffe2-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/light-tabular-851b10ccdd-v1.woff2") format("woff2"), url("/assets/fonts/light-tabular-62cc6f0a28-v1.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "ntatabularnumbers";
  src: url("/assets/fonts/bold-tabular-357fdfbcc3-v1.eot");
  src: url("/assets/fonts/bold-tabular-357fdfbcc3-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/bold-tabular-b89238d840-v1.woff2") format("woff2"), url("/assets/fonts/bold-tabular-784c21afb8-v1.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

@media print {
  .govuk-link, a {
    font-family: sans-serif;
  }
}

.govuk-link:focus, a:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-link:link, a:link {
  color: #005ea5;
}

.govuk-link:visited, a:visited {
  color: #4c2c92;
}

.govuk-link:hover, a:hover {
  color: #2b8cc4;
}

.govuk-link:active, a:active {
  color: #2b8cc4;
}

.govuk-link:focus, a:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-link[href^="/"]::after, a[href^="/"]::after, .govuk-link[href^="http://"]::after, a[href^="http://"]::after, .govuk-link[href^="https://"]::after, a[href^="https://"]::after {
    content: " (" attr(href) ")";
    font-size: 90%;
    word-wrap: break-word;
  }
}

.govuk-link--muted:link, .govuk-link--muted:visited, .govuk-link--muted:hover, .govuk-link--muted:active {
  color: #6f777b;
}

.govuk-link--muted:focus {
  color: #0b0c0c;
}

.govuk-link--text-colour:link, .govuk-link--text-colour:visited, .govuk-link--text-colour:hover, .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-link--text-colour:link, .govuk-link--text-colour:visited, .govuk-link--text-colour:hover, .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
    color: #000000;
  }
}

.govuk-link--no-visited-state:link {
  color: #005ea5;
}

.govuk-link--no-visited-state:visited {
  color: #005ea5;
}

.govuk-link--no-visited-state:hover {
  color: #2b8cc4;
}

.govuk-link--no-visited-state:active {
  color: #2b8cc4;
}

.govuk-link--no-visited-state:focus {
  color: #0b0c0c;
}

.govuk-list {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-top: 0;
  margin-bottom: 15px;
  padding-left: 0;
  list-style-type: none;
}

@media print {
  .govuk-list {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-list {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-list {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-list {
    margin-bottom: 20px;
  }
}

.govuk-list .govuk-list {
  margin-top: 10px;
}

.govuk-list > li {
  margin-bottom: 5px;
}

.govuk-list--bullet {
  padding-left: 20px;
  list-style-type: disc;
}

.govuk-list--number {
  padding-left: 20px;
  list-style-type: decimal;
}

.govuk-list--bullet > li,
.govuk-list--number > li {
  margin-bottom: 0;
}

@media (min-width: 40.0625em) {
  .govuk-list--bullet > li,
  .govuk-list--number > li {
    margin-bottom: 5px;
  }
}

.govuk-template {
  background-color: #dee0e2;
}

.govuk-template__body {
  margin: 0;
  background-color: #ffffff;
}

.govuk-heading-xl {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  display: block;
  margin-top: 0;
  margin-bottom: 30px;
}

@media print {
  .govuk-heading-xl {
    color: #000000;
  }
}

@media print {
  .govuk-heading-xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-heading-xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    margin-bottom: 50px;
  }
}

.govuk-heading-l {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
  display: block;
  margin-top: 0;
  margin-bottom: 20px;
}

@media print {
  .govuk-heading-l {
    color: #000000;
  }
}

@media print {
  .govuk-heading-l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-l {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-heading-l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-l {
    margin-bottom: 30px;
  }
}

.govuk-heading-m {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-heading-m {
    color: #000000;
  }
}

@media print {
  .govuk-heading-m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-m {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-heading-m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-m {
    margin-bottom: 20px;
  }
}

.govuk-heading-s {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-heading-s {
    color: #000000;
  }
}

@media print {
  .govuk-heading-s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-s {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-heading-s {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-s {
    margin-bottom: 20px;
  }
}

.govuk-caption-xl {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: block;
  margin-bottom: 5px;
  color: #6f777b;
}

@media print {
  .govuk-caption-xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-xl {
    font-size: 27px;
    font-size: 1.6875rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-caption-xl {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-caption-l {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: block;
  margin-bottom: 5px;
  color: #6f777b;
}

@media print {
  .govuk-caption-l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-l {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-caption-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-l {
    margin-bottom: 0;
  }
}

.govuk-caption-m {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  color: #6f777b;
}

@media print {
  .govuk-caption-m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-m {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-caption-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-body-l, .govuk-body-lead {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-top: 0;
  margin-bottom: 20px;
}

@media print {
  .govuk-body-l, .govuk-body-lead {
    color: #000000;
  }
}

@media print {
  .govuk-body-l, .govuk-body-lead {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-l, .govuk-body-lead {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-body-l, .govuk-body-lead {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-l, .govuk-body-lead {
    margin-bottom: 30px;
  }
}

.govuk-body-m, .govuk-body, p {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-body-m, .govuk-body, p {
    color: #000000;
  }
}

@media print {
  .govuk-body-m, .govuk-body, p {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-m, .govuk-body, p {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-body-m, .govuk-body, p {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-m, .govuk-body, p {
    margin-bottom: 20px;
  }
}

.govuk-body-s {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-body-s {
    color: #000000;
  }
}

@media print {
  .govuk-body-s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-s {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-body-s {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-s {
    margin-bottom: 20px;
  }
}

.govuk-body-xs {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-body-xs {
    color: #000000;
  }
}

@media print {
  .govuk-body-xs {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-xs {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.42857;
  }
}

@media print {
  .govuk-body-xs {
    font-size: 12pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-xs {
    margin-bottom: 20px;
  }
}

.govuk-body-l + .govuk-heading-l, .govuk-body-lead + .govuk-heading-l {
  padding-top: 5px;
}

@media (min-width: 40.0625em) {
  .govuk-body-l + .govuk-heading-l, .govuk-body-lead + .govuk-heading-l {
    padding-top: 10px;
  }
}

.govuk-body-m + .govuk-heading-l, .govuk-body + .govuk-heading-l, p + .govuk-heading-l,
.govuk-body-s + .govuk-heading-l,
.govuk-list + .govuk-heading-l {
  padding-top: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-body-m + .govuk-heading-l, .govuk-body + .govuk-heading-l, p + .govuk-heading-l,
  .govuk-body-s + .govuk-heading-l,
  .govuk-list + .govuk-heading-l {
    padding-top: 20px;
  }
}

.govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m, p + .govuk-heading-m,
.govuk-body-s + .govuk-heading-m,
.govuk-list + .govuk-heading-m,
.govuk-body-m + .govuk-heading-s,
.govuk-body + .govuk-heading-s,
p + .govuk-heading-s,
.govuk-body-s + .govuk-heading-s,
.govuk-list + .govuk-heading-s {
  padding-top: 5px;
}

@media (min-width: 40.0625em) {
  .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m, p + .govuk-heading-m,
  .govuk-body-s + .govuk-heading-m,
  .govuk-list + .govuk-heading-m,
  .govuk-body-m + .govuk-heading-s,
  .govuk-body + .govuk-heading-s,
  p + .govuk-heading-s,
  .govuk-body-s + .govuk-heading-s,
  .govuk-list + .govuk-heading-s {
    padding-top: 10px;
  }
}

.govuk-section-break {
  margin: 0;
  border: 0;
}

.govuk-section-break--xl {
  margin-top: 30px;
  margin-bottom: 30px;
}

@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-top: 50px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-bottom: 50px;
  }
}

.govuk-section-break--l {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (min-width: 40.0625em) {
  .govuk-section-break--l {
    margin-top: 30px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-section-break--l {
    margin-bottom: 30px;
  }
}

.govuk-section-break--m {
  margin-top: 15px;
  margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-section-break--m {
    margin-top: 20px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-section-break--m {
    margin-bottom: 20px;
  }
}

.govuk-section-break--visible {
  border-bottom: 1px solid #bfc1c3;
}

.govuk-form-group {
  margin-bottom: 20px;
}

@media (min-width: 40.0625em) {
  .govuk-form-group {
    margin-bottom: 30px;
  }
}

.govuk-form-group .govuk-form-group:last-of-type {
  margin-bottom: 0;
}

.govuk-form-group--error {
  padding-left: 15px;
  border-left: 5px solid #b10e1e;
}

.govuk-form-group--error .govuk-form-group {
  padding: 0;
  border: 0;
}

.govuk-grid-row {
  margin-right: -15px;
  margin-left: -15px;
}

.govuk-grid-row:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-grid-column-one-quarter {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-grid-column-one-quarter {
    width: 25%;
    float: left;
  }
}

.govuk-grid-column-one-third {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-grid-column-one-third {
    width: 33.3333%;
    float: left;
  }
}

.govuk-grid-column-one-half {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-grid-column-one-half {
    width: 50%;
    float: left;
  }
}

.govuk-grid-column-two-thirds {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-grid-column-two-thirds {
    width: 66.6666%;
    float: left;
  }
}

.govuk-grid-column-three-quarters {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-grid-column-three-quarters {
    width: 75%;
    float: left;
  }
}

.govuk-grid-column-full {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-grid-column-full {
    width: 100%;
    float: left;
  }
}

.govuk-main-wrapper {
  padding-top: 20px;
  padding-bottom: 20px;
  display: block;
}

@media (min-width: 40.0625em) {
  .govuk-main-wrapper {
    padding-top: 30px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-main-wrapper {
    padding-bottom: 30px;
  }
}

.govuk-main-wrapper--l {
  padding-top: 30px;
}

@media (min-width: 40.0625em) {
  .govuk-main-wrapper--l {
    padding-top: 50px;
  }
}

.govuk-width-container {
  max-width: 960px;
  margin: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-width-container {
    margin: 0 30px;
  }
}

@media (min-width: 1020px) {
  .govuk-width-container {
    margin: 0 auto;
  }
}

.govuk-back-link {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  padding-left: 14px;
  border-bottom: 1px solid #0b0c0c;
  text-decoration: none;
}

@media (min-width: 40.0625em) {
  .govuk-back-link {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-back-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .govuk-back-link {
    font-family: sans-serif;
  }
}

.govuk-back-link:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-back-link:link, .govuk-back-link:visited, .govuk-back-link:hover, .govuk-back-link:active, .govuk-back-link:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-back-link:link, .govuk-back-link:visited, .govuk-back-link:hover, .govuk-back-link:active, .govuk-back-link:focus {
    color: #000000;
  }
}

.govuk-back-link:before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 50%, 100% 100%, 100% 0%);
  clip-path: polygon(0% 50%, 100% 100%, 100% 0%);
  border-width: 5px 6px 5px 0;
  border-right-color: inherit;
  content: "";
  position: absolute;
  top: -1px;
  bottom: 1px;
  left: 0;
  margin: auto;
}

.govuk-back-link:before {
  top: -1px;
  bottom: 1px;
}

.govuk-breadcrumbs {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  color: #0b0c0c;
  margin-top: 15px;
  margin-bottom: 10px;
}

@media print {
  .govuk-breadcrumbs {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-breadcrumbs {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-breadcrumbs {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .govuk-breadcrumbs {
    color: #000000;
  }
}

.govuk-breadcrumbs__list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.govuk-breadcrumbs__list:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-breadcrumbs__list-item {
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
  margin-left: 10px;
  padding-left: 15.655px;
  float: left;
}

.govuk-breadcrumbs__list-item:before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  bottom: 1px;
  left: -3.31px;
  width: 7px;
  height: 7px;
  margin: auto 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #6f777b;
}

.govuk-breadcrumbs__list-item:first-child {
  margin-left: 0;
  padding-left: 0;
}

.govuk-breadcrumbs__list-item:first-child:before {
  content: none;
  display: none;
}

.govuk-breadcrumbs__link {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media print {
  .govuk-breadcrumbs__link {
    font-family: sans-serif;
  }
}

.govuk-breadcrumbs__link:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited, .govuk-breadcrumbs__link:hover, .govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited, .govuk-breadcrumbs__link:hover, .govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
    color: #000000;
  }
}

.govuk-button {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.1875;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: 0;
  margin-bottom: 22px;
  padding: 7px 10px;
  border: 2px solid transparent;
  border-radius: 0;
  color: #ffffff;
  background-color: #00823b;
  box-shadow: 0 2px 0 #003618;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  -webkit-appearance: none;
}

@media print {
  .govuk-button {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-button {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1;
  }
}

@media print {
  .govuk-button {
    font-size: 14pt;
    line-height: 19px;
  }
}

.govuk-button:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

@media (min-width: 40.0625em) {
  .govuk-button {
    margin-bottom: 32px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-button {
    width: auto;
  }
}

.govuk-button:link, .govuk-button:visited, .govuk-button:active, .govuk-button:hover {
  color: #ffffff;
  text-decoration: none;
}

.govuk-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.govuk-button:hover, .govuk-button:focus {
  background-color: #00692f;
}

.govuk-button:active {
  top: 2px;
  box-shadow: none;
}

.govuk-button::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  right: -2px;
  bottom: -4px;
  left: -2px;
  background: transparent;
}

.govuk-button:active::before {
  top: -4px;
}

.govuk-button--disabled,
.govuk-button[disabled="disabled"],
.govuk-button[disabled] {
  opacity: 0.5;
  background: #00823b;
}

.govuk-button--disabled:hover,
.govuk-button[disabled="disabled"]:hover,
.govuk-button[disabled]:hover {
  background-color: #00823b;
  cursor: default;
}

.govuk-button--disabled:focus,
.govuk-button[disabled="disabled"]:focus,
.govuk-button[disabled]:focus {
  outline: none;
}

.govuk-button--disabled:active,
.govuk-button[disabled="disabled"]:active,
.govuk-button[disabled]:active {
  top: 0;
  box-shadow: 0 2px 0 #003618;
}

.govuk-button--start {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  min-height: auto;
  padding-top: 8px;
  padding-right: 40px;
  padding-bottom: 8px;
  padding-left: 15px;
  background-image: url("/assets/images/icon-pointer.png");
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

@media (min-width: 40.0625em) {
  .govuk-button--start {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1;
  }
}

@media print {
  .govuk-button--start {
    font-size: 18pt;
    line-height: 1;
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .govuk-button--start {
    background-image: url("/assets/images/icon-pointer-2x.png");
    background-size: 30px 19px;
  }
}

.govuk-button {
  padding-top: 9px;
  padding-bottom: 6px;
}

.govuk-button--start {
  padding-top: 9px;
  padding-bottom: 6px;
}

.govuk-error-message {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-bottom: 15px;
  clear: both;
  color: #b10e1e;
}

@media print {
  .govuk-error-message {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-message {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-error-message {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.govuk-fieldset:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-fieldset__legend {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  margin-bottom: 10px;
  padding: 0;
  overflow: hidden;
  white-space: normal;
}

@media print {
  .govuk-fieldset__legend {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-fieldset__legend {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-fieldset__legend {
    color: #000000;
  }
}

.govuk-fieldset__legend--xl {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  margin-bottom: 15px;
}

@media print {
  .govuk-fieldset__legend--xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--xl {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-fieldset__legend--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__legend--l {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
  margin-bottom: 15px;
}

@media print {
  .govuk-fieldset__legend--l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--l {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-fieldset__legend--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-fieldset__legend--m {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-bottom: 15px;
}

@media print {
  .govuk-fieldset__legend--m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--m {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-fieldset__legend--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__legend--s {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .govuk-fieldset__legend--s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--s {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-fieldset__legend--s {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

.govuk-hint {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-bottom: 15px;
  color: #6f777b;
}

@media print {
  .govuk-hint {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-hint {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-hint {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-hint {
  margin-bottom: 10px;
}

.govuk-fieldset__legend:not(.govuk-fieldset__legend--m):not(.govuk-fieldset__legend--l):not(.govuk-fieldset__legend--xl) + .govuk-hint {
  margin-bottom: 10px;
}

.govuk-fieldset__legend + .govuk-hint,
.govuk-fieldset__legend + .govuk-hint {
  margin-top: -5px;
}

.govuk-label {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  display: block;
  margin-bottom: 5px;
}

@media print {
  .govuk-label {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-label {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-label {
    color: #000000;
  }
}

.govuk-label--xl {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  margin-bottom: 15px;
}

@media print {
  .govuk-label--xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--xl {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-label--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-label--l {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
  margin-bottom: 15px;
}

@media print {
  .govuk-label--l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--l {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-label--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-label--m {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-bottom: 10px;
}

@media print {
  .govuk-label--m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--m {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-label--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-label--s {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .govuk-label--s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--s {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-label--s {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-label-wrapper {
  margin: 0;
}

.govuk-checkboxes__item {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  position: relative;
  min-height: 40px;
  margin-bottom: 10px;
  padding: 0 0 0 40px;
  clear: left;
}

@media print {
  .govuk-checkboxes__item {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-checkboxes__item {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-checkboxes__item {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-checkboxes__item:last-child,
.govuk-checkboxes__item:last-of-type {
  margin-bottom: 0;
}

.govuk-checkboxes__input {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  margin: 0;
  opacity: 0;
}

.govuk-checkboxes__label {
  display: inline-block;
  margin-bottom: 0;
  padding: 8px 15px 5px;
  cursor: pointer;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

.govuk-checkboxes__hint {
  display: block;
  padding-right: 15px;
  padding-left: 15px;
}

.govuk-checkboxes__input + .govuk-checkboxes__label::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border: 2px solid currentColor;
  background: transparent;
}

.govuk-checkboxes__input + .govuk-checkboxes__label::after {
  content: "";
  position: absolute;
  top: 11px;
  left: 9px;
  width: 18px;
  height: 7px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border: solid;
  border-width: 0 0 5px 5px;
  border-top-color: transparent;
  opacity: 0;
  background: transparent;
}

.govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
  outline: 3px solid transparent;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #ffbf47;
}

.govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
  opacity: 1;
}

.govuk-checkboxes__input:disabled,
.govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
  cursor: default;
}

.govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
  opacity: .5;
}

.govuk-checkboxes__conditional {
  margin-bottom: 15px;
  margin-left: 18px;
  padding-left: 33px;
  border-left: 4px solid #bfc1c3;
}

@media (min-width: 40.0625em) {
  .govuk-checkboxes__conditional {
    margin-bottom: 20px;
  }
}

.js-enabled .govuk-checkboxes__conditional--hidden {
  display: none;
}

.govuk-checkboxes__conditional > :last-child {
  margin-bottom: 0;
}

.govuk-character-count {
  margin-bottom: 20px;
}

@media (min-width: 40.0625em) {
  .govuk-character-count {
    margin-bottom: 30px;
  }
}

.govuk-character-count .govuk-form-group,
.govuk-character-count .govuk-textarea {
  margin-bottom: 5px;
}

.govuk-character-count .govuk-textarea--error {
  padding: 3px;
}

.govuk-character-count__message {
  margin-top: 0;
  margin-bottom: 0;
}

.govuk-character-count__message--disabled {
  visibility: hidden;
}

.govuk-input {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  margin-top: 0;
  padding: 5px;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media print {
  .govuk-input {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-input {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-input {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-input:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

.govuk-input::-webkit-outer-spin-button,
.govuk-input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.govuk-input[type="number"] {
  -moz-appearance: textfield;
}

.govuk-input--error {
  border: 4px solid #b10e1e;
}

.govuk-input--width-30 {
  max-width: 59ex;
}

.govuk-input--width-20 {
  max-width: 41ex;
}

.govuk-input--width-10 {
  max-width: 23ex;
}

.govuk-input--width-5 {
  max-width: 10.8ex;
}

.govuk-input--width-4 {
  max-width: 9ex;
}

.govuk-input--width-3 {
  max-width: 7.2ex;
}

.govuk-input--width-2 {
  max-width: 5.4ex;
}

.govuk-date-input {
  font-size: 0;
}

.govuk-date-input:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-date-input__item {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 0;
}

.govuk-date-input__label {
  display: block;
}

.govuk-date-input__input {
  margin-bottom: 0;
}

.govuk-details {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-bottom: 20px;
  display: block;
}

@media print {
  .govuk-details {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-details {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-details {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-details {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-details {
    margin-bottom: 30px;
  }
}

.govuk-details__summary {
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
  padding-left: 25px;
  color: #005ea5;
  cursor: pointer;
}

.govuk-details__summary-text {
  text-decoration: underline;
}

.govuk-details__summary:hover {
  color: #2b8cc4;
}

.govuk-details__summary:focus {
  outline: 4px solid #ffbf47;
  outline-offset: -1px;
  color: #0b0c0c;
  background: #ffbf47;
}

.govuk-details__summary::-webkit-details-marker {
  display: none;
}

.govuk-details__summary:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  border-width: 7px 0 7px 12.124px;
  border-left-color: inherit;
}

.govuk-details[open] > .govuk-details__summary:before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  border-width: 12.124px 7px 0 7px;
  border-top-color: inherit;
}

.govuk-details__text {
  padding: 15px;
  padding-left: 20px;
  border-left: 5px solid #bfc1c3;
}

.govuk-details__text p {
  margin-top: 0;
  margin-bottom: 20px;
}

.govuk-details__text > :last-child {
  margin-bottom: 0;
}

.govuk-error-summary {
  color: #0b0c0c;
  padding: 15px;
  margin-bottom: 30px;
  border: 4px solid #b10e1e;
}

@media print {
  .govuk-error-summary {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary {
    padding: 20px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary {
    margin-bottom: 50px;
  }
}

.govuk-error-summary:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

@media (min-width: 40.0625em) {
  .govuk-error-summary {
    border: 5px solid #b10e1e;
  }
}

.govuk-error-summary__title {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-error-summary__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary__title {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-error-summary__title {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary__title {
    margin-bottom: 20px;
  }
}

.govuk-error-summary__body {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .govuk-error-summary__body {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary__body {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-error-summary__body {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-error-summary__body p {
  margin-top: 0;
  margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-error-summary__body p {
    margin-bottom: 20px;
  }
}

.govuk-error-summary__list {
  margin-top: 0;
  margin-bottom: 0;
}

.govuk-error-summary__list a {
  font-weight: 700;
}

.govuk-error-summary__list a:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-error-summary__list a:link, .govuk-error-summary__list a:visited, .govuk-error-summary__list a:hover, .govuk-error-summary__list a:active {
  color: #b10e1e;
}

.govuk-error-summary__list a:focus {
  color: #0b0c0c;
}

.govuk-file-upload {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
}

@media print {
  .govuk-file-upload {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-file-upload {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-file-upload {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-file-upload {
    color: #000000;
  }
}

.govuk-file-upload:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

.govuk-file-upload--error {
  border: 4px solid #b10e1e;
}

.govuk-footer {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  padding-top: 25px;
  padding-bottom: 15px;
  border-top: 1px solid #a1acb2;
  color: #454a4c;
  background: #dee0e2;
}

@media print {
  .govuk-footer {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-footer {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-footer {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-top: 40px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-bottom: 25px;
  }
}

.govuk-footer__link:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-footer__link:link, .govuk-footer__link:visited {
  color: #454a4c;
}

.govuk-footer__link:hover, .govuk-footer__link:active {
  color: #171819;
}

.govuk-footer__link:focus {
  color: #0b0c0c;
}

.govuk-footer__section-break {
  margin: 0;
  margin-bottom: 30px;
  border: 0;
  border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 40.0625em) {
  .govuk-footer__section-break {
    margin-bottom: 50px;
  }
}

.govuk-footer__meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.govuk-footer__meta-item {
  margin-right: 15px;
  margin-bottom: 25px;
  margin-left: 15px;
}

.govuk-footer__meta-item--grow {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media (max-width: 40.0525em) {
  .govuk-footer__meta-item--grow {
    -webkit-flex-basis: 320px;
    -ms-flex-preferred-size: 320px;
    flex-basis: 320px;
  }
}

.govuk-footer__licence-logo {
  display: inline-block;
  margin-right: 10px;
  vertical-align: top;
}

@media (max-width: 48.0525em) {
  .govuk-footer__licence-logo {
    margin-bottom: 15px;
  }
}

.govuk-footer__licence-description {
  display: inline-block;
}

.govuk-footer__copyright-logo {
  display: inline-block;
  min-width: 125px;
  padding-top: 112px;
  background-image: url("/assets/images/govuk-crest.png");
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 125px 102px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .govuk-footer__copyright-logo {
    background-image: url("/assets/images/govuk-crest-2x.png");
  }
}

.govuk-footer__inline-list {
  margin-top: 0;
  margin-bottom: 15px;
  padding: 0;
}

.govuk-footer__meta-custom {
  margin-bottom: 20px;
}

.govuk-footer__inline-list-item {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 5px;
}

.govuk-footer__heading {
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 40.0625em) {
  .govuk-footer__heading {
    margin-bottom: 40px;
  }
}

@media (max-width: 40.0525em) {
  .govuk-footer__heading {
    padding-bottom: 10px;
  }
}

.govuk-footer__navigation {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.govuk-footer__section {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 30px;
  margin-left: 15px;
  vertical-align: top;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

@media (max-width: 48.0525em) {
  .govuk-footer__section {
    -webkit-flex-basis: 200px;
    -ms-flex-preferred-size: 200px;
    flex-basis: 200px;
  }
}

@media (min-width: 48.0625em) {
  .govuk-footer__section:first-child {
    -webkit-box-flex: 2;
    -webkit-flex-grow: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
  }
}

.govuk-footer__list {
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-column-gap: 30px;
  column-gap: 30px;
}

@media (min-width: 48.0625em) {
  .govuk-footer__list--columns-2 {
    -webkit-column-count: 2;
    column-count: 2;
  }
  .govuk-footer__list--columns-3 {
    -webkit-column-count: 3;
    column-count: 3;
  }
}

.govuk-footer__list-item {
  margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-footer__list-item {
    margin-bottom: 20px;
  }
}

.govuk-footer__list-item:last-child {
  margin-bottom: 0;
}

.govuk-header {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  border-bottom: 10px solid #ffffff;
  color: #ffffff;
  background: #0b0c0c;
}

@media print {
  .govuk-header {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.govuk-header__container--full-width {
  padding: 0 15px;
  border-color: #005ea5;
}

.govuk-header__container--full-width .govuk-header__menu-button {
  right: 15px;
}

.govuk-header__container {
  position: relative;
  margin-bottom: -10px;
  padding-top: 10px;
  border-bottom: 10px solid #005ea5;
}

.govuk-header__container:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-header__logotype {
  margin-right: 5px;
}

.govuk-header__logotype-crown {
  margin-right: 1px;
  fill: currentColor;
  vertical-align: middle;
}

.govuk-header__logotype-crown-fallback-image {
  width: 36px;
  height: 32px;
  border: 0;
  vertical-align: middle;
}

.govuk-header__product-name {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: inline-table;
  padding-right: 10px;
}

@media print {
  .govuk-header__product-name {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__product-name {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header__product-name {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-header__link {
  text-decoration: none;
}

.govuk-header__link:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-header__link:link, .govuk-header__link:visited {
  color: #ffffff;
}

.govuk-header__link:hover {
  text-decoration: underline;
}

.govuk-header__link:focus {
  color: #0b0c0c;
}

.govuk-header__link--homepage {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  display: inline-block;
  font-size: 30px;
  line-height: 30px;
}

@media print {
  .govuk-header__link--homepage {
    font-family: sans-serif;
  }
}

.govuk-header__link--homepage:link, .govuk-header__link--homepage:visited {
  text-decoration: none;
}

.govuk-header__link--homepage:hover, .govuk-header__link--homepage:active {
  margin-bottom: -1px;
  border-bottom: 1px solid;
}

.govuk-header__link--service-name {
  display: inline-block;
  margin-bottom: 10px;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
}

@media print {
  .govuk-header__link--service-name {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__link--service-name {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header__link--service-name {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-header__logo {
  margin-bottom: 10px;
  padding-right: 50px;
}

@media (min-width: 40.0625em) {
  .govuk-header__logo {
    margin-bottom: 10px;
  }
}

@media (min-width: 48.0625em) {
  .govuk-header__logo {
    width: 33.33%;
    padding-right: 0;
    float: left;
    vertical-align: top;
  }
}

@media (min-width: 48.0625em) {
  .govuk-header__content {
    width: 66.66%;
    float: left;
  }
}

.govuk-header__menu-button {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  display: none;
  position: absolute;
  top: 20px;
  right: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: #ffffff;
  background: none;
}

@media print {
  .govuk-header__menu-button {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header__menu-button {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.govuk-header__menu-button:hover {
  text-decoration: underline;
}

.govuk-header__menu-button::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  border-width: 8.66px 5px 0 5px;
  border-top-color: inherit;
  content: "";
  margin-left: 5px;
}

.govuk-header__menu-button:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    top: 15px;
  }
}

.govuk-header__menu-button--open::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-width: 0 5px 8.66px 5px;
  border-bottom-color: inherit;
}

.govuk-header__navigation {
  margin-bottom: 10px;
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 40.0625em) {
  .govuk-header__navigation {
    margin-bottom: 10px;
  }
}

.js-enabled .govuk-header__menu-button {
  display: block;
}

@media (min-width: 48.0625em) {
  .js-enabled .govuk-header__menu-button {
    display: none;
  }
}

.js-enabled .govuk-header__navigation {
  display: none;
}

@media (min-width: 48.0625em) {
  .js-enabled .govuk-header__navigation {
    display: block;
  }
}

.js-enabled .govuk-header__navigation--open {
  display: block;
}

@media (min-width: 48.0625em) {
  .govuk-header__navigation--end {
    margin: 0;
    padding: 5px 0;
    text-align: right;
  }
}

.govuk-header__navigation--no-service-name {
  padding-top: 40px;
}

.govuk-header__navigation-item {
  padding: 10px 0;
  border-bottom: 1px solid #2e3133;
}

@media (min-width: 48.0625em) {
  .govuk-header__navigation-item {
    display: inline-block;
    margin-right: 15px;
    padding: 5px 0;
    border: 0;
  }
}

.govuk-header__navigation-item a {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  white-space: nowrap;
}

@media print {
  .govuk-header__navigation-item a {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__navigation-item a {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header__navigation-item a {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.govuk-header__navigation-item--active a:link, .govuk-header__navigation-item--active a:hover, .govuk-header__navigation-item--active a:visited {
  color: #1d8feb;
}

.govuk-header__navigation-item--active a:focus {
  color: #0b0c0c;
}

.govuk-header__navigation-item:last-child {
  margin-right: 0;
}

@media print {
  .govuk-header {
    border-bottom-width: 0;
    color: #0b0c0c;
    background: transparent;
  }
  .govuk-header__logotype-crown-fallback-image {
    display: none;
  }
  .govuk-header__link:link, .govuk-header__link:visited {
    color: #0b0c0c;
  }
  .govuk-header__link:after {
    display: none;
  }
}

.govuk-header__logotype-crown,
.govuk-header__logotype-crown-fallback-image {
  position: relative;
  top: -4px;
}

.govuk-header {
  padding-top: 3px;
}

.govuk-inset-text {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  padding: 15px;
  margin-top: 20px;
  margin-bottom: 20px;
  clear: both;
  border-left: 10px solid #bfc1c3;
}

@media print {
  .govuk-inset-text {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-inset-text {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-inset-text {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-inset-text {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-top: 30px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-bottom: 30px;
  }
}

.govuk-inset-text :first-child {
  margin-top: 0;
}

.govuk-inset-text :only-child,
.govuk-inset-text :last-child {
  margin-bottom: 0;
}

.govuk-panel {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  margin-bottom: 15px;
  padding: 35px;
  border: 5px solid transparent;
  text-align: center;
}

@media print {
  .govuk-panel {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-panel {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-panel {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (max-width: 40.0525em) {
  .govuk-panel {
    padding: 25px;
  }
}

.govuk-panel--confirmation {
  color: #ffffff;
  background: #28a197;
}

.govuk-panel__title {
  margin-top: 0;
  margin-bottom: 30px;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
}

@media print {
  .govuk-panel__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-panel__title {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-panel__title {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-panel__title:last-child {
  margin-bottom: 0;
}

.govuk-panel__body {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
}

@media print {
  .govuk-panel__body {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-panel__body {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-panel__body {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-tag {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.25;
  display: inline-block;
  padding: 4px 8px;
  padding-bottom: 1px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  color: #ffffff;
  background-color: #005ea5;
  letter-spacing: 1px;
  text-decoration: none;
  text-transform: uppercase;
}

@media print {
  .govuk-tag {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tag {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-tag {
    font-size: 14pt;
    line-height: 1.25;
  }
}

.govuk-tag--inactive {
  background-color: #6f777b;
}

.govuk-phase-banner {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #bfc1c3;
}

.govuk-phase-banner__content {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  color: #0b0c0c;
  display: table;
  margin: 0;
}

@media print {
  .govuk-phase-banner__content {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-phase-banner__content {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-phase-banner__content {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .govuk-phase-banner__content {
    color: #000000;
  }
}

.govuk-phase-banner__content__tag {
  margin-right: 10px;
}

.govuk-phase-banner__text {
  display: table-cell;
  vertical-align: baseline;
}

.govuk-tabs {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-top: 5px;
  margin-bottom: 20px;
}

@media print {
  .govuk-tabs {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tabs {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-tabs {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-tabs {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tabs {
    margin-top: 5px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tabs {
    margin-bottom: 30px;
  }
}

.govuk-tabs__title {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 5px;
}

@media print {
  .govuk-tabs__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tabs__title {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-tabs__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-tabs__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 40.0525em) {
  .govuk-tabs__list {
    margin-bottom: 20px;
  }
}

@media (max-width: 40.0525em) and (min-width: 40.0625em) {
  .govuk-tabs__list {
    margin-bottom: 30px;
  }
}

.govuk-tabs__list-item {
  margin-left: 25px;
}

.govuk-tabs__list-item::before {
  content: "— ";
  margin-left: -25px;
  padding-right: 5px;
}

.govuk-tabs__tab {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: inline-block;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media print {
  .govuk-tabs__tab {
    font-family: sans-serif;
  }
}

.govuk-tabs__tab:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-tabs__tab:link {
  color: #005ea5;
}

.govuk-tabs__tab:visited {
  color: #4c2c92;
}

.govuk-tabs__tab:hover {
  color: #2b8cc4;
}

.govuk-tabs__tab:active {
  color: #2b8cc4;
}

.govuk-tabs__tab:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-tabs__tab {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tabs__tab {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-tabs__tab {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-tabs__tab[aria-current="true"] {
  color: #0b0c0c;
  text-decoration: none;
}

.govuk-tabs__panel {
  margin-bottom: 30px;
}

@media (min-width: 40.0625em) {
  .govuk-tabs__panel {
    margin-bottom: 50px;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__list {
    border-bottom: 1px solid #bfc1c3;
  }
  .js-enabled .govuk-tabs__list:after {
    content: "";
    display: block;
    clear: both;
  }
  .js-enabled .govuk-tabs__list-item {
    margin-left: 0;
  }
  .js-enabled .govuk-tabs__list-item::before {
    content: none;
  }
  .js-enabled .govuk-tabs__title {
    display: none;
  }
  .js-enabled .govuk-tabs__tab {
    margin-right: 5px;
    padding-right: 20px;
    padding-left: 20px;
    float: left;
    color: #0b0c0c;
    background-color: #f8f8f8;
    text-align: center;
    text-decoration: none;
  }
  .js-enabled .govuk-tabs__tab--selected {
    margin-top: -5px;
    margin-bottom: -1px;
    padding-top: 14px;
    padding-right: 19px;
    padding-bottom: 16px;
    padding-left: 19px;
    border: 1px solid #bfc1c3;
    border-bottom: 0;
    color: #0b0c0c;
    background-color: #ffffff;
  }
  .js-enabled .govuk-tabs__tab--selected:focus {
    background-color: transparent;
  }
  .js-enabled .govuk-tabs__panel {
    margin-bottom: 0;
    padding-top: 30px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 20px;
    border: 1px solid #bfc1c3;
    border-top: 0;
  }
}

@media (min-width: 40.0625em) and (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__panel {
    margin-bottom: 0;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__panel--hidden {
    display: none;
  }
  .js-enabled .govuk-tabs__panel > :last-child {
    margin-bottom: 0;
  }
}

.govuk-radios__item {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  position: relative;
  min-height: 40px;
  margin-bottom: 10px;
  padding: 0 0 0 40px;
  clear: left;
}

@media print {
  .govuk-radios__item {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-radios__item {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-radios__item {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-radios__item:last-child,
.govuk-radios__item:last-of-type {
  margin-bottom: 0;
}

.govuk-radios__input {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  margin: 0;
  opacity: 0;
}

.govuk-radios__label {
  display: inline-block;
  margin-bottom: 0;
  padding: 8px 15px 5px;
  cursor: pointer;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

.govuk-radios__hint {
  display: block;
  padding-right: 15px;
  padding-left: 15px;
}

.govuk-radios__input + .govuk-radios__label::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
}

.govuk-radios__input + .govuk-radios__label::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 0;
  height: 0;
  border: 10px solid currentColor;
  border-radius: 50%;
  opacity: 0;
  background: currentColor;
}

.govuk-radios__input:focus + .govuk-radios__label::before {
  outline: 3px solid transparent;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px #ffbf47;
}

.govuk-radios__input:checked + .govuk-radios__label::after {
  opacity: 1;
}

.govuk-radios__input:disabled,
.govuk-radios__input:disabled + .govuk-radios__label {
  cursor: default;
}

.govuk-radios__input:disabled + .govuk-radios__label {
  opacity: .5;
}

@media (min-width: 40.0625em) {
  .govuk-radios--inline:after {
    content: "";
    display: block;
    clear: both;
  }
  .govuk-radios--inline .govuk-radios__item {
    margin-right: 20px;
    float: left;
    clear: none;
  }
}

.govuk-radios--inline.govuk-radios--conditional .govuk-radios__item {
  margin-right: 0;
  float: none;
}

.govuk-radios__divider {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}

@media print {
  .govuk-radios__divider {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-radios__divider {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-radios__divider {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-radios__divider {
    color: #000000;
  }
}

.govuk-radios__conditional {
  margin-bottom: 15px;
  margin-left: 18px;
  padding-left: 33px;
  border-left: 4px solid #bfc1c3;
}

@media (min-width: 40.0625em) {
  .govuk-radios__conditional {
    margin-bottom: 20px;
  }
}

.js-enabled .govuk-radios__conditional--hidden {
  display: none;
}

.govuk-radios__conditional > :last-child {
  margin-bottom: 0;
}

.govuk-select {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  max-width: 100%;
  height: 40px;
  padding: 5px;
  border: 2px solid #0b0c0c;
}

@media print {
  .govuk-select {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-select {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-select {
    font-size: 14pt;
    line-height: 1.25;
  }
}

.govuk-select:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

.govuk-select option:active,
.govuk-select option:checked,
.govuk-select:focus::-ms-value {
  color: #ffffff;
  background-color: #005ea5;
}

.govuk-select--error {
  border: 4px solid #b10e1e;
}

.govuk-skip-link {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  display: block;
  padding: 10px 15px;
}

.govuk-skip-link:active, .govuk-skip-link:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: inherit !important;
  overflow: visible !important;
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  white-space: inherit !important;
}

@media print {
  .govuk-skip-link {
    font-family: sans-serif;
  }
}

.govuk-skip-link:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-skip-link:link, .govuk-skip-link:visited, .govuk-skip-link:hover, .govuk-skip-link:active, .govuk-skip-link:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-skip-link:link, .govuk-skip-link:visited, .govuk-skip-link:hover, .govuk-skip-link:active, .govuk-skip-link:focus {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-skip-link {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-skip-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.govuk-table {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  width: 100%;
  margin-bottom: 20px;
  border-spacing: 0;
  border-collapse: collapse;
}

@media print {
  .govuk-table {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-table {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-table {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-table {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-table {
    margin-bottom: 30px;
  }
}

.govuk-table__header {
  font-weight: 700;
}

.govuk-table__header,
.govuk-table__cell {
  padding: 10px 20px 10px 0;
  border-bottom: 1px solid #bfc1c3;
  text-align: left;
}

.govuk-table__cell--numeric {
  font-family: "ntatabularnumbers", "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
}

@media print {
  .govuk-table__cell--numeric {
    font-family: sans-serif;
  }
}

.govuk-table__header--numeric,
.govuk-table__cell--numeric {
  text-align: right;
}

.govuk-table__header:last-child,
.govuk-table__cell:last-child {
  padding-right: 0;
}

.govuk-table__caption {
  font-weight: 700;
  display: table-caption;
  text-align: left;
}

.govuk-textarea {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 40px;
  margin-bottom: 20px;
  padding: 5px;
  resize: vertical;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
}

@media print {
  .govuk-textarea {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-textarea {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-textarea {
    font-size: 14pt;
    line-height: 1.25;
  }
}

.govuk-textarea:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

@media (min-width: 40.0625em) {
  .govuk-textarea {
    margin-bottom: 30px;
  }
}

.govuk-textarea--error {
  border: 4px solid #b10e1e;
}

.govuk-warning-text {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  position: relative;
  margin-bottom: 20px;
  padding: 10px 0;
}

@media print {
  .govuk-warning-text {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-warning-text {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-warning-text {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-warning-text {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-warning-text {
    margin-bottom: 30px;
  }
}

.govuk-warning-text__assistive {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.govuk-warning-text__icon {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  min-width: 32px;
  min-height: 29px;
  margin-top: -20px;
  padding-top: 3px;
  border: 3px solid #0b0c0c;
  border-radius: 50%;
  color: #ffffff;
  background: #0b0c0c;
  font-size: 1.6em;
  line-height: 29px;
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

@media print {
  .govuk-warning-text__icon {
    font-family: sans-serif;
  }
}

.govuk-warning-text__text {
  display: block;
  padding-left: 50px;
}

.govuk-clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.govuk-visually-hidden-focusable {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.govuk-visually-hidden-focusable:active, .govuk-visually-hidden-focusable:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: inherit !important;
  overflow: visible !important;
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  white-space: inherit !important;
}

.govuk-\!-display-inline {
  display: inline !important;
}

.govuk-\!-display-inline-block {
  display: inline-block !important;
}

.govuk-\!-display-block {
  display: block !important;
}

.govuk-\!-margin-0 {
  margin: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-0 {
    margin: 0 !important;
  }
}

.govuk-\!-margin-top-0 {
  margin-top: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-0 {
    margin-top: 0 !important;
  }
}

.govuk-\!-margin-right-0 {
  margin-right: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-0 {
    margin-right: 0 !important;
  }
}

.govuk-\!-margin-bottom-0 {
  margin-bottom: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-0 {
    margin-bottom: 0 !important;
  }
}

.govuk-\!-margin-left-0 {
  margin-left: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-0 {
    margin-left: 0 !important;
  }
}

.govuk-\!-margin-1 {
  margin: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-1 {
    margin: 5px !important;
  }
}

.govuk-\!-margin-top-1 {
  margin-top: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-1 {
    margin-top: 5px !important;
  }
}

.govuk-\!-margin-right-1 {
  margin-right: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-1 {
    margin-right: 5px !important;
  }
}

.govuk-\!-margin-bottom-1 {
  margin-bottom: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-1 {
    margin-bottom: 5px !important;
  }
}

.govuk-\!-margin-left-1 {
  margin-left: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-1 {
    margin-left: 5px !important;
  }
}

.govuk-\!-margin-2 {
  margin: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-2 {
    margin: 10px !important;
  }
}

.govuk-\!-margin-top-2 {
  margin-top: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-2 {
    margin-top: 10px !important;
  }
}

.govuk-\!-margin-right-2 {
  margin-right: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-2 {
    margin-right: 10px !important;
  }
}

.govuk-\!-margin-bottom-2 {
  margin-bottom: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-2 {
    margin-bottom: 10px !important;
  }
}

.govuk-\!-margin-left-2 {
  margin-left: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-2 {
    margin-left: 10px !important;
  }
}

.govuk-\!-margin-3 {
  margin: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-3 {
    margin: 15px !important;
  }
}

.govuk-\!-margin-top-3 {
  margin-top: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-3 {
    margin-top: 15px !important;
  }
}

.govuk-\!-margin-right-3 {
  margin-right: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-3 {
    margin-right: 15px !important;
  }
}

.govuk-\!-margin-bottom-3 {
  margin-bottom: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-3 {
    margin-bottom: 15px !important;
  }
}

.govuk-\!-margin-left-3 {
  margin-left: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-3 {
    margin-left: 15px !important;
  }
}

.govuk-\!-margin-4 {
  margin: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-4 {
    margin: 20px !important;
  }
}

.govuk-\!-margin-top-4 {
  margin-top: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-4 {
    margin-top: 20px !important;
  }
}

.govuk-\!-margin-right-4 {
  margin-right: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-4 {
    margin-right: 20px !important;
  }
}

.govuk-\!-margin-bottom-4 {
  margin-bottom: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-4 {
    margin-bottom: 20px !important;
  }
}

.govuk-\!-margin-left-4 {
  margin-left: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-4 {
    margin-left: 20px !important;
  }
}

.govuk-\!-margin-5 {
  margin: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-5 {
    margin: 25px !important;
  }
}

.govuk-\!-margin-top-5 {
  margin-top: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-5 {
    margin-top: 25px !important;
  }
}

.govuk-\!-margin-right-5 {
  margin-right: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-5 {
    margin-right: 25px !important;
  }
}

.govuk-\!-margin-bottom-5 {
  margin-bottom: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-5 {
    margin-bottom: 25px !important;
  }
}

.govuk-\!-margin-left-5 {
  margin-left: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-5 {
    margin-left: 25px !important;
  }
}

.govuk-\!-margin-6 {
  margin: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-6 {
    margin: 30px !important;
  }
}

.govuk-\!-margin-top-6 {
  margin-top: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-6 {
    margin-top: 30px !important;
  }
}

.govuk-\!-margin-right-6 {
  margin-right: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-6 {
    margin-right: 30px !important;
  }
}

.govuk-\!-margin-bottom-6 {
  margin-bottom: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-6 {
    margin-bottom: 30px !important;
  }
}

.govuk-\!-margin-left-6 {
  margin-left: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-6 {
    margin-left: 30px !important;
  }
}

.govuk-\!-margin-7 {
  margin: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-7 {
    margin: 40px !important;
  }
}

.govuk-\!-margin-top-7 {
  margin-top: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-7 {
    margin-top: 40px !important;
  }
}

.govuk-\!-margin-right-7 {
  margin-right: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-7 {
    margin-right: 40px !important;
  }
}

.govuk-\!-margin-bottom-7 {
  margin-bottom: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-7 {
    margin-bottom: 40px !important;
  }
}

.govuk-\!-margin-left-7 {
  margin-left: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-7 {
    margin-left: 40px !important;
  }
}

.govuk-\!-margin-8 {
  margin: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-8 {
    margin: 50px !important;
  }
}

.govuk-\!-margin-top-8 {
  margin-top: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-8 {
    margin-top: 50px !important;
  }
}

.govuk-\!-margin-right-8 {
  margin-right: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-8 {
    margin-right: 50px !important;
  }
}

.govuk-\!-margin-bottom-8 {
  margin-bottom: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-8 {
    margin-bottom: 50px !important;
  }
}

.govuk-\!-margin-left-8 {
  margin-left: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-8 {
    margin-left: 50px !important;
  }
}

.govuk-\!-margin-9 {
  margin: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-9 {
    margin: 60px !important;
  }
}

.govuk-\!-margin-top-9 {
  margin-top: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-9 {
    margin-top: 60px !important;
  }
}

.govuk-\!-margin-right-9 {
  margin-right: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-9 {
    margin-right: 60px !important;
  }
}

.govuk-\!-margin-bottom-9 {
  margin-bottom: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-9 {
    margin-bottom: 60px !important;
  }
}

.govuk-\!-margin-left-9 {
  margin-left: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-9 {
    margin-left: 60px !important;
  }
}

.govuk-\!-padding-0 {
  padding: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-0 {
    padding: 0 !important;
  }
}

.govuk-\!-padding-top-0 {
  padding-top: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-0 {
    padding-top: 0 !important;
  }
}

.govuk-\!-padding-right-0 {
  padding-right: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-0 {
    padding-right: 0 !important;
  }
}

.govuk-\!-padding-bottom-0 {
  padding-bottom: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-0 {
    padding-bottom: 0 !important;
  }
}

.govuk-\!-padding-left-0 {
  padding-left: 0 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-0 {
    padding-left: 0 !important;
  }
}

.govuk-\!-padding-1 {
  padding: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-1 {
    padding: 5px !important;
  }
}

.govuk-\!-padding-top-1 {
  padding-top: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-1 {
    padding-top: 5px !important;
  }
}

.govuk-\!-padding-right-1 {
  padding-right: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-1 {
    padding-right: 5px !important;
  }
}

.govuk-\!-padding-bottom-1 {
  padding-bottom: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-1 {
    padding-bottom: 5px !important;
  }
}

.govuk-\!-padding-left-1 {
  padding-left: 5px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-1 {
    padding-left: 5px !important;
  }
}

.govuk-\!-padding-2 {
  padding: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-2 {
    padding: 10px !important;
  }
}

.govuk-\!-padding-top-2 {
  padding-top: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-2 {
    padding-top: 10px !important;
  }
}

.govuk-\!-padding-right-2 {
  padding-right: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-2 {
    padding-right: 10px !important;
  }
}

.govuk-\!-padding-bottom-2 {
  padding-bottom: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-2 {
    padding-bottom: 10px !important;
  }
}

.govuk-\!-padding-left-2 {
  padding-left: 10px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-2 {
    padding-left: 10px !important;
  }
}

.govuk-\!-padding-3 {
  padding: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-3 {
    padding: 15px !important;
  }
}

.govuk-\!-padding-top-3 {
  padding-top: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-3 {
    padding-top: 15px !important;
  }
}

.govuk-\!-padding-right-3 {
  padding-right: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-3 {
    padding-right: 15px !important;
  }
}

.govuk-\!-padding-bottom-3 {
  padding-bottom: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-3 {
    padding-bottom: 15px !important;
  }
}

.govuk-\!-padding-left-3 {
  padding-left: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-3 {
    padding-left: 15px !important;
  }
}

.govuk-\!-padding-4 {
  padding: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-4 {
    padding: 20px !important;
  }
}

.govuk-\!-padding-top-4 {
  padding-top: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-4 {
    padding-top: 20px !important;
  }
}

.govuk-\!-padding-right-4 {
  padding-right: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-4 {
    padding-right: 20px !important;
  }
}

.govuk-\!-padding-bottom-4 {
  padding-bottom: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-4 {
    padding-bottom: 20px !important;
  }
}

.govuk-\!-padding-left-4 {
  padding-left: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-4 {
    padding-left: 20px !important;
  }
}

.govuk-\!-padding-5 {
  padding: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-5 {
    padding: 25px !important;
  }
}

.govuk-\!-padding-top-5 {
  padding-top: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-5 {
    padding-top: 25px !important;
  }
}

.govuk-\!-padding-right-5 {
  padding-right: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-5 {
    padding-right: 25px !important;
  }
}

.govuk-\!-padding-bottom-5 {
  padding-bottom: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-5 {
    padding-bottom: 25px !important;
  }
}

.govuk-\!-padding-left-5 {
  padding-left: 15px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-5 {
    padding-left: 25px !important;
  }
}

.govuk-\!-padding-6 {
  padding: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-6 {
    padding: 30px !important;
  }
}

.govuk-\!-padding-top-6 {
  padding-top: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-6 {
    padding-top: 30px !important;
  }
}

.govuk-\!-padding-right-6 {
  padding-right: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-6 {
    padding-right: 30px !important;
  }
}

.govuk-\!-padding-bottom-6 {
  padding-bottom: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-6 {
    padding-bottom: 30px !important;
  }
}

.govuk-\!-padding-left-6 {
  padding-left: 20px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-6 {
    padding-left: 30px !important;
  }
}

.govuk-\!-padding-7 {
  padding: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-7 {
    padding: 40px !important;
  }
}

.govuk-\!-padding-top-7 {
  padding-top: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-7 {
    padding-top: 40px !important;
  }
}

.govuk-\!-padding-right-7 {
  padding-right: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-7 {
    padding-right: 40px !important;
  }
}

.govuk-\!-padding-bottom-7 {
  padding-bottom: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-7 {
    padding-bottom: 40px !important;
  }
}

.govuk-\!-padding-left-7 {
  padding-left: 25px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-7 {
    padding-left: 40px !important;
  }
}

.govuk-\!-padding-8 {
  padding: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-8 {
    padding: 50px !important;
  }
}

.govuk-\!-padding-top-8 {
  padding-top: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-8 {
    padding-top: 50px !important;
  }
}

.govuk-\!-padding-right-8 {
  padding-right: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-8 {
    padding-right: 50px !important;
  }
}

.govuk-\!-padding-bottom-8 {
  padding-bottom: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-8 {
    padding-bottom: 50px !important;
  }
}

.govuk-\!-padding-left-8 {
  padding-left: 30px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-8 {
    padding-left: 50px !important;
  }
}

.govuk-\!-padding-9 {
  padding: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-9 {
    padding: 60px !important;
  }
}

.govuk-\!-padding-top-9 {
  padding-top: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-9 {
    padding-top: 60px !important;
  }
}

.govuk-\!-padding-right-9 {
  padding-right: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-9 {
    padding-right: 60px !important;
  }
}

.govuk-\!-padding-bottom-9 {
  padding-bottom: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-9 {
    padding-bottom: 60px !important;
  }
}

.govuk-\!-padding-left-9 {
  padding-left: 40px !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-9 {
    padding-left: 60px !important;
  }
}

.govuk-\!-font-size-80 {
  font-size: 53px !important;
  font-size: 3.3125rem !important;
  line-height: 1.03774 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-80 {
    font-size: 80px !important;
    font-size: 5rem !important;
    line-height: 1 !important;
  }
}

@media print {
  .govuk-\!-font-size-80 {
    font-size: 53pt !important;
    line-height: 1.1 !important;
  }
}

.govuk-\!-font-size-48 {
  font-size: 32px !important;
  font-size: 2rem !important;
  line-height: 1.09375 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-48 {
    font-size: 48px !important;
    font-size: 3rem !important;
    line-height: 1.04167 !important;
  }
}

@media print {
  .govuk-\!-font-size-48 {
    font-size: 32pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-36 {
  font-size: 24px !important;
  font-size: 1.5rem !important;
  line-height: 1.04167 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-36 {
    font-size: 36px !important;
    font-size: 2.25rem !important;
    line-height: 1.11111 !important;
  }
}

@media print {
  .govuk-\!-font-size-36 {
    font-size: 24pt !important;
    line-height: 1.05 !important;
  }
}

.govuk-\!-font-size-27 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
  line-height: 1.11111 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-27 {
    font-size: 27px !important;
    font-size: 1.6875rem !important;
    line-height: 1.11111 !important;
  }
}

@media print {
  .govuk-\!-font-size-27 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-24 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
  line-height: 1.11111 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-24 {
    font-size: 24px !important;
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
  }
}

@media print {
  .govuk-\!-font-size-24 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-19 {
  font-size: 16px !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-19 {
    font-size: 19px !important;
    font-size: 1.1875rem !important;
    line-height: 1.31579 !important;
  }
}

@media print {
  .govuk-\!-font-size-19 {
    font-size: 14pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-16 {
  font-size: 14px !important;
  font-size: 0.875rem !important;
  line-height: 1.14286 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-16 {
    font-size: 16px !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
}

@media print {
  .govuk-\!-font-size-16 {
    font-size: 14pt !important;
    line-height: 1.2 !important;
  }
}

.govuk-\!-font-size-14 {
  font-size: 12px !important;
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-14 {
    font-size: 14px !important;
    font-size: 0.875rem !important;
    line-height: 1.42857 !important;
  }
}

@media print {
  .govuk-\!-font-size-14 {
    font-size: 12pt !important;
    line-height: 1.2 !important;
  }
}

.govuk-\!-font-weight-regular {
  font-weight: 400 !important;
}

.govuk-\!-font-weight-bold {
  font-weight: 700 !important;
}

.govuk-\!-width-full {
  width: 100% !important;
}

.govuk-\!-width-three-quarters {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-width-three-quarters {
    width: 75% !important;
  }
}

.govuk-\!-width-two-thirds {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-width-two-thirds {
    width: 66.66% !important;
  }
}

.govuk-\!-width-one-half {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-width-one-half {
    width: 50% !important;
  }
}

.govuk-\!-width-one-third {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-width-one-third {
    width: 33.33% !important;
  }
}

.govuk-\!-width-one-quarter {
  width: 100% !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-width-one-quarter {
    width: 25% !important;
  }
}

.app-check-your-answers {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 40px;
}

@media print {
  .app-check-your-answers {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-check-your-answers {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .app-check-your-answers {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .app-check-your-answers {
    margin-bottom: 60px;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers {
    display: table;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers--short {
    width: 100%;
  }
  .app-check-your-answers--short .app-check-your-answers__question {
    width: 30%;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers--long {
    width: 100%;
  }
  .app-check-your-answers--long .app-check-your-answers__question {
    width: 50%;
  }
}

.app-check-your-answers__contents {
  position: relative;
  border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__contents {
    display: table-row;
    border-bottom-width: 0;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__contents:first-child .app-check-your-answers__question,
  .app-check-your-answers__contents:first-child .app-check-your-answers__answer,
  .app-check-your-answers__contents:first-child .app-check-your-answers__change {
    padding-top: 0;
  }
}

.app-check-your-answers__question,
.app-check-your-answers__answer,
.app-check-your-answers__change {
  display: block;
  margin: 0;
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__question,
  .app-check-your-answers__answer,
  .app-check-your-answers__change {
    display: table-cell;
    border-bottom: 1px solid #bfc1c3;
    padding: 0.63158em 1.05263em 0.47368em 0;
  }
}

.app-check-your-answers__question {
  font-weight: bold;
  margin: 0.63158em 4em 0.21053em 0;
}

.app-check-your-answers__answer {
  padding-bottom: 0.47368em;
}

.app-check-your-answers__change {
  text-align: right;
  position: absolute;
  top: 0;
  right: 0;
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__change {
    position: static;
    padding-right: 0;
  }
}

.app-task-list {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 40.0625em) {
  .app-task-list {
    min-width: 550px;
  }
}

.app-task-list__section {
  display: table;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
}

@media print {
  .app-task-list__section {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__section {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .app-task-list__section {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.app-task-list__section-number {
  display: table-cell;
}

@media (min-width: 40.0625em) {
  .app-task-list__section-number {
    min-width: 30px;
    padding-right: 0;
  }
}

.app-task-list__items {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 40px;
  list-style: none;
  padding-left: 0;
}

@media print {
  .app-task-list__items {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__items {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .app-task-list__items {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__items {
    margin-bottom: 60px;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__items {
    padding-left: 30px;
  }
}

.app-task-list__item {
  border-bottom: 1px solid #bfc1c3;
  margin-bottom: 0 !important;
  padding-top: 10px;
  padding-bottom: 10px;
}

.app-task-list__item:after {
  content: "";
  display: block;
  clear: both;
}

.app-task-list__item:first-child {
  border-top: 1px solid #bfc1c3;
}

.app-task-list__task-name {
  display: block;
}

@media (min-width: 28.125em) {
  .app-task-list__task-name {
    float: left;
    width: 75%;
  }
}

.app-task-list__task-completed {
  margin-top: 10px;
  margin-bottom: 5px;
}

@media (min-width: 28.125em) {
  .app-task-list__task-completed {
    float: right;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.app-related-items {
  border-top: 10px solid #005ea5;
  padding-top: 10px;
}

.app-related-items .govuk-list > li {
  margin-bottom: 10px;
}

.app-cookie-banner {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  color: #0b0c0c;
  box-sizing: border-box;
  width: 100%;
  padding-top: 15px;
  padding-right: 15px;
  padding-bottom: 15px;
  padding-left: 15px;
  background-color: #d5e8f3;
}

@media print {
  .app-cookie-banner {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-cookie-banner {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .app-cookie-banner {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .app-cookie-banner {
    color: #000000;
  }
}

.app-cookie-banner__message {
  margin: 0;
  max-width: 960px;
  margin: 0 15px;
}

@media (min-width: 40.0625em) {
  .app-cookie-banner__message {
    margin: 0 30px;
  }
}

@media (min-width: 1020px) {
  .app-cookie-banner__message {
    margin: 0 auto;
  }
}

@media print {
  .app-cookie-banner {
    display: none !important;
  }
}

.code {
  color: #0b0c0c;
  background-color: #f8f8f8;
  text-shadow: 0 1px #ffffff;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  font-size: 14px;
  direction: ltr;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  border: 1px solid #bfc1c3;
  padding: 4px 4px 2px;
}

.markdown hr {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (min-width: 40.0625em) {
  .markdown hr {
    margin-top: 30px;
  }
}

@media (min-width: 40.0625em) {
  .markdown hr {
    margin-bottom: 30px;
  }
}

.govuk-list + .govuk-heading-l,
.govuk-list + .govuk-heading-m,
.govuk-list + .govuk-heading-s {
  margin-top: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-list + .govuk-heading-l,
  .govuk-list + .govuk-heading-m,
  .govuk-list + .govuk-heading-s {
    margin-top: 20px;
  }
}

.govuk-grid-column-fifth {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
  width: 20%;
  float: left;
}

.tag {
  color: white !important;
  font-weight: 700;
  padding: 0.25em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  font-family: "nta", Arial, sans-serif;
}

.big_number {
  font-size: 96px;
  font-weight: 700;
  text-align: center;
  font-family: "nta", Arial, sans-serif;
}

.tag.explore {
  background-color: #2e358b;
}

.tag.discovery {
  background-color: #912b88;
}

.tag.alpha {
  background-color: #d53880;
}

.tag.beta,
.govuk-tag-orange {
  background-color: #Ca4c0c;
}

.tag.live {
  background-color: #85994b;
}

.tag.status {
  background-color: #2e358b;
}

.txt-explore {
  color: #2e358b;
  background: rgba(46, 53, 139, 0.2);
}

.txt-discovery {
  color: #912b88;
  background: rgba(145, 43, 136, 0.2);
}

.txt-alpha {
  color: #d53880;
  background: rgba(213, 56, 128, 0.2);
}

.txt-beta {
  color: #Ca4c0c;
  background: rgba(244, 119, 56, 0.2);
}

.txt-live {
  color: #85994b;
  background: rgba(133, 153, 75, 0.2);
}

.service-area {
  border-bottom: 1px solid #bfc1c3;
  margin-bottom: 10px;
}

.link-list {
  font-size: 16px;
  margin-bottom: 5px;
}

.link-list li {
  padding: 10px;
  margin-bottom: 5px;
  border-left: 3px solid transparent;
  background-color: #f8f8f8;
}

.border-explore,
.border-explore li {
  border-color: #2e358b;
}

.border-discovery,
.border-discovery li {
  border-color: #912b88;
}

.border-alpha,
.border-alpha li {
  border-color: #d53880;
}

.border-beta,
.border-beta li {
  border-color: #Ca4c0c;
}

.border-beta_public,
.border-beta_public li {
  border-color: #f16d2b;
}

.border-live,
.border-live li {
  border-color: #85994b;
}

.border-internal,
.border-internal li {
  border-color: #0b0c0c;
}

.circle.explore {
  background-color: #2e358b;
}

.circle.discovery {
  background-color: #912b88;
}

.circle.alpha {
  background-color: #d53880;
}

.circle.beta {
  background-color: #f47738;
}

.circle.beta_public {
  background-color: #f47738;
}

.circle.live {
  background-color: #85994b;
}

.phase_modifier {
  font-size: 16px;
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  text-align: center;
  color: white;
}

.phase-circle {
  width: 40%;
  position: relative;
}

.circle-label {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  margin-top: -15px;
  text-align: center;
  color: white;
  font-weight: 700;
  font-size: 24px;
}

.circle {
  background: red;
  color: white;
  width: 100%;
  height: 0;
  padding-top: 100%;
  border-radius: 50% 50%;
  display: inline-block;
  margin: 0;
}

ul,
ol {
  list-style-type: none;
  padding: 0;
}

.govuk-header__logo {
  display: inline-block;
  width: 40%;
  padding-right: 0px;
  vertical-align: top;
}

.govuk-header__content {
  display: inline-block;
  width: 60%;
  padding-top: 5px;
}

@media (min-width: 48.0625em) {
  .govuk-header__content {
    padding-top: 0px;
  }
}

.js-enabled .govuk-header__menu-button {
  top: 50px;
}

.govuk-header__logotype {
  font-size: 22px;
  line-height: 18px;
  top: 0px;
  padding-top: 0px;
}

@media (min-width: 48.0625em) {
  .govuk-header__logotype {
    font-size: 30px;
  }
}

.text-right {
  text-align: right;
}

.card__body {
  display: block;
  background-color: #dee0e2;
  padding: 1em;
  color: #005ea5;
  text-decoration: none;
}

.card__body span {
  display: block;
}

a.card__body {
  color: #333333;
}

a.card__body:hover, a.card__body:focus {
  cursor: pointer;
  background-color: #f8f8f8;
  color: #333333;
  text-decoration: none;
}

.card__footer {
  display: block;
  background-color: #aaaaaa;
  padding: 1em;
}

.tag-incomplete {
  background-color: #757575;
}

.gcuk-interruption-background {
  font-weight: 400;
  font-size: 18px;
  line-height: 20px;
  padding: 40px;
  display: block;
  margin: 0;
  background-color: #005ea5;
  color: #fff;
  margin-bottom: 40px;
}

.gcuk-font-white {
  color: #fff !important;
}

.gcuk-font-light-grey {
  color: #d8dcde !important;
}

.gcuk-button-white {
  color: #005ea5 !important;
  background-color: #fff !important;
  padding-left: 40px;
  padding-right: 40px;
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 0px;
}

.big-number-dark,
.big-number-smaller,
.big-number-smallest,
.big-number-with-status,
.big-number {
  display: block;
}

.big-number-number {
  font-family: "ntatabularnumbers", "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 32px;
  line-height: 1.09375;
  display: block;
}

@media (min-width: 641px) {
  .big-number-number {
    font-size: 48px;
    line-height: 1.04167;
  }
}

.big-number-label {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
  display: inline-block;
  padding-bottom: 10px;
}

@media (min-width: 641px) {
  .big-number-label {
    font-size: 19px;
    line-height: 1.31579;
  }
}

.big-number-dark {
  padding: 15px;
  position: relative;
  background: #0b0c0c;
  color: #fff;
}

.big-number-dark .big-number-number {
  font-family: "ntatabularnumbers", "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 24px;
  line-height: 1.04167;
}

@media (min-width: 641px) {
  .big-number-dark .big-number-number {
    font-size: 36px;
    line-height: 1.11111;
  }
}

.big-number-smaller .big-number-number {
  font-family: "ntatabularnumbers", "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 24px;
  line-height: 1.04167;
}

@media (min-width: 641px) {
  .big-number-smaller .big-number-number {
    font-size: 36px;
    line-height: 1.11111;
  }
}

.big-number-smallest .big-number-number {
  font-family: "ntatabularnumbers", "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 18px;
  line-height: 1.2;
}

@media (min-width: 641px) {
  .big-number-smallest .big-number-number {
    font-size: 24px;
    line-height: 1.25;
  }
}

.big-number-with-status {
  position: relative;
  margin-bottom: 20px;
}

.big-number-with-status .big-number,
.big-number-with-status .big-number-smaller {
  padding: 15px;
  position: relative;
  background: #0b0c0c;
  color: #fff;
}

.big-number-with-status .big-number-label {
  padding-bottom: 0;
}

.big-number-with-status .big-number-label:link,
.big-number-with-status .big-number-label:visited {
  color: #005ea5;
}

.big-number-with-status .big-number-link {
  text-decoration: none;
  background: #005ea5;
  color: #fff;
  display: block;
  border: 2px solid #005ea5;
  margin-bottom: 5px;
}

.big-number-with-status .big-number-link:hover {
  color: #d5e8f3;
}

.big-number-with-status .big-number-link:hover .big-number {
  color: #d5e8f3;
}

.big-number-with-status .big-number-link:active,
.big-number-with-status .big-number-link:focus {
  outline: 3px solid #ffbf47;
}

.big-number-with-status .big-number-link .big-number,
.big-number-with-status .big-number-link .big-number-smaller {
  background: transparent;
}

.big-number-with-status .big-number-link .big-number-label {
  text-decoration: underline;
}

.big-number-with-status .big-number-status-failing,
.big-number-with-status .big-number-status {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
  display: block;
  background: #006435;
  color: #fff;
  padding: 15px;
}

@media (min-width: 641px) {
  .big-number-with-status .big-number-status-failing,
  .big-number-with-status .big-number-status {
    font-size: 19px;
    line-height: 1.31579;
  }
}

.big-number-with-status .big-number-status-failing a:link,
.big-number-with-status .big-number-status-failing a:visited,
.big-number-with-status .big-number-status-failing a:active,
.big-number-with-status .big-number-status-failing a:hover,
.big-number-with-status .big-number-status a:link,
.big-number-with-status .big-number-status a:visited,
.big-number-with-status .big-number-status a:active,
.big-number-with-status .big-number-status a:hover {
  color: #fff;
  text-decoration: underline;
}

.big-number-with-status .big-number-status-failing a:active,
.big-number-with-status .big-number-status-failing a:focus,
.big-number-with-status .big-number-status a:active,
.big-number-with-status .big-number-status a:focus {
  color: #0b0c0c;
  border-bottom: 1px solid #0b0c0c;
}

.big-number-with-status .big-number-status-failing {
  background: #b10e1e;
}

.big-number-meta-wrapper {
  position: relative;
  margin: 15px 0 30px 0;
  background: #005ea5;
}

.big-number-meta-wrapper .big-number-meta {
  padding: 10px 15px;
  color: #fff;
  pointer-events: none;
}

@media (min-width: 769px) {
  .big-number-meta-wrapper .big-number-meta {
    position: absolute;
    bottom: 7px;
    right: 5px;
    text-align: right;
  }
}

.app-task-list__task-incomplete {
  float: right;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  background: #757575;
  font-size: 16px;
  line-height: 20px;
}

.card {
  margin-bottom: 2em;
  font-family: "nta", Arial, sans-serif;
}

@media screen and (min-width: 600px) and (max-width: 900px) {
  .card {
    flex-basis: 45.99%;
  }
  .card:nth-child(2n-1) {
    margin-right: 3%;
  }
  .card:nth-child(2n-2) {
    margin-left: 3%;
  }
}

@media screen and (min-width: 900px) {
  .card {
    flex-basis: 31%;
  }
  .card:nth-child(3n-1) {
    margin-left: 3%;
    margin-right: 3%;
  }
}

html[data-useragent*='MSIE 10.0'] .flex-container .card {
  flex-basis: 31%;
  margin: 3%;
}

.card {
  border: 1px solid #dee0e2;
  font-size: 16px;
  min-height: 270px;
}

.card .inactive {
  color: #6f777b;
}

.card .card-heading {
  margin-top: 0;
}

.card .card-body {
  border-bottom: 1px solid #dee0e2;
  padding: 12px;
  background: #dee0e2;
  min-height: 120px;
}

.card .card-body:last-child {
  margin-bottom: 0;
}

.card .card-body .detail-large {
  color: #6f777b;
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 8px;
}

.card .card-body .detail {
  font-weight: 600;
  margin-bottom: 8px;
}

.card-body.active {
  background-color: #f8f8f8;
  transition: .1s ease-in-out;
}

.card-action {
  border-top: 0;
  padding: 12px;
}

.card-action ul {
  margin: 0;
}

.card-action ul li {
  margin: 0 0 10px 0;
}

.card-action ul li:last-child {
  margin-bottom: 0;
}

.card-body.active.highlighted {
  background-color: #005ea5;
  color: #fff;
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.card-body.active.highlighted .card-heading,
.card-body.active.highlighted p,
.card-body.active.highlighted span {
  color: #fff;
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.card-body.active.highlighted .card-heading a {
  color: #fff;
  transition-delay: .25s;
}

.card-body.active.highlighted .detail-large {
  color: #fff;
  transition-delay: .25s;
}

.card-body.active:hover {
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.card-body.active:hover .card-heading,
.card-body.active:hover p,
.card-body.active:hover span {
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.card-body.active:hover .card-heading a {
  transition-delay: .25s;
}

.card-body.active:hover .detail-large {
  transition-delay: .25s;
}

.card-body.active a {
  text-decoration: none;
}

main {
  display: block;
}

.govuk-aside-menu {
  border-right: 1px solid #6f777b;
  padding: 15px;
}

.govuk-width-case {
  max-width: 100% !important;
  margin: 0 30px !important;
}

.gc-sub-header {
  padding: 11px 0 9px 0;
  border-bottom: 1px solid #bfc1c3;
  margin: -30px 0 30px 0 !important;
  position: relative;
}

.gc-sub-header-body {
  font-family: "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
  margin: 0 0 0 0;
}

.gc-sub-header-body {
  font-size: 19px;
  line-height: 1.3157;
}

.gc-sub-header-right {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 14px;
  line-height: 1.1428;
  text-align: right;
  position: absolute;
  top: 0px;
  right: 0px;
  padding: 13px 0 9px 15px;
}

.gc-sub-header-right {
  font-size: 16px;
  line-height: 1.25;
}

.dashboard-card {
  margin-bottom: 2em;
  font-family: "nta", Arial, sans-serif;
}

@media screen and (min-width: 600px) and (max-width: 900px) {
  .dashboard-card {
    flex-basis: 45.99%;
  }
  .dashboard-card:nth-child(2n-1) {
    margin-right: 3%;
  }
  .dashboard-card:nth-child(2n-2) {
    margin-left: 3%;
  }
}

@media screen and (min-width: 900px) {
  .dashboard-card {
    flex-basis: 31%;
  }
  .dashboard-card:nth-child(3n-1) {
    margin-left: 3%;
    margin-right: 3%;
  }
}

html[data-useragent*='MSIE 10.0'] .flex-container .dashboard-card {
  flex-basis: 31%;
  margin: 3%;
}

.dashboard-card {
  border: 1px solid #dee0e2;
  font-size: 16px;
}

.dashboard-card .inactive {
  color: #6f777b;
}

.dashboard-card .dashboard-card-heading {
  margin-top: 0;
}

.dashboard-card .dashboard-card-body {
  border-bottom: 0px solid #dee0e2;
  padding: 10px 10px 1px 10px;
}

.dashboard-card .dashboard-card-body:last-child {
  margin-bottom: 0;
}

.dashboard-card .dashboard-card-body .detail-large {
  color: #6f777b;
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 8px;
}

.dashboard-card .dashboard-card-body .detail {
  font-weight: 600;
  margin-bottom: 8px;
}

.dashboard-card-body.active {
  background-color: #f8f8f8;
  transition: .1s ease-in-out;
}

.dashboard-card-action {
  border-top: 0;
  padding: 12px;
}

.dashboard-card-action ul {
  margin: 0;
}

.dashboard-card-action ul li {
  margin: 0 0 1em;
}

.dashboard-card-action ul li:last-child {
  margin-bottom: 0;
}

.dashboard-card-body.active.highlighted {
  background-color: #005ea5;
  color: #fff;
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.dashboard-card-body.active.highlighted .dashboard-card-heading,
.dashboard-card-body.active.highlighted p,
.dashboard-card-body.active.highlighted span {
  color: #fff;
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.dashboard-card-body.active.highlighted .dashboard-card-heading a {
  color: #fff;
  transition-delay: .25s;
}

.dashboard-card-body.active.highlighted .detail-large {
  color: #fff;
  transition-delay: .25s;
}

.dashboard-card-body.active:hover {
  background-color: #005ea5;
  color: #fff;
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.dashboard-card-body.active:hover .govuk-heading-xl,
.dashboard-card-body.active:hover p,
.dashboard-card-body.active:hover span {
  color: #fff;
  transition: .1s ease-in-out;
  transition-delay: .25s;
}

.dashboard-card-body.active:hover .dashboard-card-heading a {
  color: #fff;
  transition-delay: .25s;
}

.dashboard-card-body.active:hover .detail-large {
  color: #fff;
  transition-delay: .25s;
}

.dashboard-card-body.active a {
  text-decoration: none;
}

.gc-alert {
  display: block;
  padding: 20px;
  margin-bottom: 20px;
}

.gc-alert-important {
  border: 5px solid #005ea5;
}

.app-panel {
  margin-bottom: 40px;
  border: 5px solid #0b0c0c;
  padding: 2em;
  text-align: left;
  width: 100%;
}

@media (min-width: 40.0625em) {
  .app-panel {
    margin-bottom: 60px;
  }
}

.app-panel--success {
  border-color: #85994b;
}

.app-panel--success {
  border-color: #85994b;
}

.gc-alert-error {
  border: 5px solid #df3034;
}

.sus-blue {
  color: #0070c0;
}

.sus-green {
  color: #00b050;
}

.sus-orange {
  color: #ffc000;
}

.sus-red {
  color: red;
}

.sus-yellow {
  color: yellow;
}

.gc-panel {
  background: #cccccc;
}

.align-right {
  text-align: right;
  float: right;
}

.attachment-thumb > a > img {
  display: block;
  width: 99px;
  height: 140px;
  background: #fff;
  outline: 5px solid rgba(11, 12, 12, 0.1);
  -webkit-box-shadow: 0 2px 2px rgba(11, 12, 12, 0.4);
  -moz-box-shadow: 0 2px 2px rgba(11, 12, 12, 0.4);
  box-shadow: 0px 2px 2px rgba(11, 12, 12, 0.4);
}

.gc-button-secondary {
  background: #bfc1c3;
  color: #0b0c0c !important;
}

.gc-button-secondary:hover {
  background: #6f777b;
  color: #fff !important;
}

.govuk-panel {
  color: black;
  background-color: white;
  border: 5px solid #008A3C;
  text-align: left;
}

.copy-to-clipboard {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 0.87rem;
  line-height: 1.25;
  min-width: 80px;
  padding: 4px 10px 0;
  border: 1px solid #00823b;
  color: #00823b;
  background-color: #fff;
  -webkit-box-shadow: 0 0 0 4px #f8f8f8;
  box-shadow: 0px 0px 0px 4px #f8f8f8;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  margin-top: 15px;
  cursor: pointer;
}

.copy-to-clipboard:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fYXNzZXRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbXBhdGliaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19pZTguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb2xvdXJzLXBhbGV0dGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29sb3Vycy1vcmdhbmlzYXRpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbG91cnMtYXBwbGllZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NvbG91ci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX21lYXN1cmVtZW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19leHBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2ZvbnQtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19pZmYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9faW1hZ2UtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZGV2aWNlLXBpeGVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvY3VzYWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvbnQtZmFjZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fbGlua3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdmVuZG9yL19zYXNzLW1xLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fc2hhcGUtYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fbGlzdHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL190ZW1wbGF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2Zvcm0tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fbWFpbi13cmFwcGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fd2lkdGgtY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9iYWNrLWxpbmsvX2JhY2stbGluay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9idXR0b24vX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvY2hlY2tib3hlcy9fY2hlY2tib3hlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9fZXJyb3ItbWVzc2FnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZmllbGRzZXQvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9oaW50L19oaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9sYWJlbC9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2NoYXJhY3Rlci1jb3VudC9fY2hhcmFjdGVyLWNvdW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9kYXRlLWlucHV0L19kYXRlLWlucHV0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9pbnB1dC9faW5wdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2RldGFpbHMvX2RldGFpbHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLXN1bW1hcnkvX2Vycm9yLXN1bW1hcnkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL19maWxlLXVwbG9hZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZm9vdGVyL19mb290ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2hlYWRlci9faGVhZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9pbnNldC10ZXh0L19pbnNldC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9wYW5lbC9fcGFuZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3BoYXNlLWJhbm5lci9fcGhhc2UtYmFubmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWcvX3RhZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGFicy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvcmFkaW9zL19yYWRpb3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3NlbGVjdC9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9za2lwLWxpbmsvX3NraXAtbGluay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGFibGUvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90ZXh0YXJlYS9fdGV4dGFyZWEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3dhcm5pbmctdGV4dC9fd2FybmluZy10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdXRpbGl0aWVzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdXRpbGl0aWVzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vdmVycmlkZXMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fd2lkdGguc2NzcyIsInBhdHRlcm5zL19jaGVjay15b3VyLWFuc3dlcnMuc2NzcyIsInBhdHRlcm5zL190YXNrLWxpc3Quc2NzcyIsInBhdHRlcm5zL19yZWxhdGVkLWl0ZW1zLnNjc3MiLCJjb21wb25lbnRzL19jb29raWUtYmFubmVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQnJhbmQgY29sb3Vyc1xyXG4kZ292dWstYmx1ZTogIzAwNWVhNTtcclxuJG1haW5zdHJlYW0tYnJhbmQ6ICRnb3Z1ay1ibHVlO1xyXG5cclxuLy8gU3RhbmRhcmQgcGFsZXR0ZSwgY29sb3Vyc1xyXG4kcHVycGxlOiAjMmUzNThiO1xyXG4kcHVycGxlLTUwOiAjOTc5OWM0O1xyXG4kcHVycGxlLTI1OiAjZDVkNmU3O1xyXG4kbWF1dmU6ICM2ZjcyYWY7XHJcbiRtYXV2ZS01MDogI2I3YjlkNztcclxuJG1hdXZlLTI1OiAjZTJlMmVmO1xyXG4kZnVzY2hpYTogIzkxMmI4ODtcclxuJGZ1c2NoaWEtNTA6ICNjOTk0YzM7XHJcbiRmdXNjaGlhLTI1OiAjZTlkNGU2O1xyXG4kcGluazogI2Q1Mzg4MDtcclxuJHBpbmstNTA6ICNlYjliYmU7XHJcbiRwaW5rLTI1OiAjZjZkN2U1O1xyXG4kYmFieS1waW5rOiAjZjQ5OWJlO1xyXG4kYmFieS1waW5rLTUwOiAjZmFjY2RmO1xyXG4kYmFieS1waW5rLTI1OiAjZmRlYmYyO1xyXG4kcmVkOiAjZmZlYmVkO1xyXG4kcmVkLTUwOiAjZDk4ODhjO1xyXG4kcmVkLTI1OiAjZWZjZmQxO1xyXG4kbWVsbG93LXJlZDogI2RmMzAzNDtcclxuJG1lbGxvdy1yZWQtNTA6ICNlZjk5OTg7XHJcbiRtZWxsb3ctcmVkLTI1OiAjZjlkNmQ2O1xyXG4kb3JhbmdlOiAjZjQ3NzM4O1xyXG4kb3JhbmdlLTUwOiAjZmFiYjk2O1xyXG4kb3JhbmdlLTI1OiAjZmRlNGQ0O1xyXG4kYnJvd246ICNiNTg4NDA7XHJcbiRicm93bi01MDogI2RhYzM5YztcclxuJGJyb3duLTI1OiAjZjBlN2Q3O1xyXG4keWVsbG93OiAjZmZiZjQ3O1xyXG4keWVsbG93LTUwOiAjZmZkZjk0O1xyXG4keWVsbG93LTI1OiAjZmZmMmQzO1xyXG4kZ3Jhc3MtZ3JlZW46ICM4NTk5NGI7XHJcbiRncmFzcy1ncmVlbi01MDogI2MyY2NhMztcclxuJGdyYXNzLWdyZWVuLTI1OiAjZTdlYmRhO1xyXG4kZ3JlZW46ICMwMDY0MzU7XHJcbiRncmVlbi01MDogIzdmYjI5OTtcclxuJGdyZWVuLTI1OiAjY2NlMGQ2O1xyXG4kdHVycXVvaXNlOiAjMjhhMTk3O1xyXG4kdHVycXVvaXNlLTUwOiAjOTVkMGNiO1xyXG4kdHVycXVvaXNlLTI1OiAjZDVlY2VhO1xyXG4kbGlnaHQtYmx1ZTogIzJiOGNjNDtcclxuJGxpZ2h0LWJsdWUtNTA6ICM5NmM2ZTI7XHJcbiRsaWdodC1ibHVlLTI1OiAjZDVlOGYzO1xyXG5cclxuLy8gU3RhbmRhcmQgcGFsZXR0ZSwgZ3JleXNcclxuJGJsYWNrOiAjMGIwYzBjO1xyXG4kZ3JleS0xOiAjNmY3NzdiO1xyXG4kZ3JleS0yOiAjYmZjMWMzO1xyXG4kZ3JleS0zOiAjZGVlMGUyO1xyXG4kZ3JleS00OiAjZjhmOGY4O1xyXG4kd2hpdGU6ICNmZmY7XHJcblxyXG4vLyBTZW1hbnRpYyBjb2xvdXIgbmFtZXNcclxuJGxpbmstY29sb3VyOiAkZ292dWstYmx1ZTtcclxuJGxpbmstYWN0aXZlLWNvbG91cjogJGxpZ2h0LWJsdWU7XHJcbiRsaW5rLWhvdmVyLWNvbG91cjogJGxpZ2h0LWJsdWU7XHJcbiRsaW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyO1xyXG4kYnV0dG9uLWNvbG91cjogIzAwODIzYjtcclxuJGZvY3VzLWNvbG91cjogJHllbGxvdztcclxuJHRleHQtY29sb3VyOiAkYmxhY2s7IC8vIFN0YW5kYXJkIHRleHQgY29sb3VyXHJcbiRzZWNvbmRhcnktdGV4dC1jb2xvdXI6ICRncmV5LTE7IC8vIFNlY3Rpb24gaGVhZGVycywgaGVscCB0ZXh0IGV0Yy5cclxuJGJvcmRlci1jb2xvdXI6ICRncmV5LTI7IC8vIEJvcmRlcnMsIHNlcGVyYXRvcnMsIHJ1bGVzLCBrZXlsaW5lcyBldGMuXHJcbiRwYW5lbC1jb2xvdXI6ICRncmV5LTM7IC8vIFJlbGF0ZWQgbGlua3MgcGFuZWwsIHBhZ2UgZm9vdGVyIGV0Yy5cclxuJGNhbnZhcy1jb2xvdXI6ICRncmV5LTQ7IC8vIFBhZ2UgYmFja2dyb3VuZFxyXG4kaGlnaGxpZ2h0LWNvbG91cjogJGdyZXktNDsgLy8gVGFibGUgc3RyaXBlcyBldGMuXHJcbiRwYWdlLWNvbG91cjogJHdoaXRlOyAvLyBUaGUgcGFnZVxyXG4kZGlzY292ZXJ5LWNvbG91cjogJGdvdnVrLWJsdWU7IC8vIERpc2NvdmVyeSBiYWRnZXMgYW5kIGJhbm5lcnNcclxuJGFscGhhLWNvbG91cjogJGdvdnVrLWJsdWU7IC8vIEFscGhhIGJhZGdlcyBhbmQgYmFubmVyc1xyXG4kYmV0YS1jb2xvdXI6ICRnb3Z1ay1ibHVlOyAvLyBCZXRhIGJhZGdlcyBhbmQgYmFubmVyc1xyXG4kbGl2ZS1jb2xvdXI6ICRncmFzcy1ncmVlbjsgLy8gTGl2ZSBiYWRnZXMgYW5kIGJhbm5lcnNcclxuJGJhbm5lci10ZXh0LWNvbG91cjogIzAwMDsgLy8gVGV4dCBjb2xvdXIgZm9yIEFscGhhICYgQmV0YSBiYW5uZXJzXHJcbiRlcnJvci1jb2xvdXI6ICRyZWQ7IC8vIEVycm9yIHRleHQgYW5kIGJvcmRlciBjb2xvdXJcclxuJGVycm9yLWJhY2tncm91bmQ6ICNmZWY3Zjc7IC8vIEVycm9yIGJhY2tncm91bmQgY29sb3VyXHJcbiRyZWQ6ICNiMTBlMWU7XHJcblxyXG4kbGlnaHQtYmx1ZTogIzJiOGNjNDtcclxuJGxpbmstY29sb3VyOiAkZ292dWstYmx1ZTtcclxuJGxpbmstYWN0aXZlLWNvbG91cjogJGxpZ2h0LWJsdWU7XHJcbiRsaW5rLWhvdmVyLWNvbG91cjogJGxpZ2h0LWJsdWU7XHJcbiRsaW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyO1xyXG4keWVsbG93OiAjZmZiZjQ3O1xyXG4kYmxhY2s6ICMwYjBjMGM7XHJcbiRiYW5uZXItdGV4dC1jb2xvdXI6ICMwMDA7XHJcbiR3aGl0ZTogI2ZmZjtcclxuJHBhbmVsLWNvbG91cjogI2RlZTBlMjtcclxuJHNlY29uZGFyeS10ZXh0LWNvbG91cjogJGdyZXktMTtcclxuJHBhZ2UtY29sb3VyOiAkd2hpdGU7XHJcblxyXG4vLyBnbG9iYWwgc3R5bGVzIGZvciA8YT4gYW5kIDxwPiB0YWdzXHJcbiRnb3Z1ay1nbG9iYWwtc3R5bGVzOiB0cnVlO1xyXG5cclxuLy8gSW1wb3J0IEdPVi5VSyBGcm9udGVuZFxyXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2FsbFwiO1xyXG5cclxuLy8gUGF0dGVybnMgdGhhdCBhcmVuJ3QgaW4gRnJvbnRlbmRcclxuQGltcG9ydCBcInBhdHRlcm5zL2NoZWNrLXlvdXItYW5zd2Vyc1wiO1xyXG5AaW1wb3J0IFwicGF0dGVybnMvdGFzay1saXN0XCI7XHJcbkBpbXBvcnQgXCJwYXR0ZXJucy9yZWxhdGVkLWl0ZW1zXCI7XHJcblxyXG4vLyBDb21wb25lbnRzIHRoYXQgYXJlbid0IGluIEZyb250ZW5kXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Nvb2tpZS1iYW5uZXJcIjtcclxuXHJcbi5jb2RlIHtcclxuICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImdyZXktNFwiKTtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggZ292dWstY29sb3VyKFwid2hpdGVcIik7XHJcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBNb25hY28sICdBbmRhbGUgTW9ubycsICdVYnVudHUgTW9ubycsIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB3aGl0ZS1zcGFjZTogcHJlO1xyXG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xyXG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG4gIC1tb3otdGFiLXNpemU6IDQ7XHJcbiAgLW8tdGFiLXNpemU6IDQ7XHJcbiAgdGFiLXNpemU6IDQ7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBub25lO1xyXG4gIC1tb3otaHlwaGVuczogbm9uZTtcclxuICAtbXMtaHlwaGVuczogbm9uZTtcclxuICBoeXBoZW5zOiBub25lO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xyXG4gIHBhZGRpbmc6IDRweCA0cHggMnB4O1xyXG59XHJcblxyXG4vLyBMb2NhbCBmaXhlcyB0byBHT1YuVUsgZnJvbnRlbmRcclxuLm1hcmtkb3duIGhyIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcclxuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcclxufVxyXG5cclxuLmdvdnVrLWxpc3QrLmdvdnVrLWhlYWRpbmctbCxcclxuLmdvdnVrLWxpc3QrLmdvdnVrLWhlYWRpbmctbSxcclxuLmdvdnVrLWxpc3QrLmdvdnVrLWhlYWRpbmctcyB7XHJcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XHJcbn1cclxuXHJcbi8vIFRha2UgYSBsb29rIGF0IGluIGFwcC9hc3NldHMvc2Fzcy9wYXR0ZXJucy8gdG8gc2VlIHdoaWNoIGZpbGVzIGFyZSBpbXBvcnRlZC5cclxuLy8gQGltcG9ydCAncGF0dGVybnMvY2hlY2steW91ci1hbnN3ZXJzJztcclxuLy8gQGltcG9ydCAncGF0dGVybnMvdGFzay1saXN0JztcclxuLy8gQWRkIGV4dHJhIHN0eWxlcyBoZXJlLCBvciByZS1vcmdhbmlzZSB0aGUgU2FzcyBmaWxlcyBpbiB3aGljaGV2ZXIgd2F5IG1ha2VzIG1vc3Qgc2Vuc2UgdG8geW91XHJcbi5nb3Z1ay1ncmlkLWNvbHVtbi1maWZ0aCB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMCAxNXB4O1xyXG4gIHdpZHRoOiAyMCU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi50YWcge1xyXG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgcGFkZGluZzogMC4yNWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LW50YTtcclxufVxyXG5cclxuLmJpZ19udW1iZXIge1xyXG4gIGZvbnQtc2l6ZTogOTZweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LW50YTtcclxufVxyXG5cclxuLnRhZy5leHBsb3JlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUzNThiO1xyXG59XHJcblxyXG4udGFnLmRpc2NvdmVyeSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkxMmI4ODtcclxufVxyXG5cclxuLnRhZy5hbHBoYSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1Mzg4MDtcclxufVxyXG5cclxuLnRhZy5iZXRhLFxyXG4uZ292dWstdGFnLW9yYW5nZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NhNGMwYztcclxufVxyXG5cclxuLnRhZy5saXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5OTRiO1xyXG59XHJcblxyXG4udGFnLnN0YXR1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlMzU4YjtcclxufVxyXG5cclxuLnR4dC1leHBsb3JlIHtcclxuICBjb2xvcjogIzJlMzU4YjtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDQ2LCA1MywgMTM5LCAwLjIpO1xyXG59XHJcblxyXG4udHh0LWRpc2NvdmVyeSB7XHJcbiAgY29sb3I6ICM5MTJiODg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgxNDUsIDQzLCAxMzYsIDAuMik7XHJcbn1cclxuXHJcbi50eHQtYWxwaGEge1xyXG4gIGNvbG9yOiAjZDUzODgwO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjEzLCA1NiwgMTI4LCAwLjIpO1xyXG59XHJcblxyXG4udHh0LWJldGEge1xyXG4gIGNvbG9yOiAjQ2E0YzBjO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ0LCAxMTksIDU2LCAwLjIpO1xyXG59XHJcblxyXG4udHh0LWxpdmUge1xyXG4gIGNvbG9yOiAjODU5OTRiO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMTMzLCAxNTMsIDc1LCAwLjIpO1xyXG59XHJcblxyXG4uc2VydmljZS1hcmVhIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JmYzFjMztcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubGluay1saXN0IHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4ubGluay1saXN0IGxpLFxyXG4gIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbn1cclxuXHJcbi5ib3JkZXItZXhwbG9yZSxcclxuLmJvcmRlci1leHBsb3JlIGxpIHtcclxuICBib3JkZXItY29sb3I6ICMyZTM1OGI7XHJcbn1cclxuXHJcbi5ib3JkZXItZGlzY292ZXJ5LFxyXG4uYm9yZGVyLWRpc2NvdmVyeSBsaSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjOTEyYjg4O1xyXG59XHJcblxyXG4uYm9yZGVyLWFscGhhLFxyXG4uYm9yZGVyLWFscGhhIGxpIHtcclxuICBib3JkZXItY29sb3I6ICNkNTM4ODA7XHJcbn1cclxuXHJcbi5ib3JkZXItYmV0YSxcclxuLmJvcmRlci1iZXRhIGxpIHtcclxuICBib3JkZXItY29sb3I6ICNDYTRjMGM7XHJcbn1cclxuXHJcbi5ib3JkZXItYmV0YV9wdWJsaWMsXHJcbi5ib3JkZXItYmV0YV9wdWJsaWMgbGkge1xyXG4gIGJvcmRlci1jb2xvcjogI2YxNmQyYjtcclxufVxyXG5cclxuLmJvcmRlci1saXZlLFxyXG4uYm9yZGVyLWxpdmUgbGkge1xyXG4gIGJvcmRlci1jb2xvcjogIzg1OTk0YjtcclxufVxyXG5cclxuLmJvcmRlci1pbnRlcm5hbCxcclxuLmJvcmRlci1pbnRlcm5hbCBsaSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjMGIwYzBjO1xyXG59XHJcblxyXG4uY2lyY2xlLmV4cGxvcmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyZTM1OGI7XHJcbn1cclxuXHJcbi5jaXJjbGUuZGlzY292ZXJ5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTEyYjg4O1xyXG59XHJcblxyXG4uY2lyY2xlLmFscGhhIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUzODgwO1xyXG59XHJcblxyXG4uY2lyY2xlLmJldGEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDc3Mzg7XHJcbn1cclxuXHJcbi5jaXJjbGUuYmV0YV9wdWJsaWMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDc3Mzg7XHJcbn1cclxuXHJcbi5jaXJjbGUubGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTk0YjtcclxufVxyXG5cclxuLnBoYXNlX21vZGlmaWVyIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMjRweDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5waGFzZS1jaXJjbGUge1xyXG4gIHdpZHRoOiA0MCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY2lyY2xlLWxhYmVsIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG59XHJcblxyXG4uY2lyY2xlIHtcclxuICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMDtcclxuICBwYWRkaW5nLXRvcDogMTAwJTtcclxuICBib3JkZXItcmFkaXVzOiA1MCUgNTAlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG4uZ292dWstaGVhZGVyX19sb2dvIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDQwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmdvdnVrLWhlYWRlcl9fY29udGVudCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiA2MCU7XHJcbiAgcGFkZGluZy10b3A6IDVweDtcclxuXHJcbiAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmpzLWVuYWJsZWQgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xyXG4gIHRvcDogNTBweDtcclxufVxyXG5cclxuLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuICBsaW5lLWhlaWdodDogMThweDtcclxuICB0b3A6IDBweDtcclxuICBwYWRkaW5nLXRvcDogMHB4O1xyXG5cclxuICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LXJpZ2h0IHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLy8gLmNhcmQge1xyXG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgIGZsb2F0OiBsZWZ0O1xyXG4vLyAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbi8vIH1cclxuXHJcbi5jYXJkX19ib2R5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMGUyO1xyXG4gIHBhZGRpbmc6IDFlbTtcclxuICBjb2xvcjogIzAwNWVhNTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gIHNwYW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG5hLmNhcmRfX2JvZHkge1xyXG4gIGNvbG9yOiAjMzMzMzMzO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcclxuICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNhcmRfX2Zvb3RlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYWFhYTtcclxuICBwYWRkaW5nOiAxZW07XHJcbn1cclxuXHJcbi50YWctaW5jb21wbGV0ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc1NzU3NVxyXG59XHJcblxyXG4uZ2N1ay1pbnRlcnJ1cHRpb24tYmFja2dyb3VuZCB7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgcGFkZGluZzogNDBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWVhNTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG59XHJcblxyXG4uZ2N1ay1mb250LXdoaXRlIHtcclxuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2N1ay1mb250LWxpZ2h0LWdyZXkge1xyXG4gIGNvbG9yOiAjZDhkY2RlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nY3VrLWJ1dHRvbi13aGl0ZSB7XHJcbiAgY29sb3I6ICMwMDVlYTUgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG5cclxuLmJpZy1udW1iZXItZGFyayxcclxuLmJpZy1udW1iZXItc21hbGxlcixcclxuLmJpZy1udW1iZXItc21hbGxlc3QsXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzLFxyXG4uYmlnLW51bWJlciB7XHJcbiAgZGlzcGxheTogYmxvY2tcclxufVxyXG5cclxuLmJpZy1udW1iZXItbnVtYmVyIHtcclxuICBmb250LWZhbWlseTogXCJudGF0YWJ1bGFybnVtYmVyc1wiLCBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMzJweDtcclxuICBsaW5lLWhlaWdodDogMS4wOTM3NTtcclxuICBkaXNwbGF5OiBibG9ja1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcclxuICAuYmlnLW51bWJlci1udW1iZXIge1xyXG4gICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMDQxNjdcclxuICB9XHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLWxhYmVsIHtcclxuICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xyXG4gIC5iaWctbnVtYmVyLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjMxNTc5XHJcbiAgfVxyXG59XHJcblxyXG4uYmlnLW51bWJlci1kYXJrIHtcclxuICBwYWRkaW5nOiAxNXB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYzBjO1xyXG4gIGNvbG9yOiAjZmZmXHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLWRhcmsgLmJpZy1udW1iZXItbnVtYmVyIHtcclxuICBmb250LWZhbWlseTogXCJudGF0YWJ1bGFybnVtYmVyc1wiLCBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxuICBsaW5lLWhlaWdodDogMS4wNDE2N1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcclxuICAuYmlnLW51bWJlci1kYXJrIC5iaWctbnVtYmVyLW51bWJlciB7XHJcbiAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xMTExMVxyXG4gIH1cclxufVxyXG5cclxuLmJpZy1udW1iZXItc21hbGxlciAuYmlnLW51bWJlci1udW1iZXIge1xyXG4gIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCIsIFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjA0MTY3XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xyXG4gIC5iaWctbnVtYmVyLXNtYWxsZXIgLmJpZy1udW1iZXItbnVtYmVyIHtcclxuICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjExMTExXHJcbiAgfVxyXG59XHJcblxyXG4uYmlnLW51bWJlci1zbWFsbGVzdCAuYmlnLW51bWJlci1udW1iZXIge1xyXG4gIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCIsIFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjJcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XHJcbiAgLmJpZy1udW1iZXItc21hbGxlc3QgLmJpZy1udW1iZXItbnVtYmVyIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI1XHJcbiAgfVxyXG59XHJcblxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHhcclxufVxyXG5cclxuLmJpZy1udW1iZXItd2l0aC1zdGF0dXMgLmJpZy1udW1iZXIsXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLXNtYWxsZXIge1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICMwYjBjMGM7XHJcbiAgY29sb3I6ICNmZmZcclxufVxyXG5cclxuLmJpZy1udW1iZXItd2l0aC1zdGF0dXMgLmJpZy1udW1iZXItbGFiZWwge1xyXG4gIHBhZGRpbmctYm90dG9tOiAwXHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLWxhYmVsOmxpbmssXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLWxhYmVsOnZpc2l0ZWQge1xyXG4gIGNvbG9yOiAjMDA1ZWE1XHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLWxpbmsge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiAjMDA1ZWE1O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDVlYTU7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4XHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLWxpbms6aG92ZXIge1xyXG4gIGNvbG9yOiAjZDVlOGYzXHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLWxpbms6aG92ZXIgLmJpZy1udW1iZXIge1xyXG4gIGNvbG9yOiAjZDVlOGYzXHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLWxpbms6YWN0aXZlLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1saW5rOmZvY3VzIHtcclxuICBvdXRsaW5lOiAzcHggc29saWQgI2ZmYmY0N1xyXG59XHJcblxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1saW5rIC5iaWctbnVtYmVyLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1saW5rIC5iaWctbnVtYmVyLXNtYWxsZXIge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50XHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLWxpbmsgLmJpZy1udW1iZXItbGFiZWwge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lXHJcbn1cclxuXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLXN0YXR1cy1mYWlsaW5nLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMge1xyXG4gIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsaW5lLWhlaWdodDogMS4yNTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiAjMDA2NDM1O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDE1cHhcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XHJcblxyXG4gIC5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLXN0YXR1cy1mYWlsaW5nLFxyXG4gIC5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLXN0YXR1cyB7XHJcbiAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zMTU3OVxyXG4gIH1cclxufVxyXG5cclxuLmJpZy1udW1iZXItd2l0aC1zdGF0dXMgLmJpZy1udW1iZXItc3RhdHVzLWZhaWxpbmcgYTpsaW5rLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMtZmFpbGluZyBhOnZpc2l0ZWQsXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLXN0YXR1cy1mYWlsaW5nIGE6YWN0aXZlLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMtZmFpbGluZyBhOmhvdmVyLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMgYTpsaW5rLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMgYTp2aXNpdGVkLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMgYTphY3RpdmUsXHJcbi5iaWctbnVtYmVyLXdpdGgtc3RhdHVzIC5iaWctbnVtYmVyLXN0YXR1cyBhOmhvdmVyIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZVxyXG59XHJcblxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMtZmFpbGluZyBhOmFjdGl2ZSxcclxuLmJpZy1udW1iZXItd2l0aC1zdGF0dXMgLmJpZy1udW1iZXItc3RhdHVzLWZhaWxpbmcgYTpmb2N1cyxcclxuLmJpZy1udW1iZXItd2l0aC1zdGF0dXMgLmJpZy1udW1iZXItc3RhdHVzIGE6YWN0aXZlLFxyXG4uYmlnLW51bWJlci13aXRoLXN0YXR1cyAuYmlnLW51bWJlci1zdGF0dXMgYTpmb2N1cyB7XHJcbiAgY29sb3I6ICMwYjBjMGM7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwYjBjMGNcclxufVxyXG5cclxuLmJpZy1udW1iZXItd2l0aC1zdGF0dXMgLmJpZy1udW1iZXItc3RhdHVzLWZhaWxpbmcge1xyXG4gIGJhY2tncm91bmQ6ICNiMTBlMWVcclxufVxyXG5cclxuLmJpZy1udW1iZXItbWV0YS13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAxNXB4IDAgMzBweCAwO1xyXG4gIGJhY2tncm91bmQ6ICMwMDVlYTVcclxufVxyXG5cclxuLmJpZy1udW1iZXItbWV0YS13cmFwcGVyIC5iaWctbnVtYmVyLW1ldGEge1xyXG4gIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcclxuICAuYmlnLW51bWJlci1tZXRhLXdyYXBwZXIgLmJpZy1udW1iZXItbWV0YSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDdweDtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodFxyXG4gIH1cclxufVxyXG5cclxuLmFwcC10YXNrLWxpc3RfX3Rhc2staW5jb21wbGV0ZSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgYmFja2dyb3VuZDogIzc1NzU3NTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5jYXJkIHtcclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG4gIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2MDBweCkgYW5kIChtYXgtd2lkdGg6OTAwcHgpIHtcclxuICAuY2FyZCB7XHJcbiAgICBmbGV4LWJhc2lzOiA0NS45OSU7IC8vIEV2ZXJ5IGNhcmQgaW4gdGhlIGZpcnN0IHJvdyBuZWVkcyBob3Jpem9udGFsIG1hcmdpblxyXG5cclxuICAgICY6bnRoLWNoaWxkKDJuLTEpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBFdmVyeSBjYXJkIGluIHRoZSBzZWNvbmQgcm93IG5lZWRzIGhvcml6b250YWwgbWFyZ2luXHJcbiAgICAmOm50aC1jaGlsZCgybi0yKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAzJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAwcHgpIHtcclxuICAuY2FyZCB7XHJcbiAgICBmbGV4LWJhc2lzOiAzMSU7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoM24tMSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMyU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMyU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5odG1sW2RhdGEtdXNlcmFnZW50Kj0nTVNJRSAxMC4wJ10gLmZsZXgtY29udGFpbmVyIHtcclxuICAuY2FyZCB7XHJcbiAgICBmbGV4LWJhc2lzOiAzMSU7XHJcbiAgICBtYXJnaW46IDMlO1xyXG4gIH1cclxufVxyXG5cclxuLmNhcmQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRwYW5lbC1jb2xvdXI7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIG1pbi1oZWlnaHQ6IDI3MHB4O1xyXG4gIC8vIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG59XHJcblxyXG4uY2FyZCAuaW5hY3RpdmUge1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xyXG59XHJcblxyXG4uY2FyZCAuY2FyZC1oZWFkaW5nIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4uY2FyZCAuY2FyZC1ib2R5IHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhbmVsLWNvbG91cjtcclxuICBwYWRkaW5nOiAxMnB4O1xyXG4gIGJhY2tncm91bmQ6ICRncmV5LTM7XHJcbiAgbWluLWhlaWdodDogMTIwcHg7XHJcbiAgLy8gbWF4LWhlaWdodDogMTUwcHg7XHJcbn1cclxuXHJcbi5jYXJkIC5jYXJkLWJvZHk6bGFzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmNhcmQgLmNhcmQtYm9keSAuZGV0YWlsLWxhcmdlIHtcclxuICBjb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG91cjtcclxuICBmb250LXNpemU6IDMycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5jYXJkIC5jYXJkLWJvZHkgLmRldGFpbCB7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5jYXJkLWJvZHkuYWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS00O1xyXG4gIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmNhcmQtYWN0aW9uIHtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIHBhZGRpbmc6IDEycHg7XHJcblxyXG4gIHVsIHtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhcmQtYm9keS5hY3RpdmUuaGlnaGxpZ2h0ZWQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG91cjtcclxuICBjb2xvcjogJHBhZ2UtY29sb3VyO1xyXG4gIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcclxuICB0cmFuc2l0aW9uLWRlbGF5OiAuMjVzO1xyXG5cclxuICAuY2FyZC1oZWFkaW5nLFxyXG4gIHAsXHJcbiAgc3BhbiB7XHJcbiAgICBjb2xvcjogJHBhZ2UtY29sb3VyO1xyXG4gICAgdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjI1cztcclxuICB9XHJcblxyXG4gIC5jYXJkLWhlYWRpbmcgYSB7XHJcbiAgICBjb2xvcjogJHBhZ2UtY29sb3VyO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjI1cztcclxuICB9XHJcblxyXG4gIC5kZXRhaWwtbGFyZ2Uge1xyXG4gICAgY29sb3I6ICRwYWdlLWNvbG91cjtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IC4yNXM7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuLmNhcmQtYm9keS5hY3RpdmUge1xyXG4gICY6aG92ZXIge1xyXG4gICAgdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjI1cztcclxuXHJcbiAgICAuY2FyZC1oZWFkaW5nLFxyXG4gICAgcCxcclxuICAgIHNwYW4ge1xyXG4gICAgICB0cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4yNXM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmQtaGVhZGluZyBhIHtcclxuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjI1cztcclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlsLWxhcmdlIHtcclxuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjI1cztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxubWFpbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5nb3Z1ay1hc2lkZS1tZW51IHtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS0xO1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbn1cclxuXHJcbi5nb3Z1ay13aWR0aC1jYXNlIHtcclxuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBtYXJnaW46IDAgMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2Mtc3ViLWhlYWRlciB7XHJcbiAgcGFkZGluZzogMTFweCAwIDlweCAwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmZjMWMzO1xyXG4gIG1hcmdpbjogLTMwcHggMCAzMHB4IDAgIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5nYy1zdWItaGVhZGVyLWJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsaW5lLWhlaWdodDogMS4yNTtcclxuICBtYXJnaW46IDAgMCAwIDA7XHJcbn1cclxuXHJcbi5nYy1zdWItaGVhZGVyLWJvZHkge1xyXG4gIGZvbnQtc2l6ZTogMTlweDtcclxuICBsaW5lLWhlaWdodDogMS4zMTU3O1xyXG59XHJcblxyXG4uZ2Mtc3ViLWhlYWRlci1yaWdodCB7XHJcbiAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMHB4O1xyXG4gIHJpZ2h0OiAwcHg7XHJcbiAgcGFkZGluZzogMTNweCAwIDlweCAxNXB4O1xyXG59XHJcblxyXG4uZ2Mtc3ViLWhlYWRlci1yaWdodCB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG59XHJcblxyXG5cclxuXHJcbi5kYXNoYm9hcmQtY2FyZCB7XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDJlbTtcclxuICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjAwcHgpIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7XHJcbiAgLmRhc2hib2FyZC1jYXJkIHtcclxuICAgIGZsZXgtYmFzaXM6IDQ1Ljk5JTsgLy8gRXZlcnkgY2FyZCBpbiB0aGUgZmlyc3Qgcm93IG5lZWRzIGhvcml6b250YWwgbWFyZ2luXHJcblxyXG4gICAgJjpudGgtY2hpbGQoMm4tMSkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEV2ZXJ5IGNhcmQgaW4gdGhlIHNlY29uZCByb3cgbmVlZHMgaG9yaXpvbnRhbCBtYXJnaW5cclxuICAgICY6bnRoLWNoaWxkKDJuLTIpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDMlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5MDBweCkge1xyXG4gIC5kYXNoYm9hcmQtY2FyZCB7XHJcbiAgICBmbGV4LWJhc2lzOiAzMSU7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoM24tMSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMyU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMyU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5odG1sW2RhdGEtdXNlcmFnZW50Kj0nTVNJRSAxMC4wJ10gLmZsZXgtY29udGFpbmVyIHtcclxuICAuZGFzaGJvYXJkLWNhcmQge1xyXG4gICAgZmxleC1iYXNpczogMzElO1xyXG4gICAgbWFyZ2luOiAzJTtcclxuICB9XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtY2FyZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHBhbmVsLWNvbG91cjtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtY2FyZCAuaW5hY3RpdmUge1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xyXG59XHJcblxyXG4uZGFzaGJvYXJkLWNhcmQgLmRhc2hib2FyZC1jYXJkLWhlYWRpbmcge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtY2FyZCAuZGFzaGJvYXJkLWNhcmQtYm9keSB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICRwYW5lbC1jb2xvdXI7XHJcbiAgcGFkZGluZzogMTBweCAxMHB4IDFweCAxMHB4O1xyXG5cclxufVxyXG5cclxuLmRhc2hib2FyZC1jYXJkIC5kYXNoYm9hcmQtY2FyZC1ib2R5Omxhc3QtY2hpbGQge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtY2FyZCAuZGFzaGJvYXJkLWNhcmQtYm9keSAuZGV0YWlsLWxhcmdlIHtcclxuICBjb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG91cjtcclxuICBmb250LXNpemU6IDMycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtY2FyZCAuZGFzaGJvYXJkLWNhcmQtYm9keSAuZGV0YWlsIHtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLmRhc2hib2FyZC1jYXJkLWJvZHkuYWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS00O1xyXG4gIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmRhc2hib2FyZC1jYXJkLWFjdGlvbiB7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBwYWRkaW5nOiAxMnB4O1xyXG5cclxuICB1bCB7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMCAxZW07XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtY2FyZC1ib2R5LmFjdGl2ZS5oaWdobGlnaHRlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstY29sb3VyO1xyXG4gIGNvbG9yOiAkcGFnZS1jb2xvdXI7XHJcbiAgdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xyXG4gIHRyYW5zaXRpb24tZGVsYXk6IC4yNXM7XHJcblxyXG4gIC5kYXNoYm9hcmQtY2FyZC1oZWFkaW5nLFxyXG4gIHAsXHJcbiAgc3BhbiB7XHJcbiAgICBjb2xvcjogJHBhZ2UtY29sb3VyO1xyXG4gICAgdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjI1cztcclxuICB9XHJcblxyXG4gIC5kYXNoYm9hcmQtY2FyZC1oZWFkaW5nIGEge1xyXG4gICAgY29sb3I6ICRwYWdlLWNvbG91cjtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IC4yNXM7XHJcbiAgfVxyXG5cclxuICAuZGV0YWlsLWxhcmdlIHtcclxuICAgIGNvbG9yOiAkcGFnZS1jb2xvdXI7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMjVzO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5kYXNoYm9hcmQtY2FyZC1ib2R5LmFjdGl2ZSB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1jb2xvdXI7XHJcbiAgICBjb2xvcjogJHBhZ2UtY29sb3VyO1xyXG4gICAgdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjI1cztcclxuXHJcbiAgICAuZ292dWstaGVhZGluZy14bCxcclxuICAgIHAsXHJcbiAgICBzcGFuIHtcclxuICAgICAgY29sb3I6ICRwYWdlLWNvbG91cjtcclxuICAgICAgdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMjVzO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXNoYm9hcmQtY2FyZC1oZWFkaW5nIGEge1xyXG4gICAgICBjb2xvcjogJHBhZ2UtY29sb3VyO1xyXG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMjVzO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXRhaWwtbGFyZ2Uge1xyXG4gICAgICBjb2xvcjogJHBhZ2UtY29sb3VyO1xyXG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMjVzO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmdjLWFsZXJ0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5nYy1hbGVydC1pbXBvcnRhbnQge1xyXG4gIGJvcmRlcjogNXB4IHNvbGlkICRnb3Z1ay1ibHVlXHJcbn1cclxuXHJcbi5hcHAtcGFuZWwge1xyXG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDksICdib3R0b20nKTtcclxuICBib3JkZXI6IDVweCBzb2xpZCBnb3Z1ay1jb2xvdXIoJ2JsYWNrJyk7XHJcbiAgcGFkZGluZzogMmVtO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5hcHAtcGFuZWwtLXN1Y2Nlc3Mge1xyXG4gIGJvcmRlci1jb2xvcjogZ292dWstY29sb3VyKCdsaWdodC1ncmVlbicpO1xyXG59XHJcblxyXG5cclxuLmFwcC1wYW5lbC0tc3VjY2VzcyB7XHJcbiAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoJ2xpZ2h0LWdyZWVuJyk7XHJcbn1cclxuXHJcbi5nYy1hbGVydC1lcnJvciB7XHJcbiAgYm9yZGVyOiA1cHggc29saWQgJG1lbGxvdy1yZWQ7XHJcbn1cclxuXHJcbi5zdXMtYmx1ZSB7XHJcbiAgY29sb3I6IHJnYigwLCAxMTIsIDE5MilcclxufVxyXG5cclxuLnN1cy1ncmVlbiB7XHJcbiAgY29sb3I6IHJnYigwLCAxNzYsIDgwKVxyXG59XHJcblxyXG4uc3VzLW9yYW5nZSB7XHJcbiAgY29sb3I6IHJnYigyNTUsIDE5MiwgMClcclxufVxyXG5cclxuLnN1cy1yZWQge1xyXG4gIGNvbG9yOiByZ2IoMjU1LCAwLCAwKVxyXG59XHJcblxyXG4uc3VzLXllbGxvdyB7XHJcbiAgY29sb3I6IHJnYigyNTUsIDI1NSwgMClcclxufVxyXG5cclxuLmdjLXBhbmVsIHtcclxuICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xyXG59XHJcblxyXG4uYWxpZ24tcmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLmF0dGFjaG1lbnQtdGh1bWI+YT5pbWcge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiA5OXB4O1xyXG4gIGhlaWdodDogMTQwcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBvdXRsaW5lOiA1cHggc29saWQgcmdiYSgxMSwgMTIsIDEyLCAwLjEpO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMnB4IHJnYmEoMTEsIDEyLCAxMiwgMC40KTtcclxuICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDJweCByZ2JhKDExLCAxMiwgMTIsIDAuNCk7XHJcbiAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgxMSwgMTIsIDEyLCAwLjQpO1xyXG59XHJcblxyXG4uZ2MtYnV0dG9uLXNlY29uZGFyeSB7XHJcbiAgYmFja2dyb3VuZDogJGdyZXktMjtcclxuICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nYy1idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAkZ3JleS0xO1xyXG4gIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdvdnVrLXBhbmVsIHtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyOiA1cHggc29saWQgIzAwOEEzQztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5cclxuLmNvcHktdG8tY2xpcGJvYXJkIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtc2l6ZTogMC44N3JlbTtcclxuICBsaW5lLWhlaWdodDogMS4yNTtcclxuICBtaW4td2lkdGg6IDgwcHg7XHJcbiAgcGFkZGluZzogNHB4IDEwcHggMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjMDA4MjNiO1xyXG4gIGNvbG9yOiAjMDA4MjNiO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCA0cHggI2Y4ZjhmODtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCA0cHggI2Y4ZjhmODtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jb3B5LXRvLWNsaXBib2FyZDpmb2N1cyB7XHJcbiAgb3V0bGluZTogM3B4IHNvbGlkICNmZmJmNDc7XHJcbiAgb3V0bGluZS1vZmZzZXQ6IDBweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PeHlnZW46NDAwLDcwMCcpO1xyXG5cclxuLy8gKntmb250LWZhbWlseTogJ094eWdlbicsIHNhbnMtc2VyaWYgIWltcG9ydGFudDt9IiwiQGltcG9ydCBcInNldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcInRvb2xzL2FsbFwiO1xuQGltcG9ydCBcImhlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb3JlL2FsbFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsbFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FsbFwiO1xuQGltcG9ydCBcIm92ZXJyaWRlcy9hbGxcIjtcbiIsIi8vIFRoZSBvcmRlciB3ZSBpbXBvcnQgc2V0dGluZ3MgaW4gaXMgaW1wb3J0YW50LCBhcyBzb21lIHNldHRpbmdzIGZpbGVzIHJlbHkgb25cbi8vIG90aGVyc1xuXG5AaW1wb3J0IFwiYXNzZXRzXCI7XG5cbkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuQGltcG9ydCBcImllOFwiO1xuXG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuXG5AaW1wb3J0IFwiY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1hcHBsaWVkXCI7XG5cbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwibWVhc3VyZW1lbnRzXCI7XG5cbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvYXNzZXRzXG4vLy8vXG5cbi8vLyBQYXRoIHRvIHRoZSBhc3NldHMgZGlyZWN0b3J5LCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbWFnZXMgYW5kIGZvbnRzIHN1YmRpcmVjdG9yaWVzIGxpdmUuIFlvdVxuLy8vIHdpbGwgbmVlZCB0byBtYWtlIHRoaXMgZGlyZWN0b3J5IGF2YWlsYWJsZSB2aWEgeW91ciBhcHBsaWNhdGlvbiDigJMgc2VlIHRoZVxuLy8vIFJFQURNRSBmb3IgZGV0YWlscy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1hc3NldHMtcGF0aDogXCIvYXNzZXRzL1wiICFkZWZhdWx0O1xuXG4vLy8gUGF0aCB0byB0aGUgaW1hZ2VzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBmb250cyBmb2xkZXIsIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udHMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1mb250cy9cIiAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBpbWFnZSBVUkwgZnVuY3Rpb25cbi8vL1xuLy8vIElmIHRoZSBidWlsdC1pbiBpbWFnZSBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiAnaW1hZ2UtdXJsJztcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b20gYXNzZXQgaGFuZGxpbmdcbi8vL1xuLy8vICAgQGZ1bmN0aW9uIG15LXVybC1oYW5kbGVyKCRmaWxlbmFtZSkge1xuLy8vICAgICAvLyBTb21lIGN1c3RvbSBVUkwgaGFuZGxpbmdcbi8vLyAgICAgQHJldHVybiB1cmwoJ2V4YW1wbGUuanBnJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdteS11cmwtaGFuZGxlcic7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBmb250IFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGZvbnQgVVJMIGhlbHBlciBkb2VzIG5vdCBtZWV0IHlvdXIgbmVlZHMsIHlvdSBjYW4gc3BlY2lmeVxuLy8vIHRoZSBuYW1lIG9mIGEgY3VzdG9tIGhhbmRsZXIg4oCTIGVpdGhlciBidWlsdCBpbiBvciBieSB3cml0aW5nIHlvdXIgb3duXG4vLy8gZnVuY3Rpb24uXG4vLy9cbi8vLyBJZiB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gaGFuZGxlciwgZW5zdXJlIHRoYXQgaXQgcmV0dXJucyBhIHN0cmluZyB3cmFwcGVkXG4vLy8gd2l0aCBgdXJsKClgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBSYWlscyBhc3NldCBoYW5kbGluZ1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnZm9udC11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS53b2ZmJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQ29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSByZXBvcyAoZ292dWtfZWxlbWVudHMsIGdvdnVrX2Zyb250ZW5kX3Rvb2traXQgYW5kXG4vLy8gZ292dWtfdGVtcGxhdGUpIHNldHRpbmdzXG4vLy9cbi8vLyBXZSBkZWZhdWx0IHRoZXNlIHNldHRpbmdzIHRvIGB0cnVlYCBzbyB0aGF0IGlmIHRoZXkgYXJlIG1pc3NlZCB3ZSBvcHQgZm9yIGFcbi8vLyBtaWxkIHBlcmZvcm1hbmNlIGhpdCBvdmVyIGEgcG90ZW50aWFsIGJyb2tlbiBleHBlcmllbmNlIGZvciB0aGUgZW5kLXVzZXIuXG4vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29tcGF0aWJpbGl0eVxuLy8vL1xuXG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXRcbi8vL1xuLy8vIFRydWUgaWYgdXNlZCBpbiBhIHByb2plY3QgdGhhdCBhbHNvIGluY2x1ZGVzIGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtmcm9udGVuZHRvb2xraXQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ29tcGF0aWJpbGl0eSBNb2RlOiBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZVxuLy8vXG4vLy8gVHJ1ZSBpZiB1c2VkIGluIGEgcHJvamVjdCB0aGF0IGFsc28gaW5jbHVkZXMgYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzXG4vLy9cbi8vLyBUcnVlIGlmIHVzZWQgaW4gYSBwcm9qZWN0IHRoYXQgYWxzbyBpbmNsdWRlcyBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgUHJvZHVjdCBNYXBcbi8vL1xuLy8vIE1hcHMgcHJvZHVjdCBuYW1lcyB0byB0aGVpciBzZXR0aW5ncyB0aGF0IHdlIGNhbiB1c2UgdG8gbG9va3VwIHN0YXRlcyBmcm9tXG4vLy8gd2l0aGluIHRoZSBgQGdvdnVrLWNvbXBhdGliaWxpdHlgIG1peGluLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstY29tcGF0aWJpbGl0eTogKFxuICBnb3Z1a19mcm9udGVuZF90b29sa2l0OiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCxcbiAgZ292dWtfdGVtcGxhdGU6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUsXG4gIGdvdnVrX2VsZW1lbnRzOiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzLFxuKTtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvZ2xvYmFsLXN0eWxlc1xuLy8vL1xuXG4vLy8gSW5jbHVkZSAnZ2xvYmFsJyBzdHlsZXNcbi8vL1xuLy8vIFdoZXRoZXIgdG8gc3R5bGUgcGFyYWdyYXBocyAoYDxwPmApIGFuZCBsaW5rcyAoYDxhPmApIHdpdGhvdXQgZXhwbGljaXRseVxuLy8vIGhhdmluZyB0byBhcHBseSB0aGUgYGdvdnVrLWJvZHlgIGFuZCBgZ292dWstbGlua2AgY2xhc3Nlcy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2llOFxuLy8vL1xuXG4vLy8gV2hldGhlciB0aGUgc3R5bGVzaGVldCBiZWluZyBidWlsdCBpcyB0YXJnZXRpbmcgSW50ZXJuZXQgRXhwbG9yZXIgOC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaXMtaWU4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHRvIHVzZSBhcyB0aGUgdGFyZ2V0IHdoZW4gcmFzdGVyaXppbmcgbWVkaWFcbi8vLyBxdWVyaWVzXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaWU4LWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL21lZGlhLXF1ZXJpZXNcbi8vLy9cblxuLy8vIEJyZWFrcG9pbnQgZGVmaW5pdGlvbnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1icmVha3BvaW50czogKFxuICBtb2JpbGU6ICAzMjBweCxcbiAgdGFibGV0OiAgNjQxcHgsXG4gIGRlc2t0b3A6IDc2OXB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBhY3RpdmUgYnJlYWtwb2ludCBpbiB0b3AtcmlnaHQgY29ybmVyLlxuLy8vXG4vLy8gT25seSB1c2UgdGhpcyBkdXJpbmcgbG9jYWwgZGV2ZWxvcG1lbnQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXNob3ctYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbi8vLyBDb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCAkY29sb3VyIC0gUmVwcmVzZW50YXRpb24gZm9yIHRoZSBnaXZlbiAkY29sb3VyLCB3aGVyZSAkY29sb3VyIGlzIHRoZVxuLy8vICAgZnJpZW5kbHkgbmFtZSBmb3IgdGhlIGNvbG91ciAoZS5nLiBcInJlZFwiOiAjZmYwMDAwKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzOiAoXG4gIFwicHVycGxlXCI6ICMyZTM1OGIsXG4gIFwibGlnaHQtcHVycGxlXCI6ICM2ZjcyYWYsXG4gIFwiYnJpZ2h0LXB1cnBsZVwiOiAjOTEyYjg4LFxuICBcInBpbmtcIjogI2Q1Mzg4MCxcbiAgXCJsaWdodC1waW5rXCI6ICNmNDk5YmUsXG4gIFwicmVkXCI6ICNiMTBlMWUsXG4gIFwiYnJpZ2h0LXJlZFwiOiAjZGYzMDM0LFxuICBcIm9yYW5nZVwiOiAjZjQ3NzM4LFxuICBcImJyb3duXCI6ICNiNTg4NDAsXG4gIFwieWVsbG93XCI6ICNmZmJmNDcsXG4gIFwibGlnaHQtZ3JlZW5cIjogIzg1OTk0YixcbiAgXCJncmVlblwiOiAjMDA2NDM1LFxuICBcInR1cnF1b2lzZVwiOiAjMjhhMTk3LFxuICBcImxpZ2h0LWJsdWVcIjogIzJiOGNjNCxcbiAgXCJibHVlXCI6ICMwMDVlYTUsXG5cbiAgXCJibGFja1wiOiAjMGIwYzBjLFxuICBcImdyZXktMVwiOiAjNmY3NzdiLFxuICBcImdyZXktMlwiOiAjYmZjMWMzLFxuICBcImdyZXktM1wiOiAjZGVlMGUyLFxuICBcImdyZXktNFwiOiAjZjhmOGY4LFxuICBcIndoaXRlXCI6ICNmZmZmZmZcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIE9yZ2FuaXNhdGlvbiBjb2xvdXJzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRvcmdhbmlzYXRpb24uY29sb3VyIC0gQ29sb3VyIGZvciB0aGUgZ2l2ZW4gYCRvcmdhbmlzYXRpb25gXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXItd2Vic2FmZSAtIFdlYnNhZmUgY29sb3VyIGZvciB0aGUgZ2l2ZW5cbi8vLyAgIGAkb3JnYW5pc2F0aW9uYC4gV2UgdXNlIGB3ZWJzYWZlYCB0byBtZWFuIHN0cm9uZyBlbm91Z2ggY29udHJhc3QgYWdhaW5zdFxuLy8vICAgd2hpdGUgdG8gYmUgdXNlZCBmb3IgY29weSBhbmQgbWVldCB0aGUgQUFBIChsYXJnZSB0ZXh0KSBhbmQgQUEgKHNtYWxsZXJcbi8vLyAgIGNvcHkpIFdDQUcgZ3VpZGVsaW5lcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnM6IChcbiAgXCJhdHRvcm5leS1nZW5lcmFscy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzlmMTg4OCxcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwM2E4OFxuICApLFxuICBcImNhYmluZXQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDVhYmIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJjaXZpbC1zZXJ2aWNlXCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1idXNpbmVzcy1pbm5vdmF0aW9uLXNraWxsc1wiOiAoXG4gICAgY29sb3VyOiAjMDAzNDc5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY29tbXVuaXRpZXMtYW5kLWxvY2FsLWdvdmVybm1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwODU3ZSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODM2ZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWN1bHR1cmUtbWVkaWEtc3BvcnRcIjogKFxuICAgIGNvbG91cjogI2Q0MDA3MixcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwMzE1NVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWVkdWNhdGlvblwiOiAoXG4gICAgY29sb3VyOiAjMDAzYTY5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3Y2E5XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZW52aXJvbm1lbnQtZm9vZC1ydXJhbC1hZmZhaXJzXCI6IChcbiAgICBjb2xvdXI6ICMwMGEzM2IsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg5MzhcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLWRldmVsb3BtZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDI4NzgsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDVlOWFcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLXRyYWRlXCI6IChcbiAgICBjb2xvdXI6ICNjZjEwMmQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci10cmFuc3BvcnRcIjogKFxuICAgIGNvbG91cjogIzAwNmM1NixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM5ODM3M1xuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXdvcmstcGVuc2lvbnNcIjogKFxuICAgIGNvbG91cjogIzAwYmViNyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODA3YlxuICApLFxuICBcImRlcGFydG1lbnQtb2YtZW5lcmd5LWNsaW1hdGUtY2hhbmdlXCI6IChcbiAgICBjb2xvdXI6ICMwMDlkZGIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMyYjdjYWNcbiAgKSxcbiAgXCJkZXBhcnRtZW50LW9mLWhlYWx0aFwiOiAoXG4gICAgY29sb3VyOiAjMDBhZDkzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzZlXG4gICksXG4gIFwiZm9yZWlnbi1jb21tb253ZWFsdGgtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDNlNzQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDZlOTdcbiAgKSxcbiAgXCJnb3Zlcm5tZW50LWVxdWFsaXRpZXMtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICAjOTMyNWIyXG4gICksXG4gIFwiaG0tZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA3NmMwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiaG0tcmV2ZW51ZS1jdXN0b21zXCI6IChcbiAgICBjb2xvdXI6ICMwMDkzOTAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg2NzBcbiAgKSxcbiAgXCJobS10cmVhc3VyeVwiOiAoXG4gICAgY29sb3VyOiAjYWYyOTJlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjODMyMzIyXG4gICksXG4gIFwiaG9tZS1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzkzMjViMixcbiAgICBjb2xvdXItd2Vic2FmZTogIzk0NDBiMlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWRlZmVuY2VcIjogKFxuICAgIGNvbG91cjogIzRkMjk0MixcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWp1c3RpY2VcIjogKFxuICAgIGNvbG91cjogIzIzMWYyMCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm5vcnRoZXJuLWlyZWxhbmQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzZTU5OGNcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWFkdm9jYXRlLWdlbmVyYWwtZm9yLXNjb3RsYW5kXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtY29tbW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMzE3MDIzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMDA1ZjhmXG4gICksXG4gIFwib2ZmaWNlLW9mLXRoZS1sZWFkZXItb2YtdGhlLWhvdXNlLW9mLWxvcmRzXCI6IChcbiAgICBjb2xvdXI6ICM5YzEzMmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICNjMjM5NWRcbiAgKSxcbiAgXCJzY290bGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWM4YVxuICApLFxuICBcInVrLWV4cG9ydC1maW5hbmNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDU3NDcsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ1ay10cmFkZS1pbnZlc3RtZW50XCI6IChcbiAgICBjb2xvdXI6ICNjODA2NTEsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ3YWxlcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogI2EzMzAzOCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzdhMjQyYVxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZW5lcmljXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEJyYW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyYW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gQ2FudmFzIGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGJ5IHRoZSBmb290ZXIgY29tcG9uZW50IGFuZCB0ZW1wbGF0ZSB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JleS0zXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXIgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBVc2UgJ3RydWUgYmxhY2snIHRvIGF2b2lkIHByaW50ZXJzIHVzaW5nIGNvbG91ciBpbmsgdG8gcHJpbnQgYm9keSB0ZXh0XG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcHJpbnQtdGV4dC1jb2xvdXI6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vLyBTZWNvbmRhcnkgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yICdtdXRlZCcgdGV4dCwgaGVscCB0ZXh0LCBldGMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIikgIWRlZmF1bHQ7XG5cbi8vLyBGb2N1cyBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIG91dGxpbmUgKGFuZCBiYWNrZ3JvdW5kLCB3aGVyZSBhcHByb3ByaWF0ZSkgd2hlbiBpbnRlcmFjdGl2ZVxuLy8vIGVsZW1lbnRzIChsaW5rcywgZm9ybSBjb250cm9scykgaGF2ZSBrZXlib2FyZCBmb2N1cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy1jb2xvdXI6IGdvdnVrLWNvbG91cihcInllbGxvd1wiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzZWQgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIEVuc3VyZSB0aGF0IHRoZSBjb250cmFzdCBiZXR3ZWVuIHRoZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG91ciBwYXNzZXNcbi8vLyBXQ0FHIExldmVsIEFBIGNvbnRyYXN0IHJlcXVpcmVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBFcnJvciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgdG8gaGlnaGxpZ2h0IGVycm9yIG1lc3NhZ2VzIGFuZCBmb3JtIGNvbnRyb2xzIGluIGFuIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZXJyb3ItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJyZWRcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcywga2V5bGluZXMgZXRjLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGZvcm0gaW5wdXRzIGFuZCBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gTGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFZpc2l0ZWQgbGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyICFkZWZhdWx0O1xuXG4vLy8gTGluayBob3ZlciBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2NvbG91clxuLy8vL1xuXG4vLy8gR2V0IGNvbG91clxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb2xvdXIgLSBOYW1lIG9mIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vICAgKGAkZ292dWstY29sb3Vyc2ApXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBuYW1lZCBjb2xvdXJcbi8vLyBAdGhyb3cgaWYgYCRjb2xvdXJgIGlzIG5vdCBhIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1jb2xvdXIoJGNvbG91cikge1xuICAkY29sb3VyOiBxdW90ZSgkY29sb3VyKTtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBjb2xvdXIgYCN7JGNvbG91cn1gXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWNvbG91cnMsICRjb2xvdXIpO1xufVxuXG4vLy8gR2V0IHRoZSBjb2xvdXIgZm9yIGEgZ292ZXJubWVudCBvcmdhbmlzYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3JnYW5pc2F0aW9uIC0gT3JnYW5pc2F0aW9uIG5hbWUsIGxvd2VyY2FzZSwgaHlwaGVuYXRlZFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdlYnNhZmUgW3RydWVdIC0gQnkgZGVmYXVsdCBhICd3ZWJzYWZlJyB2ZXJzaW9uIG9mIHRoZVxuLy8vICAgY29sb3VyIHdpbGwgYmUgcmV0dXJuZWQgd2hpY2ggbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIC4gSWYgeW91IHdhbnQgdG9cbi8vLyAgIHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiB5b3UgY2FuIHNldCB0aGlzIHRvIGBmYWxzZWAgYnV0IHlvdXIgc2hvdWxkXG4vLy8gICBlbnN1cmUgdGhhdCB5b3Ugc3RpbGwgbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIGZvciBhY2Nlc3NpYmlsaXR5IC0gZm9yXG4vLy8gICBleGFtcGxlLCBkb24ndCB1c2UgdGhlIG5vbi13ZWJzYWZlIHZlcnNpb24gZm9yIHRleHQuXG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvdXJ9IFJlcHJlc2VudGF0aW9uIG9mIGNvbG91ciBmb3Igb3JnYW5pc2F0aW9uXG4vLy8gQHRocm93IGlmIGAkb3JnYW5pc2F0aW9uYCBpcyBub3QgYSBrbm93biBvcmdhbmlzYXRpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstb3JnYW5pc2F0aW9uLWNvbG91cigkb3JnYW5pc2F0aW9uLCAkd2Vic2FmZTogdHJ1ZSkge1xuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIG9yZ2FuaXNhdGlvbiBgI3skb3JnYW5pc2F0aW9ufWBcIjtcbiAgfVxuXG4gICRvcmctY29sb3VyOiBtYXAtZ2V0KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pO1xuXG4gIEBpZiAoJHdlYnNhZmUgYW5kIG1hcC1oYXMta2V5KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG9yZy1jb2xvdXIsIGNvbG91ci13ZWJzYWZlKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXIpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3NwYWNpbmdcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlcy4gQWNjZXNzIHVzaW5nIGBnb3Z1ay1zcGFjaW5nKClgXG4vLy8gKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcG9pbnRzOiAoXG4gIDA6IDAsXG4gIDE6IDVweCxcbiAgMjogMTBweCxcbiAgMzogMTVweCxcbiAgNDogMjBweCxcbiAgNTogMjVweCxcbiAgNjogMzBweCxcbiAgNzogNDBweCxcbiAgODogNTBweCxcbiAgOTogNjBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZyBtYXBzXG4vLy9cbi8vLyBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcgdGhhdCBhZGFwdHNcbi8vLyBhY2NvcmRpbmcgdG8gdGhlIGJyZWFrcG9pbnRzIChzZWUgJ2hlbHBlcnMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxuLy8vIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUgdG8gc3RhbmRhcmRpc2UgcmVzcG9uc2l2ZSBzcGFjaW5nLlxuLy8vXG4vLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcbi8vLyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4vLy9cbi8vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxuLy8vIGBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmdgIG1peGlucyAoc2VlIGBoZWxwZXJzL3NwYWNpbmdgKS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlOiAoXG4gIDA6IChcbiAgICBudWxsOiAwLFxuICAgIHRhYmxldDogMFxuICApLFxuICAxOiAoXG4gICAgbnVsbDogNXB4LFxuICAgIHRhYmxldDogNXB4XG4gICksXG4gIDI6IChcbiAgICBudWxsOiAxMHB4LFxuICAgIHRhYmxldDogMTBweFxuICApLFxuICAzOiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDE1cHhcbiAgKSxcbiAgNDogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAyMHB4XG4gICksXG4gIDU6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjVweFxuICApLFxuICA2OiAoXG4gICAgbnVsbDogMjBweCxcbiAgICB0YWJsZXQ6IDMwcHhcbiAgKSxcbiAgNzogKFxuICAgIG51bGw6IDI1cHgsXG4gICAgdGFibGV0OiA0MHB4XG4gICksXG4gIDg6IChcbiAgICBudWxsOiAzMHB4LFxuICAgIHRhYmxldDogNTBweFxuICApLFxuICA5OiAoXG4gICAgbnVsbDogNDBweCxcbiAgICB0YWJsZXQ6IDYwcHhcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVhc3VyZW1lbnRzXG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZ2UgbGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFdpZHRoIG9mIG1haW4gY29udGFpbmVyXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcGFnZS13aWR0aDogOTYwcHggIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBoYWxmIHRoZSBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXItaGFsZjogJGdvdnVrLWd1dHRlciAvIDI7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gU3RhbmRhcmQgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vLyBXaWRlIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC13aWRlOiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9uIG1vYmlsZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1tb2JpbGU6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgTlRBICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yXG4vLy8gR09WLlVLKVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGE6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLy8gTGlzdCBvZiBmb250IGZhbWlsaWVzIHRvIHVzZSBpZiB1c2luZyB0aGUgJ3RhYnVsYXIgbnVtYmVycycgc3Vic2V0IG9mIE5UQVxuLy8vICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yIEdPVi5VSylcbi8vL1xuLy8vIEJlY2F1c2UgbnRhdGFidWxhcm51bWJlcnMgb25seSBpbmNsdWRlcyB0aGUgZGlnaXRzIDAtMTAsIGFsbCBvdGhlciBnbHlwaHNcbi8vLyB3aWxsICdmYWxsLXRocm91Z2gnIHRoZSBzdGFjayB0byBOVEEuXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LW50YS10YWJ1bGFyOiBcIm50YXRhYnVsYXJudW1iZXJzXCIsICRnb3Z1ay1mb250LWZhbWlseS1udGE7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktbnRhICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2Ugd2hlbiBkaXNwbGF5aW5nIHRhYnVsYXIgbnVtYmVyc1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyOiAkZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXIgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgd2VpZ2h0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IHdlaWdodCBmb3IgcmVndWxhciB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBib2xkIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtYm9sZDogNzAwICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBXaGV0aGVyIG9yIG5vdCB0byBkZWZpbmUgZm9udCBzaXplcyBpbiByZW0sIGltcHJvdmluZyBhY2Nlc3NpYmlsaXR5IGJ5XG4vLy8gYWxsb3dpbmcgdXNlcnMgdG8gYWRqdXN0IHRoZSBiYXNlIGZvbnQtc2l6ZS4gVGhpcyBpcyBjdXJyZW50bHkgb2ZmIGJ5XG4vLy8gZGVmYXVsdCwgYnV0IHdpbGwgYmUgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBwcm9qZWN0cyB0aGF0IGRvIG5vdCB1c2Vcbi8vLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuLy8vXG4vLy8gSWYgdGhpcyBpcyBlbmFibGVkLCB5b3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0ICRnb3Z1ay1yb290LWZvbnQtc2l6ZSBpcyBzZXRcbi8vLyBjb3JyZWN0bHkgZm9yIHlvdXIgcHJvamVjdFxuLy8vXG4vLy8gSWYgYW55IG9mIHRoZSBjb21wYXRpYmlsaXR5IHZhcmlhYmxlcyBhcmUgc2V0LCB0aGVuIGRlZmF1bHRcbi8vLyByZXNwb25zaXZlIHR5cG9ncmFwaHkgdG8gb2ZmLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW06IGlmKChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksIGZhbHNlLCB0cnVlKSAhZGVmYXVsdDtcblxuLy8vIFJvb3QgZm9udCBzaXplXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHJlbSBzaXplcyBmb3IgdGhlIHR5cG9ncmFwaHksIGFuZCBzaG91bGQgbWF0Y2ggdGhlXG4vLy8gX2VmZmVjdGl2ZV8gZm9udC1zaXplIG9mIHlvdXIgcm9vdCAob3IgaHRtbCkgZWxlbWVudC5cbi8vL1xuLy8vIElkZWFsbHkgeW91IHNob3VsZCBub3QgYmUgc2V0dGluZyB0aGUgZm9udC1zaXplIG9uIHRoZSBodG1sIG9yIHJvb3QgZWxlbWVudFxuLy8vIGluIG9yZGVyIHRvIGFsbG93IGl0IHRvIHNjYWxlIHdpdGggdXNlci1wcmVmZXJlbmNlLCBpbiB3aGljaCBjYXNlIHRoaXNcbi8vLyBzaG91bGQgYmUgc2V0IHRvIDE2cHguXG4vLy9cbi8vLyBJZiB5b3UgYXJlIGludGVncmF0aW5nIEZyb250ZW5kIGludG8gYW4gZXhpc3RpbmcgcHJvamVjdCB0aGF0IGFsc28gdXNlc1xuLy8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JVxuLy8vICgxMHB4KSBiYXNlIGZvbnQgc2l6ZSB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vIERpc2FibGUgaW5kZW50YXRpb24gbGludGluZyBpbiB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb25cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKGdldC1mdW5jdGlvbigkZ292dWstZm9udC11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstZm9udHMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbmRpdGlvbmFsbHkgaW5jbHVkZSBydWxlcyBvbmx5IGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIGNvbXBpbGluZyBhIHN0eWxlc2hlZXRcbi8vLyAgIHRoYXQgdGFyZ2V0cyBJRTggKGlmIGAkZ292dWstaXMtaWU4YCBpcyB0cnVlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBtaW4td2lkdGg6IDEwMHB4O1xuLy8vICAgICAvLyBTcGVjaWZ5IHdpZHRoIGZvciBJRTggb25seVxuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWlmLWllOCB7XG4gIEBpZiAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQ29uZGl0aW9uYWxseSBleGNsdWRlIHJ1bGVzIGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIG5vdCBjb21waWxpbmcgYVxuLy8vICAgc3R5bGVzaGVldCB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgZmFsc2UpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8vXG4vLy8gICAgIC8vIEVuaGFuY2UgZm9vIG9ubHkgZm9yIG1vZGVybiBicm93c2VycyAobm90IElFOClcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4vLy8gICAgICAgZm9udC1mYW1pbHk6IFwiQ29taWMgU2FucyBNU1wiLCBcIkN1cmx6IE1UXCIgY3Vyc2l2ZSwgc2Fucy1zZXJpZjtcbi8vLyAgICAgICBjb2xvcjogI0ZGNjlCNDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW5vdC1pZTgge1xuICBAaWYgbm90ICRnb3Z1ay1pcy1pZTgge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBTeW50YWN0aWMgc3VnYXIgYXJvdW5kIFNhc3MnIGJ1aWx0LWluIGBpZmAgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdCByZXF1aXJlXG4vLy8geW91IHRvIHBhc3MgYSB2YWx1ZSBmb3IgYCRpZi1mYWxzZWAuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjb25kaXRpb24gLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgdmFsdWUgb2YgYCRpZi10cnVlYFxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRpZi10cnVlIC0gVmFsdWUgdG8gcmV0dXJuIGlmIGAkY29uZGl0aW9uYCBpcyB0cnV0aHlcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVmFsdWUgb2YgYCRpZi10cnVlYCBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5LCBlbHNlIG51bGxcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gaWZmKCRjb25kaXRpb24sICRpZi10cnVlKSB7XG4gIEByZXR1cm4gaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLyBEaXNhYmxlIGluZGVudGF0aW9uIGxpbnRpbmcgaW4gdGhpcyBmaWxlIG9ubHlcbi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uXG5cbi8vLyBJbWFnZSBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGltYWdlLXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pIHRoZW5cbi8vLyBpdCB3aWxsIGJlIGNhbGxlZCwgb3RoZXJ3aXNlIGEgdXJsIHdpbGwgYmUgcmV0dXJuZWQgd2l0aCB0aGUgZmlsZW5hbWVcbi8vLyBhcHBlbmRlZCB0byB0aGUgaW1hZ2UgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSBGaWxlbmFtZSBmb3IgdGhlIGltYWdlIHRvIGxvYWRcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IFVSTCBmb3IgdGhlIGZpbGVuYW1lLCB3cmFwcGVkIGluIGB1cmwoKWBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstaW1hZ2UtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb25cbiAgICBhbmQgZnVuY3Rpb24tZXhpc3RzKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstaW1hZ2VzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbnRleHQtZm9udC1zaXplIC0gRm9udCBzaXplIG9mIGVsZW1lbnRcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiBlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZW0oJHZhbHVlLCAkY29udGV4dC1mb250LXNpemUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cbiAgQGlmICh1bml0bGVzcygkY29udGV4dC1mb250LXNpemUpKSB7XG4gICAgJGNvbnRleHQtZm9udC1zaXplOiAkY29udGV4dC1mb250LXNpemUgKiAxcHg7XG4gIH1cbiAgQHJldHVybiAkdmFsdWUgLyAkY29udGV4dC1mb250LXNpemUgKiAxZW07XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byByZW1cbi8vL1xuLy8vIFRoZSAkZ292dWstcm9vdC1mb250LXNpemUgKGRlZmluZWQgaW4gc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzKVxuLy8vIG11c3QgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGUgZm9udC1zaXplIG9mIHlvdXIgcm9vdCAoaHRtbCkgZWxlbWVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiByZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAvICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAqIDFyZW07XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJjb2xvdXJcIjtcbkBpbXBvcnQgXCJkZXZpY2UtcGl4ZWxzXCI7XG5AaW1wb3J0IFwiZm9jdXNhYmxlXCI7XG5AaW1wb3J0IFwiZm9udC1mYWNlc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcIm1lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJzaGFwZS1hcnJvd1wiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmlzdWFsbHktaGlkZGVuXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENsZWFyIGZsb2F0ZWQgY29udGVudCB3aXRoaW4gYSBjb250YWluZXIgdXNpbmcgYSBwc2V1ZG8gZWxlbWVudFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBNZWRpYSBxdWVyeSBmb3IgcmV0aW5hIGltYWdlcyAoZGV2aWNlLXBpeGVsLXJhdGlvKVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYXRpbyBbMl0gLSBEZXZpY2UgcGl4ZWwgcmF0aW9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCB3aWxsIGJlIG91dHB1dHRlZCB3aXRoaW4gdGhlIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUHJvdmlkaW5nIGEgQDJ4IGltYWdlIGZvciBzY3JlZW5zIHRoYXQgc3VwcG9ydCBpdFxuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNpbmcgYSBjdXN0b20gcmF0aW9cbi8vLyAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLnBuZ1wiKTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtMngucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oMykge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0zeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvKCRyYXRpbzogMikge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgbWluLXJlc29sdXRpb246ICN7KCRyYXRpbyo5Nil9ZHBpKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogI3skcmF0aW99ZHBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBGb2N1c2FibGUgaGVscGVyXG4vLy9cbi8vLyBQcm92aWRlcyBhbiBhZGRpdGlvbmFsIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpc1xuLy8vIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSBlbGVtZW50cyB3aGljaCB0aGVtc2VsdmVzIGhhdmUgc29tZSBiYWNrZ3JvdW5kXG4vLy8gb3IgYm9yZGVyLCBzdWNoIGFzIG1vc3QgZm9ybSBlbGVtZW50cy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgfVxufVxuXG4vLy8gRm9jdXNhYmxlIHdpdGggZmlsbCBoZWxwZXJcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSBhbmQgYmFja2dyb3VuZCBjb2xvdXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSB0ZXh0LWJhc2VkIGVsZW1lbnRzIHN1Y2hcbi8vLyBhcyBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUtZmlsbCB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLyBEaXNhYmxlcyBsaW50aW5nIGZvciB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY3NzLWNvbW1lbnRzLCBuby1kdXBsaWNhdGUtcHJvcGVydGllcywgcHJvcGVydHktc29ydC1vcmRlciwgaW5kZW50YXRpb25cblxuQGltcG9ydCBcIi4uL3Rvb2xzL2V4cG9ydHNcIjtcblxuLy8vIEZvbnQgRmFjZSAtIE5UQVxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgZm9udC1mYWNlIGRlY2xhcmF0aW9uIGZvciBOVEEgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1udGEge1xuICBAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvaGVscGVycy9mb250LWZhY2VcIikge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqL1xuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC0yYzAzN2NmN2UxLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LTJjMDM3Y2Y3ZTEtdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LWYzOGFkNDA0NTYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC00NThmOGVhODFjLXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLWZiMjY3NjQ2MmEtdjEuZW90XCIpO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1mYjI2NzY0NjJhLXYxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWEyNDUyY2I2NmYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWYzOGM3OTJhYzItdjEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhdGFidWxhcm51bWJlcnNcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNDk4ZWE4ZmZlMi12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC10YWJ1bGFyLTQ5OGVhOGZmZTItdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItODUxYjEwY2NkZC12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNjJjYzZmMGEyOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC10YWJ1bGFyLWI4OTIzOGQ4NDAtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItNzg0YzIxYWZiOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIE1hcCBvZiBncmlkIGNvbHVtbiB3aWR0aHNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2dvdnVrLWdyaWQtd2lkdGhzOiAoXG4gIG9uZS1xdWFydGVyOiAyNSUsXG4gIG9uZS10aGlyZDogMzMuMzMzMyUsXG4gIG9uZS1oYWxmOiA1MCUsXG4gIHR3by10aGlyZHM6IDY2LjY2NjYlLFxuICB0aHJlZS1xdWFydGVyczogNzUlLFxuICBmdWxsOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gR3JpZCB3aWR0aCBwZXJjZW50YWdlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgZ3JpZCB3aWR0aCAoZS5nLiB0d28tdGhpcmRzKVxuLy8vIEByZXR1cm4ge051bWJlcn0gUGVyY2VudGFnZSB3aWR0aFxuLy8vIEB0aHJvdyBpZiBgJGtleWAgaXMgbm90IGEgdmFsaWQgZ3JpZCB3aWR0aFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRfZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJF9nb3Z1ay1ncmlkLXdpZHRocywgJGtleSk7XG4gIH1cblxuICBAZXJyb3IgXCJVbmtub3duIGdyaWQgd2lkdGggYCN7JGtleX1gXCI7XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIHJvdyBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIHJvdyBjbGFzcyB3aXRoIGEgc3RhbmRhcmRpc2VkIG1hcmdpbi5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtcm93XSBDU1MgY2xhc3MgbmFtZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLXJvdyhcImFwcC1ncmlkXCIpO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWdyaWQtcm93KCRjbGFzczogXCJnb3Z1ay1ncmlkLXJvd1wiKSB7XG4gIC4jeyRjbGFzc30ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgICBtYXJnaW4tbGVmdDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgZ3JpZCBjb2x1bW4gc3R5bGVzXG4vLy9cbi8vLyBDcmVhdGVzIGEgY3Jvc3MgYnJvd3NlciBncmlkIGNvbHVtbiB3aXRoIGEgY2xhc3Mgb2YgJy5nb3Z1ay1ncmlkLWNvbHVtbicgYnlcbi8vLyBkZWZhdWx0LCBhbmQgYSBzdGFuZGFyZGlzZWQgZ3V0dGVyIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4vLy9cbi8vLyBDb21tb24gd2lkdGhzIGFyZSBwcmVkZWZpbmVkIGFib3ZlIGFzIGtleXdvcmRzIGluIHRoZSBgJGdyaWQtd2lkdGhzYCBtYXAuXG4vLy9cbi8vLyBCeSBkZWZhdWx0IHRoZWlyIHdpZHRoIGNoYW5nZXMgZnJvbSAxMDAlIHRvIHNwZWNpZmllZCB3aWR0aCBhdCB0aGUgJ3RhYmxldCdcbi8vLyBicmVha3BvaW50LCBidXQgdGhhdCBjYW4gYmUgY29uZmlndXJlZCB0byBiZSBhbnkgb3RoZXIgYnJlYWtwb2ludCBieSB1c2luZ1xuLy8vIHRoZSBgJGF0YCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNsYXNzIFtnb3Z1ay1ncmlkLWNvbHVtbl0gQ1NTIGNsYXNzIG5hbWVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFtmdWxsXSBvbmUtcXVhcnRlciB8IG9uZS10aGlyZCB8IG9uZS1oYWxmIHwgdHdvLXRoaXJkIHwgdGhyZWUtcXVhcnRlcnMgfCBmdWxsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRmbG9hdCBbbGVmdF0gbGVmdCB8IHJpZ2h0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhdCBbdGFibGV0XSAtIG1vYmlsZSB8IHRhYmxldCB8IGRlc2t0b3AgfCBhbnkgY3VzdG9tIGJyZWFrcG9pbnQgaW4gcHggb3IgZW1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbih0d28tdGhpcmRzKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGNsYXNzOiBcInRlc3QtY29sdW1uXCIpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBicmVha3BvaW50IHdoZXJlIHdpZHRoIHBlcmNlbnRhZ2UgaXMgYXBwbGllZFxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRhdDogZGVza3RvcCk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGZsb2F0IGRpcmVjdGlvblxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRmbG9hdDogcmlnaHQpO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aDogZnVsbCwgJGZsb2F0OiBsZWZ0LCAkYXQ6IHRhYmxldCwgJGNsYXNzOiBcImdvdnVrLWdyaWQtY29sdW1uXCIpIHtcblxuICAuI3skY2xhc3N9LSN7JHdpZHRofSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaWYgJGF0ICE9IGRlc2t0b3Age1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHBhZGRpbmc6IDAgJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYXQpIHtcbiAgICAgIHdpZHRoOiBncmlkLXdpZHRoKCR3aWR0aCk7XG4gICAgICBmbG9hdDogJGZsb2F0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBDb21tb24gbGluayBtaXhpblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIHR5cG9ncmFwaHkgYW5kIGZvY3VzIHN0YXRlLCByZWdhcmRsZXNzIG9mIGxpbmsgc3R5bGUuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1jb21tb24ge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG59XG5cbi8vLyBEZWZhdWx0IGxpbmsgc3R5bGUgbWl4aW5cbi8vL1xuLy8vIFByb3ZpZGVzIHRoZSBkZWZhdWx0IHVudmlzaXRlZCwgdmlzaXRlZCwgaG92ZXIgYW5kIGFjdGl2ZSBzdGF0ZXMgZm9yIGxpbmtzLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50IHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBnb3Z1ay1saW5rLWNvbW1vbiBtaXhpbiBpbiBvcmRlciB0byBnZXQgdGhlIGZvY3VzIHN0YXRlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdCB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gTXV0ZWQgc3R5bGUgbGluayBtaXhpblxuLy8vXG4vLy8gVXNlZCBmb3Igc2Vjb25kYXJ5IGxpbmtzIG9uIGEgcGFnZSAtIHRoZSBsaW5rIHdpbGwgYXBwZWFyIGluIG11dGVkIGNvbG91cnNcbi8vLyByZWdhcmRsZXNzIG9mIHZpc2l0ZWQgc3RhdGUuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1tdXRlZCB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvciBkZXNpZ25lZFxuICAvLyB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvIHdlIG5lZWQgdG9cbiAgLy8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFRleHQgc3R5bGUgbGluayBtaXhpblxuLy8vXG4vLy8gT3ZlcnJpZGVzIHRoZSBjb2xvdXIgb2YgbGlua3MgdG8gbWF0Y2ggdGhlIHRleHQgY29sb3VyLiBHZW5lcmFsbHkgdXNlZCBieVxuLy8vIG5hdmlnYXRpb24gY29tcG9uZW50cywgc3VjaCBhcyBicmVhZGNydW1icyBvciB0aGUgYmFjayBsaW5rLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50IHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBnb3Z1ay1saW5rLWNvbW1vbiBtaXhpbiBpbiBvcmRlciB0byBnZXQgdGhlIGZvY3VzIHN0YXRlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS10ZXh0IHtcbiAgLy8gT3ZlcnJpZGUgbGluayBjb2xvdXIgdG8gdXNlIHRleHQgY29sb3VyXG4gICY6bGluayxcbiAgJjp2aXNpdGVkLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvciBkZXNpZ25lZFxuICAvLyB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvIHdlIG5lZWQgdG9cbiAgLy8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gTm8gdmlzaXRlZCBzdGF0ZSBsaW5rIG1peGluXG4vLy9cbi8vLyBVc2VkIGluIGNhc2VzIHdoZXJlIGl0IGlzIG5vdCBoZWxwZnVsIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdmlzaXRlZCBhbmRcbi8vLyBub24tdmlzaXRlZCBsaW5rcy5cbi8vL1xuLy8vIEZvciBleGFtcGxlLCBuYXZpZ2F0aW9uIGxpbmtzIHRvIHBhZ2VzIHdpdGggZHluYW1pYyBjb250ZW50IGxpa2UgYWRtaW5cbi8vLyBkYXNoYm9hcmRzLiBUaGUgY29udGVudCBvbiB0aGUgcGFnZSBpcyBjaGFuZ2luZyBhbGwgdGhlIHRpbWUsIHNvIHRoZSBmYWN0XG4vLy8gdGhhdCB5b3XigJl2ZSB2aXNpdGVkIGl0IGJlZm9yZSBpcyBub3QgaW1wb3J0YW50LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50IHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBnb3Z1ay1saW5rLWNvbW1vbiBtaXhpbiBpbiBvcmRlciB0byBnZXQgdGhlIGZvY3VzIHN0YXRlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlIHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gUHJpbnQgZnJpZW5kbHkgbGluayBtaXhpblxuLy8vXG4vLy8gV2hlbiBwcmludGluZywgYXBwZW5kIHRoZSB0aGUgZGVzdGluYXRpb24gVVJMIHRvIHRoZSBsaW5rIHRleHQsIGFzIGxvbmdcbi8vLyBhcyB0aGUgVVJMIHN0YXJ0cyB3aXRoIGVpdGhlciBgL2AsIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstcHJpbnQtZnJpZW5kbHkge1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcblxuICAgICZbaHJlZl49XCIvXCJdLFxuICAgICZbaHJlZl49XCJodHRwOi8vXCJdLFxuICAgICZbaHJlZl49XCJodHRwczovL1wiXSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcblxuICAgICAgICAvLyBCZWNhdXNlIHRoZSBVUkxzIG1heSBiZSB2ZXJ5IGxvbmcsIGVuc3VyZSB0aGF0IHRoZXkgbWF5IGJlIGJyb2tlblxuICAgICAgICAvLyBhdCBhcmJpdHJhcnkgcG9pbnRzIGlmIHRoZXJlIGFyZSBubyBvdGhlcndpc2UgYWNjZXB0YWJsZSBicmVha1xuICAgICAgICAvLyBwb2ludHMgaW4gdGhlIGxpbmVcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFdyYW5nbGUgc2Fzcy1tcSBjb25maWcuLi5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBQYXNzIG91ciBicmVha3BvaW50cyBhbmQgc3RhdGljIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgdGhyb3VnaCB0byBzYXNzLW1xLlxuJG1xLWJyZWFrcG9pbnRzOiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstYnJlYWtwb2ludHMpLCAkZ292dWstYnJlYWtwb2ludHMsICgpKTtcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogaWYodmFyaWFibGUtZXhpc3RzKGdvdnVrLWllOC1icmVha3BvaW50KSwgJGdvdnVrLWllOC1icmVha3BvaW50LCBkZXNrdG9wKTtcblxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpO1xuXG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1zaG93LWJyZWFrcG9pbnRzKSBhbmQgJGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIHtcbiAgJG1xLXNob3ctYnJlYWtwb2ludHM6IG1hcC1rZXlzKCRnb3Z1ay1icmVha3BvaW50cyk7XG59XG5cbi8vIFdoZW4gYnVpbGRpbmcgYSBzdHlsZXNoZWV0IGZvciBJRTgsIHNldCAkbXEtcmVzcG9uc2l2ZSB0byBmYWxzZSBpbiBvcmRlciB0b1xuLy8gJ3Jhc3Rlcml6ZScgYW55IG1lZGlhIHF1ZXJpZXMuXG5cbiRtcS1yZXNwb25zaXZlOiB0cnVlO1xuQGlmICh2YXJpYWJsZS1leGlzdHMoZ292dWstaXMtaWU4KSBhbmQgJGdvdnVrLWlzLWllOCkge1xuICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG59XG5cbi8vIFRoaXMgaXMgYSBob3JyaWJsZSwgaG9ycmlibGUgaGFjayB0byBwcmV2ZW50IHRoZSAnZGV2IG1vZGUnIENTUyB0byBkaXNwbGF5XG4vLyB0aGUgY3VycmVudCBicmVha3BvaW50IGZyb20gYmVpbmcgaW5jbHVkZWQgbXVsdGlwbGUgdGltZXMuXG4vL1xuLy8gV2UgY2FuJ3QgdXNlIHRoZSBgZXhwb3J0c2AgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpbXBvcnQgZGlyZWN0aXZlcyBjYW5ub3QgYmVcbi8vIHVzZWQgd2l0aGluIGNvbnRyb2wgZGlyZWN0aXZlcyDwn5igXG4kc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmICRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogKCk7XG59XG5cbkBpbXBvcnQgXCIuLi92ZW5kb3Ivc2Fzcy1tcVwiO1xuXG4kc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkOiB0cnVlO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIE1lZGlhIFF1ZXJ5XG4vLy9cbi8vLyBUaGlzIGlzIGEgY3VycmVudGx5IGEgd3JhcHBlciBmb3Igc2Fzcy1tcSAtIGFic3RyYWN0ZWQgc28gdGhhdCB3ZSBjYW5cbi8vLyByZXBsYWNlIGl0IGluIHRoZSBmdXR1cmUgaWYgd2Ugc28gY2hvb3NlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIFtmYWxzZV0gLSBPbmUgb2YgJGdvdnVrLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIFtmYWxzZV0gLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgW2FsbF0gLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBtcSBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRnb3Z1ay1icmVha3BvaW50c11cbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgWyRnb3Z1ay1pZTgtYnJlYWtwb2ludF1cbi8vLyBAaWdub3JlIEBwYXJhbSB7Qm9vbGVhbn0gJHJlc3BvbnNpdmUgWyRnb3Z1ay1pcy1pZThdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhcmdzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKCRhcmdzLi4uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhbmQgJG1lZGlhLXR5cGUgIT0gJ3ByaW50J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG5cbi8vIHNhc3MtbGludDplbmFibGUtYWxsXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlXG4vLy9cbi8vLyBNdWx0aXBseWluZyBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIGJhc2Ugb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUgYnkgdGhlXG4vLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIGJhc2Ugb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpIHtcbiAgJHNxdWFyZS1yb290LW9mLXRocmVlOiAxLjczMjtcblxuICBAcmV0dXJuICgkYmFzZSAvIDIpICogJHNxdWFyZS1yb290LW9mLXRocmVlO1xufVxuXG4vLy8gQXJyb3cgbWl4aW5cbi8vL1xuLy8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLy8gYm9yZGVycy4gVGhlIGNvbG91cmVkIGJvcmRlcnMgaW5oZXJpdCB0aGUgdGV4dCBjb2xvdXIgb2YgdGhlIGVsZW1lbnQgKDIpLlxuLy8vXG4vLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLy8gcHJvdmlkaW5nIGEgY2xpcCBwYXRoICgzKS4gV2l0aG91dCB0aGlzIHRoZSB0cmFuc3BhcmVudCBib3JkZXJzIGFyZVxuLy8vIG92ZXJyaWRkZW4gdG8gYmVjb21lIHZpc2libGUgd2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZS5cbi8vL1xuLy8vIFdlIG5lZWQgYm90aCBiZWNhdXNlIG9sZGVyIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGNsaXAtcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgdHJpYW5nbGUgJ2Jhc2UnIHNpZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbbnVsbF0gLSBIZWlnaHQgb2YgdHJpYW5nbGUuIE9taXQgZm9yIGVxdWlsYXRlcmFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiAoJGhlaWdodCA9PSBudWxsKSB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhciAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGFycm93IGRpcmVjdGlvbjogZXhwZWN0ZWQgYHVwYCwgYHJpZ2h0YCwgYGRvd25gIG9yIGBsZWZ0YCwgZ290IGAjeyRkaXJlY3Rpb259YFwiO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nXG4vLy9cbi8vLyBSZXR1cm5zIG1lYXN1cmVtZW50IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHNwYWNpbmcgcG9pbnQgcmVxdWVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHNwYWNpbmcgc2NhbGUgKHNldCBpbiBgc2V0dGluZ3MvX3NwYWNpbmcuc2Njc2ApXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBTcGFjaW5nIE1lYXN1cmVtZW50IGVnLiAxMHB4XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNSk7XG4vLy8gICAgIHRvcDogZ292dWstc3BhY2luZygyKSAhaW1wb3J0YW50OyAvLyBpZiBgIWltcG9ydGFudGAgaXMgcmVxdWlyZWRcbi8vLyAgIH1cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstc3BhY2luZygkc3BhY2luZy1wb2ludCkge1xuXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHZhcmlhYmxlIGAjeyRzcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBzcGFjaW5nIChlaXRoZXIgcGFkZGluZyBvciBtYXJnaW4sIGRlcGVuZGluZyBvbiBgJHByb3BlcnR5YClcbi8vLyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzXG4vLy8gZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vL1xuLy8vIFRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZywgdXNlICdnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbicgb3Jcbi8vLyAnZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nJyBtaXhpbnNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIiArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHBvaW50IGAjeyRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBcIlxuICAgICsgXCJyZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cbiAgJHNjYWxlLW1hcDogbWFwLWdldCgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgJGFjdHVhbC1tYXAtdHlwZTogdHlwZS1vZigkc2NhbGUtbWFwKTtcbiAgQGlmICRhY3R1YWwtbWFwLXR5cGUgIT0gXCJtYXBcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICArIFwiI3skYWN0dWFsLW1hcC10eXBlfS4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBtYXAgdG8gc2V0IHRoZSByZXNwb25zaXZlIHNwYWNpbmcgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgKVwiO1xuICB9XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC12YWx1ZSBpbiAkc2NhbGUtbWFwIHtcblxuICAgIEBpZiAoJGFkanVzdG1lbnQpIHtcbiAgICAgICRicmVha3BvaW50LXZhbHVlOiAkYnJlYWtwb2ludC12YWx1ZSArICRhZGp1c3RtZW50O1xuICAgIH1cblxuICAgIC8vIFRoZSAnbnVsbCcgYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcblxuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXNwb25zaXZlIG1hcmdpblxuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIG1hcmdpbiBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcIm1hcmdpblwiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHBhZGRpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBwYWRkaW5nIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsIFwicGFkZGluZ1wiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL3Rvb2xzL3B4LXRvLXJlbVwiO1xuXG4vLy8gJ0NvbW1vbiB0eXBvZ3JhcGh5JyBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIGZvbnQgZmFtaWx5IGFuZCBhc3NvY2lhdGVkIHByb3BlcnRpZXMsIHN1Y2ggYXMgZm9udCBzbW9vdGhpbmcuIEFsc29cbi8vLyBvdmVycmlkZXMgdGhlIGZvbnQgZm9yIHByaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkZm9udC1mYW1pbHkgWyRnb3Z1ay1mb250LWZhbWlseV0gRm9udCBmYW1pbHkgdG8gdXNlXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCRmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5KSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gIC8vIElmIHVzaW5nIE5UQSwgaW5jbHVkZSB0aGUgZm9udC1mYWNlIGRlZmluaXRpb25cbiAgQGlmICgkZ292dWstZm9udC1mYW1pbHkgPT0gJGdvdnVrLWZvbnQtZmFtaWx5LW50YSkge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay1mb250LWZhY2UtbnRhO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseS1wcmludDtcbiAgfVxufVxuXG4vLy8gVGV4dCBjb2xvdXIgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSB0ZXh0IGNvbG91ciwgaW5jbHVkaW5nIGEgc3VpdGFibGUgb3ZlcnJpZGUgZm9yIHByaW50LlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXRleHQtY29sb3VyIHtcbiAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBjb2xvcjogJGdvdnVrLXByaW50LXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZWd1bGFyIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtcmVndWxhciBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBCb2xkIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtYm9sZCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiBfZ292dWstbGluZS1oZWlnaHQoJGxpbmUtaGVpZ2h0LCAkZm9udC1zaXplKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGxpbmUtaGVpZ2h0KSBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09IHVuaXQoJGZvbnQtc2l6ZSkge1xuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpbmUtaGVpZ2h0O1xufVxuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGhlbHBlclxuLy8vXG4vLy8gVGFrZXMgYSAnZm9udCBtYXAnIGFzIGFuIGFyZ3VtZW50IGFuZCB1c2VzIGl0IHRvIGNyZWF0ZSBmb250LXNpemUgYW5kXG4vLy8gbGluZS1oZWlnaHQgZGVjbGFyYXRpb25zIGZvciBkaWZmZXJlbnQgYnJlYWtwb2ludHMsIGFuZCBmb3IgcHJpbnQuXG4vLy9cbi8vLyBFeGFtcGxlIGZvbnQgbWFwOlxuLy8vXG4vLy8gJG15LWZvbnQtbWFwOiAoXG4vLy8gICBudWxsOiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTZweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbi8vLyAgICksXG4vLy8gICB0YWJsZXQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxOXB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjVweFxuLy8vICAgKSxcbi8vLyAgIHByaW50OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTRwdCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbi8vLyAgIClcbi8vLyApO1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRmb250LW1hcCAtIEZvbnQgbWFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvdmVycmlkZS1saW5lLWhlaWdodCBbZmFsc2VdIC0gTm9uIHJlc3BvbnNpdmUgY3VzdG9tIGxpbmVcbi8vLyAgIGhlaWdodC4gT21pdCB0byB1c2UgdGhlIGxpbmUgaGVpZ2h0IGZyb20gdGhlIGZvbnQgbWFwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiBmYWxzZSwgJGltcG9ydGFudDogZmFsc2UpIHtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSkge1xuICAgIEBlcnJvciBcIlVua25vd24gZm9udCBzaXplIGAjeyRzaXplfWAgLSBleHBlY3RlZCBhIHBvaW50IGZyb20gdGhlIHR5cG9ncmFwaHkgc2NhbGUuXCI7XG4gIH1cblxuICAkZm9udC1tYXA6IG1hcC1nZXQoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtbWFwIGluICRmb250LW1hcCB7XG4gICAgJGZvbnQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwiZm9udC1zaXplXCIpO1xuICAgICRmb250LXNpemUtcmVtOiBnb3Z1ay1weC10by1yZW0oJGZvbnQtc2l6ZSk7XG5cbiAgICAkbGluZS1oZWlnaHQ6IF9nb3Z1ay1saW5lLWhlaWdodChcbiAgICAgICRsaW5lLWhlaWdodDogaWYoJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImxpbmUtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxuICAgICk7XG5cbiAgICAvLyBNYXJrIHJ1bGVzIGFzICFpbXBvcnRhbnQgaWYgJGltcG9ydGFudCBpcyB0cnVlIC0gdGhpcyB3aWxsIHJlc3VsdCBpblxuICAgIC8vIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbiAqYWZ0ZXIqIHRoZXlcbiAgICAvLyBhcmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICAkZm9udC1zaXplOiAkZm9udC1zaXplIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAkZm9udC1zaXplLXJlbTogJGZvbnQtc2l6ZS1yZW0gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgIH1cbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfSBAZWxzZWlmICRicmVha3BvaW50ID09IFwicHJpbnRcIiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yZW07IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICAgIH1cbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEZvbnQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBTaXplIG9mIHRoZSBmb250IGFzIGl0IHdvdWxkIGFwcGVhciBvbiBkZXNrdG9wIC1cbi8vLyAgIHVzZXMgdGhlIHJlc3BvbnNpdmUgZm9udCBzaXplIG1hcFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2VpZ2h0IFtyZWd1bGFyXSAtIFdlaWdodDogYGJvbGRgIG9yIGByZWd1bGFyYFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHRhYnVsYXIgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRhYnVsYXIgbnVtYmVycyBvciBub3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBMaW5lLWhlaWdodCwgaWYgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQoJHNpemUsICR3ZWlnaHQ6IHJlZ3VsYXIsICR0YWJ1bGFyOiBmYWxzZSwgJGxpbmUtaGVpZ2h0OiBmYWxzZSkge1xuICBAaWYgJHRhYnVsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCRmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXIpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgfVxuXG4gIEBpZiAkd2VpZ2h0ID09IHJlZ3VsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXI7XG4gIH0gQGVsc2UgaWYgJHdlaWdodCA9PSBib2xkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgQGlmICRzaXplIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemUsICRvdmVycmlkZS1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0KTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vLy8gICAtIEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5LCBKb25hdGhhbiBTbm9vaywgRmVicnVhcnkgMjAxMVxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvOWYxMzY5NWQyMWZmOTJjNTVjNzhkZmE5ZjE2YmIwMmExYjZlOTExZi9zcmMvY3NzL21haW4uY3NzI0wxMjEtTDE1OFxuLy8vICAgLSBoNWJwL2h0bWw1LWJvaWxlcnBsYXRlIC0gVGhhbmtzIVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4oJGltcG9ydGFudDogdHJ1ZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIHdpZHRoOiAxcHggaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICBoZWlnaHQ6IDFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIG1hcmdpbjogLTFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIHBhZGRpbmc6IDAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIG92ZXJmbG93OiBoaWRkZW4gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgYm9yZGVyOiAwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAvLyBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICAvLyBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICB3aGl0ZS1zcGFjZTogbm93cmFwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVycyB3aGlsc3Rcbi8vLyBhbGxvd2luZyB0aGUgZWxlbWVudCB0byBiZSBmb2N1c2VkIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQgKGUuZy5cbi8vLyBmb3IgdGhlIHNraXAgbGluaylcbi8vL1xuLy8vIFRoaXMgaXMgc2xpZ2h0bHkgbGVzcyBvcGluaW9uYXRlZCBhYm91dCBib3JkZXJzIGFuZCBwYWRkaW5nIHRvIG1ha2UgaXRcbi8vLyBlYXNpZXIgdG8gc3R5bGUgdGhlIGZvY3Vzc2VkIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoJGltcG9ydGFudDogdHJ1ZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIHdpZHRoOiAxcHggaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICBoZWlnaHQ6IDFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIG1hcmdpbjogLTFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAvLyBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICAvLyBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICB3aGl0ZS1zcGFjZTogbm93cmFwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYyBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgICB3aWR0aDogYXV0byBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgaGVpZ2h0OiBhdXRvIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICBtYXJnaW46IGluaGVyaXQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICAgb3ZlcmZsb3c6IHZpc2libGUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgIGNsaXA6IGF1dG8gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBub25lIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogbm9uZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcImxpc3RzXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwic2VjdGlvbi1icmVha1wiO1xuQGltcG9ydCBcImdsb2JhbC1zdHlsZXNcIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpbmtzXCIpIHtcblxuICAlZ292dWstbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstcHJpbnQtZnJpZW5kbHk7XG4gIH1cblxuICAuZ292dWstbGluayB7XG4gICAgQGV4dGVuZCAlZ292dWstbGluaztcbiAgfVxuXG4gIC8vIFZhcmlhbnQgY2xhc3NlcyBzaG91bGQgYWx3YXlzIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgLmdvdnVrLWxpbmtcbiAgLy8gY2xhc3MsIHNvIHdlIGRvIG5vdCBuZWVkIHRoZSBjb21tb24gbGluayBzdHlsZXMgYXMgdGhleSB3aWxsIGJlIGluaGVyaXRlZC5cblxuICAuZ292dWstbGluay0tbXV0ZWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4gIH1cblxuICAuZ292dWstbGluay0tdGV4dC1jb2xvdXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1uby12aXNpdGVkLXN0YXRlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcblxuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgLy8gTGlzdHMgd2l0aG91dCBudW1iZXJzIG9yIGJ1bGxldHMgc2hvdWxkIGFsd2F5cyBoYXZlIGV4dHJhIHNwYWNlIGJldHdlZW5cbiAgICAvLyBsaXN0IGl0ZW1zLiBMaXN0cyB3aXRoIG51bWJlcnMgb3IgYnVsbGV0cyBvbmx5IGhhdmUgdGhpcyBleHRyYSBzcGFjZSBvblxuICAgIC8vIHRhYmxldCBhbmQgYWJvdmVcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWxpc3Qge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3Q7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLW51bWJlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQgPiBsaSxcbiAgJWdvdnVrLWxpc3QtLW51bWJlciA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1idWxsZXQ7XG4gIH1cblxuICAuZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1udW1iZXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdGVtcGxhdGVcIikge1xuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxodG1sPiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZSB7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIHBhZ2UgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHNhbWUgY29sb3VyIGFzIHVzZWQgYnkgdGhlXG4gICAgLy8gZm9vdGVyIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS90eXBvZ3JhcGh5XCIpIHtcblxuICAvLyBIZWFkaW5nc1xuXG4gICVnb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy14bCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy14bDtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctbDtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctbTtcbiAgfVxuXG4gICVnb3Z1ay1oZWFkaW5nLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmctcztcbiAgfVxuXG4gIC8vIENhcHRpb25zIHRvIGJlIHVzZWQgaW5zaWRlIGhlYWRpbmdzXG5cbiAgLmdvdnVrLWNhcHRpb24teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI3KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gQm9keSAocGFyYWdyYXBocylcblxuICAlZ292dWstYm9keS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXM7XG4gIH1cblxuICAlZ292dWstYm9keS14cyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXhzIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXhzO1xuICB9XG5cbiAgLy8gVXNhZ2UgYWxpYXNlc1xuXG4gIC8vIFVzaW5nIGV4dGVuZCB0byBhbGlhcyBtZWFucyB3ZSBhbHNvIGluaGVyaXQgYW55IGNvbnRleHR1YWwgYWRqdXN0bWVudHMgdGhhdFxuICAvLyByZWZlciB0byB0aGUgJ29yaWdpbmFsJyBjbGFzcyBuYW1lXG5cbiAgLmdvdnVrLWJvZHktbGVhZCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gIC8vIENvbnRleHR1YWwgYWRqdXN0bWVudHNcbiAgLy8gQWRkIHRvcCBwYWRkaW5nIHRvIGhlYWRpbmdzIHRoYXQgYXBwZWFyIGRpcmVjdGx5IGFmdGVyIHBhcmFncmFwaHMuXG5cbiAgJWdvdnVrLWJvZHktbCAgKyAlZ292dWstaGVhZGluZy1sIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWJvZHktcyAgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0LCBcInRvcFwiKTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3NlY3Rpb24tYnJlYWtcIikge1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLy8gZml4IGRvdWJsZS13aWR0aCBzZWN0aW9uIGJyZWFrIGFuZCBmb3JjZWQgdmlzaWJsZSBzZWN0aW9uIGJyZWFrXG4gICAgLy8gd2hlbiBjb21iaW5lZCB3aXRoIHN0eWxlcyBmcm9tIGFscGhhZ292L2VsZW1lbnRzXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a19lbGVtZW50cykge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrO1xuICB9XG5cbiAgLy8gU2l6ZXNcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW07XG4gIH1cblxuICAvLyBWaXNpYmxlIHZhcmlhbnRcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuQG1peGluIGdvdnVrLWdsb2JhbC1zdHlsZXMge1xuICBhIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2dsb2JhbC1zdHlsZXNcIikge1xuXG4gIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyA9PSB0cnVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1nbG9iYWwtc3R5bGVzO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiZm9ybS1ncm91cFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJtYWluLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJ3aWR0aC1jb250YWluZXJcIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2Zvcm0tZ3JvdXBcIikge1xuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgbWFyZ2luIGZyb20gbGFzdCBpdGVtIGluIG5lc3RlZCBncm91cHNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cC0tZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAvLyBSZXNldCBlcnJvciBzdHlsZXMgaW4gbmVzdGVkIGZvcm0gZ3JvdXBzIHRoYXQgbWlnaHQgaGF2ZSBlcnJvciBjbGFzc1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAvL21vc3QgY29tbW9uIHVzYWdlXG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtcXVhcnRlcik7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS10aGlyZCk7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmKTtcbiAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcyk7XG4gIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHRocmVlLXF1YXJ0ZXJzKTtcbiAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oZnVsbCk7XG59XG4iLCIvLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJ0b3BcIik7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImJvdHRvbVwiKTtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIFVzZSBnb3Z1ay1tYWluLXdyYXBwZXItLWwgd2hlbiB5b3UgcGFnZSBkb2VzIG5vdCBoYXZlIEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzIG9yIGJhY2sgbGlua3NcbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlci0tbDtcbiAgfVxufVxuIiwiQG1peGluIGdvdnVrLXdpZHRoLWNvbnRhaW5lciB7XG4gIC8vIExpbWl0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIHRvIHRoZSBwYWdlIHdpZHRoXG4gIG1heC13aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG5cbiAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICB3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG4gIH1cblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luOiAwICRnb3Z1ay1ndXR0ZXItaGFsZjtcblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbjogMCAkZ292dWstZ3V0dGVyO1xuICB9XG5cbiAgLy8gQXMgc29vbiBhcyB0aGUgdmlld3BvcnQgaXMgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSBwbHVzIHRoZVxuICAvLyBndXR0ZXJzLCBqdXN0IGNlbnRyZSB0aGUgY29udGVudCBpbnN0ZWFkIG9mIGFkZGluZyBndXR0ZXJzLlxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkYW5kOiBcIihtaW4td2lkdGg6ICN7KCRnb3Z1ay1wYWdlLXdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcImJhY2stbGluay9iYWNrLWxpbmtcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1icy9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImJ1dHRvbi9idXR0b25cIjtcbkBpbXBvcnQgXCJjaGVja2JveGVzL2NoZWNrYm94ZXNcIjtcbkBpbXBvcnQgXCJjaGFyYWN0ZXItY291bnQvY2hhcmFjdGVyLWNvdW50XCI7XG5AaW1wb3J0IFwiZGF0ZS1pbnB1dC9kYXRlLWlucHV0XCI7XG5AaW1wb3J0IFwiZGV0YWlscy9kZXRhaWxzXCI7XG5AaW1wb3J0IFwiZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiZXJyb3Itc3VtbWFyeS9lcnJvci1zdW1tYXJ5XCI7XG5AaW1wb3J0IFwiZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCJmaWxlLXVwbG9hZC9maWxlLXVwbG9hZFwiO1xuQGltcG9ydCBcImZvb3Rlci9mb290ZXJcIjtcbkBpbXBvcnQgXCJoaW50L2hpbnRcIjtcbkBpbXBvcnQgXCJoZWFkZXIvaGVhZGVyXCI7XG5AaW1wb3J0IFwiaW5wdXQvaW5wdXRcIjtcbkBpbXBvcnQgXCJpbnNldC10ZXh0L2luc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJsYWJlbC9sYWJlbFwiO1xuQGltcG9ydCBcInBhbmVsL3BhbmVsXCI7XG5AaW1wb3J0IFwicGhhc2UtYmFubmVyL3BoYXNlLWJhbm5lclwiO1xuQGltcG9ydCBcInRhYnMvdGFic1wiO1xuQGltcG9ydCBcInRhZy90YWdcIjtcbkBpbXBvcnQgXCJyYWRpb3MvcmFkaW9zXCI7XG5AaW1wb3J0IFwic2VsZWN0L3NlbGVjdFwiO1xuQGltcG9ydCBcInNraXAtbGluay9za2lwLWxpbmtcIjtcbkBpbXBvcnQgXCJ0YWJsZS90YWJsZVwiO1xuQGltcG9ydCBcInRleHRhcmVhL3RleHRhcmVhXCI7XG5AaW1wb3J0IFwid2FybmluZy10ZXh0L3dhcm5pbmctdGV4dFwiO1xuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYmFjay1saW5rXCIpIHtcblxuICAuZ292dWstYmFjay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gQWxsb3cgc3BhY2UgZm9yIHRoZSBhcnJvd1xuICAgIHBhZGRpbmctbGVmdDogMTRweDtcblxuICAgIC8vIFVzZSBib3JkZXItYm90dG9tIHJhdGhlciB0aGFuIHRleHQtZGVjb3JhdGlvbiBzbyB0aGF0IHRoZSBhcnJvdyBpc1xuICAgIC8vIHVuZGVybGluZWQgYXMgd2VsbC5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG5cbiAgICAvLyBVbmRlcmxpbmUgaXMgcHJvdmlkZWQgYnkgYSBib3R0b20gYm9yZGVyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGFycm93XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogbGVmdCwgJGJhc2U6IDEwcHgsICRoZWlnaHQ6IDZweCk7XG5cbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIC8vIFZlcnRpY2FsbHkgYWxpZ24gd2l0aCB0aGUgcGFyZW50IGVsZW1lbnRcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG5cbiAgLmdvdnVrLWJhY2stbGluazpiZWZvcmUge1xuICAgICRvZmZzZXQ6IDFweDtcblxuICAgIHRvcDogJG9mZnNldCAqIC0xO1xuICAgIGJvdHRvbTogJG9mZnNldDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnJlYWRjcnVtYnNcIikge1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogN3B4O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiBib3JkZXJcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgLy8gQ29sb3VyIG9mIGNoZXZyb25cbiAgJGNoZXZyb24tYm9yZGVyLWNvbG91cjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAvLyBDYWxjdWxhdGVkIGFsdGl0dWRlICjilrPihpUpIG9mIHRoZSByaWdodC1hbmdsZWQgaXNvc2NlbGVzIGNoZXZyb24gd2l0aCBzaWRlc1xuICAvLyBvZiBsZW5ndGggOCAoN3B4ICsgMXB4IGJvcmRlcik6XG4gIC8vXG4gIC8vIOKImig4wrIgKyA4wrIpICogMC41IOKJhSA1LjY1NVxuICAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkOiA1LjY1NXB4O1xuXG4gIC5nb3Z1ay1icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWRkIGJvdGggbWFyZ2luIGFuZCBwYWRkaW5nIHN1Y2ggdGhhdCB0aGUgY2hldnJvbiBhcHBlYXJzIGNlbnRyYWxseVxuICAgIC8vIGJldHdlZW4gZWFjaCBicmVhZGNydW1iIGl0ZW1cbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMikgKyAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkO1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBDcmVhdGUgYSBjaGV2cm9uIHVzaW5nIGEgYm94IHdpdGggYm9yZGVycyBvbiB0d28gc2lkZXMsIHJvdGF0ZWQgNDVkZWcuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgICAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJldmVydGVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0XG4gICAgICAvLyBiYXNlbGluZVxuXG4gICAgICAvLyB0b3A6IDA7XG4gICAgICAvLyBib3R0b206IDA7XG5cbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogMXB4O1xuXG4gICAgICAvLyBFbmQgYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG5cbiAgICAgIC8vIE9mZnNldCBieSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB3aWR0aCBvZiB0aGUgbm9uLXJvdGF0ZWQgc3F1YXJlXG4gICAgICAvLyBhbmQgaXRzIHdpZHRoIHdoZW4gcm90YXRlZFxuICAgICAgbGVmdDogKCgkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkICogLTIpICsgJGNoZXZyb24tc2l6ZSArICRjaGV2cm9uLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgYm9yZGVyOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLXdpZHRoICRjaGV2cm9uLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIEZhbGwgYmFjayB0byBhIGdyZWF0ZXIgdGhhbiBzaWduIGZvciBJRThcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMDNlXCI7IC8vIEdyZWF0ZXIgdGhhbiBzaWduICg+KVxuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHNlZW0gdG8gbGlrZSByZW5kZXJpbmcgcHNldWRvLWVsZW1lbnRzIHVzaW5nIEBmb250LWZhY2VzLFxuICAgICAgICAvLyBzbyBmYWxsIGJhY2sgdG8gdXNpbmcgYW5vdGhlciBzYW5zLXNlcmlmIGZvbnQgdG8gcmVuZGVyIHRoZSBjaGV2cm9uLlxuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9idXR0b25cIikge1xuXG4gICRnb3Z1ay1idXR0b24tY29sb3VyOiAjMDA4MjNiO1xuICAkZ292dWstYnV0dG9uLWhvdmVyLWNvbG91cjogZGFya2VuKCRnb3Z1ay1idXR0b24tY29sb3VyLCA1JSk7XG4gICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjogZGFya2VuKCRnb3Z1ay1idXR0b24tY29sb3VyLCAxNSUpO1xuICAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyBCZWNhdXNlIHRoZSBzaGFkb3cgKHMwKSBpcyB2aXN1YWxseSAncGFydCBvZicgdGhlIGJ1dHRvbiwgd2UgbmVlZCB0byByZWR1Y2VcbiAgLy8gdGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uIHRvIGNvbXBlbnNhdGUgYnkgYWRqdXN0aW5nIGl0cyBwYWRkaW5nIChzMSkgYW5kXG4gIC8vIGluY3JlYXNlIHRoZSBib3R0b20gbWFyZ2luIHRvIGluY2x1ZGUgaXQgKHMyKS5cbiAgJGJ1dHRvbi1zaGFkb3ctc2l6ZTogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMTlweCk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIiwgJGFkanVzdG1lbnQ6ICRidXR0b24tc2hhZG93LXNpemUpOyAvLyBzMlxuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpKSBnb3Z1ay1zcGFjaW5nKDIpOyAvLyBzMVxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAgIC8vIHNvIHRoYXQgdW52aXNpdGVkIGxpbmtzIHN0eWxlZCBhcyBidXR0b25zIGRvIG5vdCBlbmQgdXAgd2l0aCBkYXJrIGJsdWVcbiAgICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4IHVud2FudGVkIGJ1dHRvbiBwYWRkaW5nIGluIEZpcmVmb3hcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRvcDogJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBhZGp1c3RtZW50cyBkbyBub3Qgd29yayBmb3IgPGlucHV0IHR5cGU9XCJidXR0b25cIj4gYXNcbiAgICAvLyBub24tY29udGFpbmVyIGVsZW1lbnRzIGNhbm5vdCBpbmNsdWRlIHBzZXVkbyBlbGVtZW50cyAoaS5lLiA6OmJlZm9yZSkuXG5cbiAgICAvLyBVc2UgYSBwc2V1ZG8gZWxlbWVudCB0byBleHBhbmQgdGhlIGNsaWNrIHRhcmdldCBhcmVhIHRvIGluY2x1ZGUgdGhlXG4gICAgLy8gYnV0dG9uJ3Mgc2hhZG93IGFzIHdlbGwsIGluIGNhc2UgdXNlcnMgdHJ5IHRvIGNsaWNrIGl0LlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgdG9wOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tZGlzYWJsZWQsXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXSxcbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6ICguNSk7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1zdGFydCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDI0LCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IDEpO1xuXG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNyk7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJpY29uLXBvaW50ZXIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiaWNvbi1wb2ludGVyLTJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAxOXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuICAvLyBGb3IgdGhlIDFweCBhZGRpdGlvbiBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZC9wdWxsLzM2NSNkaXNjdXNzaW9uX3IxNTQzNDk0MjhcblxuICAkb2Zmc2V0OiAyO1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSArICRvZmZzZXQpOyAvLyBzMVxuICAgIHBhZGRpbmctYm90dG9tOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSAtICRvZmZzZXQgKyAxKTsgLy8gczFcbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBwYWRkaW5nLXRvcDogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgKyAkb2Zmc2V0KTsgLy8gczFcbiAgICBwYWRkaW5nLWJvdHRvbTogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgLSAkb2Zmc2V0ICsgMSk7IC8vIHMxXG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvY2hlY2tib3hlc1wiKSB7XG4gICRnb3Z1ay1jaGVja2JveGVzLXNpemU6IGdvdnVrLXNwYWNpbmcoNyk7XG4gICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMCAwIDAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06bGFzdC1jaGlsZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4IGRvZXNu4oCZdCBzdXBwb3J0IHBzZXVkb2VsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmUgZWxlbWVudHMgdGhlcmUuXG4gICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0IGVsZW1lbnQgZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0ICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgLy8gcGFkZGluZy1ib3R0b206IDFweDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMXB4O1xuICAgIGxlZnQ6IDlweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDdweDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwICRnb3Z1ay1ib3JkZXItd2lkdGggJGdvdnVrLWJvcmRlci13aWR0aDtcbiAgICAvLyBGaXggYnVnIGluIElFMTEgY2F1c2VkIGJ5IHRyYW5zZm9ybSByb3RhdGUgKC00NWRlZykuXG4gICAgLy8gU2VlOiBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy9pc3N1ZXMvNTE4XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBTaW5jZSBib3gtc2hhZG93cyBhcmUgcmVtb3ZlZCB3aGVuIHVzZXJzIGN1c3RvbWlzZSB0aGVpciBjb2xvdXJzXG4gICAgLy8gV2Ugc2V0IGEgdHJhbnNwYXJlbnQgb3V0bGluZSB0aGF0IGlzIHNob3duIGluc3RlYWQuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJGdvdnVrLWZvY3VzLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICB9XG5cbiAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTtcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIGNoZWNrYm94LlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstY2hlY2tib3hlcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgY2hlY2tib3hcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAuanMtZW5hYmxlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLW1lc3NhZ2VcIikge1xuICAuZ292dWstZXJyb3ItbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWVsZHNldFwiKSB7XG4gIC5nb3Z1ay1maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIC8vIEZpeCBsZWdlbmQgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRVxuICAgIC8vIDEuIElFOS0xMSAmIEVkZ2UgMTItMTNcbiAgICAvLyAyLiBJRTgtMTFcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7ICAgICAgICAgLy8gMlxuICAgIG1heC13aWR0aDogMTAwJTsgICAgICAgIC8vIDFcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gSGFjayB0byBsZXQgbGVnZW5kcyBvciBlbGVtZW50cyB3aXRoaW4gbGVnZW5kcyBoYXZlIG1hcmdpbnMgaW4gd2Via2l0IGJyb3dzZXJzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7ICAgIC8vIDFcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGVnZW5kcyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsZWdlbmQgY29udGFpbnMgYW4gSDEsIHdlIHdhbnQgdGhlIEgxIHRvIGluaGVyaXQgYWxsIHN0eWxlcyBmcm9tXG4gIC8vIHRoZSBsZWdlbmQuIEVmZmVjdGl2ZWx5IHdlIHdhbnQgdG8gYmUgYWJsZSB0byB0cmVhdCB0aGUgaGVhZGluZyBhcyBpZiBpdCBpc1xuICAvLyBub3QgdGhlcmUuXG4gIC5nb3Z1ay1maWVsZHNldF9faGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGludFwiKSB7XG4gIC5nb3Z1ay1oaW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgbWFyZ2luLWJvdHRvbSBvZiBoaW50IHdoZW4gdXNlZCBhZnRlciB0aGUgZGVmYXVsdCBsYWJlbCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWxhYmVsLS1zIGZvciBiZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50LlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIHdoZW4gdGhlIGxhYmVsIGlzIGluc2lkZSB0aGUgPGgxPiwgaG93ZXZlciBpdFxuICAvLyBpcyB1bmxpa2VseSB0aGF0IHRoZSBkZWZhdWx0IG9yIGdvdnVrLWxhYmVsLS1zIGNsYXNzIHdvdWxkIGJlIHVzZWQgaW4gdGhpc1xuICAvLyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLiBcbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLiBcbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQ6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwpOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIHZpc3VhbCBzcGFjaW5nIG9mIGxlZ2VuZCB3aGVuIHRoZXJlIGlzIGEgaGludFxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQsXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi10b3A6IC0oZ292dWstc3BhY2luZygxKSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2xhYmVsXCIpIHtcbiAgLmdvdnVrLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxhYmVscyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG5cbiAgLmdvdnVrLWxhYmVsLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGFiZWwgaXMgbmVzdGVkIGluc2lkZSBhIGhlYWRpbmcsIG92ZXJyaWRlIHRoZSBoZWFkaW5nIHNvIHRoYXQgaXRcbiAgLy8gZG9lcyBub3QgaGF2ZSBhIG1hcmdpbi4gRWZmZWN0aXZlbHkgd2Ugd2FudCB0byBiZSBhYmxlIHRvIHRyZWF0IHRoZSBoZWFkaW5nXG4gIC8vIGFzIGlmIGl0IGlzIG5vdCB0aGVyZS5cbiAgLy9cbiAgLy8gVGhpcyBicmVha3MgQkVNIGNvbnZlbnRpb25zIGJlY2F1c2UgaXQgZXhpc3RzIGFzIGEgcGFyZW50IG9mIHRoZSAnYmxvY2snLFxuICAvLyBzbyB3ZSBjYW4ndCByZWFsbHkgY29uc2lkZXIgYW4gZWxlbWVudC5cbiAgLmdvdnVrLWxhYmVsLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoYXJhY3Rlci1jb3VudFwiKSB7XG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXAsXG4gICAgLmdvdnVrLXRleHRhcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIC0gMjsgLy8gU3RvcCBhIFwianVtcFwiIHdoZW4gd2lkdGggb2YgYm9yZGVyIGNoYW5nZXNcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlLS1kaXNhYmxlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2lucHV0L2lucHV0XCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9kYXRlLWlucHV0XCIpIHtcbiAgLmdvdnVrLWRhdGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIC8vIGZvbnQtc2l6ZTogMCByZW1vdmVzIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGlubGluZS1ibG9ja1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICAvLyBzZXR0aW5nIGFueSBiYWNrZ3JvdW5kLWNvbG9yIG1ha2VzIHRleHQgaW52aXNpYmxlIHdoZW4gY2hhbmdpbmcgY29sb3VycyB0byBkYXJrIGJhY2tncm91bmRzIGluIEZpcmVmb3ggKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzU0NzYpXG4gICAgLy8gYXMgYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgbmVlZCB0byBhbHdheXMgYmUgc2V0IHRvZ2V0aGVyLCBjb2xvciBzaG91bGQgbm90IGJlIHNldCBlaXRoZXJcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBEaXNhYmxlIGlubmVyIHNoYWRvdyBhbmQgcmVtb3ZlIHJvdW5kZWQgY29ybmVyc1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cblxuICAvLyBUaGUgZXggbWVhc3VyZW1lbnRzIGFyZSBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIFcncyB0aGF0IGNhbiBmaXQgaW5zaWRlIHRoZSBpbnB1dFxuICAvLyBFeHRyYSBzcGFjZSBpcyBsZWZ0IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgdG8gYWxsb3cgZm9yIHRoZSBTYWZhcmkgcHJlZmlsbCBpY29uXG4gIC8vIExpbmVhciByZWdyZXNzaW9uIGVzdGltYXRpb24gYmFzZWQgb24gdmlzdWFsIHRlc3RzOiB5ID0gMS43NiArIDEuODF4XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0zMCB7XG4gICAgbWF4LXdpZHRoOiA1NmV4ICsgM2V4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yMCB7XG4gICAgbWF4LXdpZHRoOiAzOGV4ICsgM2V4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0xMCB7XG4gICAgbWF4LXdpZHRoOiAyMGV4ICsgM2V4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC01IHtcbiAgICBtYXgtd2lkdGg6IDEwLjhleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNCB7XG4gICAgbWF4LXdpZHRoOiA5ZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMge1xuICAgIG1heC13aWR0aDogNy4yZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTIge1xuICAgIG1heC13aWR0aDogNS40ZXg7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGV0YWlsc1wiKSB7XG5cbiAgLmdvdnVrLWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnkge1xuICAgIC8vIE1ha2UgdGhlIGZvY3VzIG91dGxpbmUgc2hyaW5rLXdyYXAgdGhlIHRleHQgY29udGVudCBvZiB0aGUgc3VtbWFyeVxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIEFic29sdXRlbHkgcG9zaXRpb24gdGhlIG1hcmtlciBhZ2FpbnN0IHRoaXMgZWxlbWVudFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBBbGxvdyBmb3IgYWJzb2x1dGVseSBwb3NpdGlvbmVkIG1hcmtlciBhbmQgYWxpZ24gd2l0aCBkaXNjbG9zZWQgdGV4dFxuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KSArICRnb3Z1ay1ib3JkZXItd2lkdGg7XG5cbiAgICAvLyBTdHlsZSB0aGUgc3VtbWFyeSB0byBsb29rIGxpa2UgYSBsaW5rLi4uXG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAvLyAuLi5idXQgb25seSB1bmRlcmxpbmUgdGhlIHRleHQsIG5vdCB0aGUgYXJyb3dcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmZvY3VzIHtcbiAgICAvLyAtMXB4IG9mZnNldCBmaXhlcyBnYXAgYmV0d2VlbiBiYWNrZ3JvdW5kIGFuZCBvdXRsaW5lIGluIEZpcmVmb3hcbiAgICBvdXRsaW5lOiAoJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4KSBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBkZXRhaWxzIG1hcmtlciBzbyB3ZSBjYW4gc3R5bGUgb3VyIG93biBjb25zaXN0ZW50bHkgYW5kXG4gIC8vIGVuc3VyZSBpdCBkaXNwbGF5cyBpbiBGaXJlZm94IChzZWUgaW1wbGVtZW50YXRpb24ubWQgZm9yIGRldGFpbHMpXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQXBwZW5kIG91ciBvd24gb3BlbiAvIGNsb3NlZCBtYXJrZXIgdXNpbmcgYSBwc2V1ZG8tZWxlbWVudFxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogcmlnaHQsICRiYXNlOiAxNHB4KTtcblxuICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dID4gJiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTRweCk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3Jvc3MtY29tcG9uZW50IGNsYXNzIC0gYWRqdXN0cyBzdHlsaW5nIG9mIGxpc3QgY29tcG9uZW50XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCBhIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBsaW5rIHN0eWxpbmcgdG8gdXNlIGVycm9yIGNvbG91clxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmlsZS11cGxvYWRcIikge1xuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG4gIH1cblxuICAuZ292dWstZmlsZS11cGxvYWQtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZm9vdGVyXCIpIHtcblxuICAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1mb290ZXItYm9yZGVyLXRvcDogI2ExYWNiMjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKTtcbiAgJGdvdnVrLWZvb3Rlci10ZXh0OiAjNDU0YTRjO1xuICAkZ292dWstZm9vdGVyLWxpbms6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyOiAjMTcxODE5O1xuXG4gIC8vIEJhc2VkIG9uIHRoZSBnb3Z1ay1jcmVzdC0yeC5wbmcgaW1hZ2UgZGltZW5zaW9ucy5cbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeDogMjUwcHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4OiAyMDRweDtcbiAgLy8gSGFsZiB0aGUgMnggaW1hZ2Ugc28gdGhhdCBpdCBmaXRzIHRoZSByZWd1bGFyIDF4IHNpemUuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoLTJ4IC8gMik7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQtMnggLyAyKTtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDcsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg1LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb290ZXItbGluaztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbmstaG92ZXI7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg1KTtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtLS1ncm93IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDMyMHB4O1xuICAgICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMjBweDtcbiAgICAgICAgICAgICAgZmxleC1iYXNpczogMzIwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2NvcHlyaWdodC1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQgKyBnb3Z1ay1zcGFjaW5nKDIpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC5wbmdcIik7XG4gICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LTJ4LnBuZ1wiKTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtY3VzdG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNywgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAvLyBFbnN1cmUgY29sdW1ucyB0YWtlIHVwIGVxdWFsIHdpZHRoICh0eXBpY2FsbHkgb25lLWhhbGY6b25lLWhhbGYpXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXgtZ3JvdzogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgLy8gTWFrZSBzdXJlIGNvbHVtbnMgZG8gbm90IGRyb3AgYmVsb3cgMjAwcHggaW4gd2lkdGhcbiAgICAgIC8vIFdpbGwgdHlwaWNhbGx5IHJlc3VsdCBpbiB3cmFwcGluZywgYW5kIGVuZCB1cCBpbiBhIHNpbmdsZSBjb2x1bW4gb24gc21hbGxlciBzY3JlZW5zLlxuICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAyMDBweDtcbiAgICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjAwcHg7XG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwMHB4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLy8gU2VjdGlvbnMgdHdvLXRoaXJkOm9uZS10aGlyZCBvbiBkZXNrdG9wXG4gIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMjtcbiAgICAgIC13ZWJraXQtZmxleC1ncm93OiAyO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAyO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGdvdnVrLWd1dHRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgfVxuXG4gIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMiB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0zIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGVhZGVyXCIpIHtcblxuICAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjogJGdvdnVrLWJyYW5kLWNvbG91cjtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG4gICRnb3Z1ay1oZWFkZXItdGV4dDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluazogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1ob3ZlcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU6ICMxZDhmZWI7XG4gICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yOiAjMmUzMTMzO1xuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ7XG5cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lci0tZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZzogMCBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG5cbiAgICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgICByaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXI6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIHtcbiAgICAvLyBGb250IHNpemUgbmVlZHMgdG8gYmUgc2V0IG9uIHRoZSBsaW5rIHNvIHRoYXQgdGhlIGJveCBzaXppbmcgaXMgY29ycmVjdFxuICAgIC8vIGluIEZpcmVmb3hcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyBXZSBkb24ndCBoYXZlIGEgbWl4aW4gdGhhdCBwcm9kdWNlcyAzMHB4IGZvbnQgc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAvLyBOZWdhdGUgdGhlIGFkZGVkIGJvcmRlclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICAgIC8vIE9taXR0aW5nIGNvbG91ciB3aWxsIHVzZSBkZWZhdWx0IHZhbHVlIG9mIGN1cnJlbnRDb2xvciDigJMgaWYgd2VcbiAgICAgIC8vIHNwZWNpZmllZCBjdXJyZW50Q29sb3IgZXhwbGljaXRseSBJRTggd291bGQgaWdub3JlIHRoaXMgcnVsZS5cbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1zZXJ2aWNlLW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ28ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDIsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoOCk7XG5cbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IHRhYmxldCkge1xuICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uLS1vcGVuIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDIsIFwiYm90dG9tXCIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuanMtZW5hYmxlZCB7XG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLWVuZCB7XG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1uby1zZXJ2aWNlLW5hbWUge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbS0tYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rLWFjdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBpbnZlcnRlZCBjcm93biB3aGVuIHByaW50aW5nIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBTVkcuXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG8gbm90IGFwcGVuZCBsaW5rIGhyZWYgdG8gR09WLlVLIGxpbmsgd2hlbiBwcmludGluZyAoZS5nLiAnKC8pJylcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bixcbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7XG4gIH1cblxuICAuZ292dWstaGVhZGVyIHtcbiAgICAkb2Zmc2V0OiAzcHg7XG4gICAgcGFkZGluZy10b3A6ICRvZmZzZXQ7XG4gIH1cbiAgLy8gRW5kIGFkanVzdG1lbnRzXG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgOm9ubHktY2hpbGQsXG4gICAgOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhbmVsXCIpIHtcblxuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbC0tY29uZmlybWF0aW9uIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNik7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi90YWcvdGFnXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGhhc2UtYmFubmVyXCIpIHtcbiAgLmdvdnVrLXBoYXNlLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWdcIikge1xuICAuZ292dWstdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIC8vIFNpbmNlIE5ldyBUcmFuc3BvcnQgc2l0cyBzbGlnaHRseSBoaWdoZXIgdGhhbiBvdGhlciBjb21tb24gZm9udHMuXG4gICAgLy8gV2UgdXNlIGludGVudGlvbmFsbHkgdW5ldmVuIHBhZGRpbmcgdG8gbWFrZSBpdCBiYWxhbmNlZCwgdGhpcyBjYW4gYmVcbiAgICAvLyByZW1vdmVkIHVzaW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBmb250IHRoYXQgaGFzIGEgbW9yZSBjb21tb24gdmVydGljYWwgc3BhY2luZy5cbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuXG4gICAgLy8gV2hlbiBhIHVzZXIgY3VzdG9taXNlcyB0aGVpciBjb2xvdXJzIG9mdGVuIHRoZSBiYWNrZ3JvdW5kIGlzIHJlbW92ZWQsXG4gICAgLy8gYnkgYWRkaW5nIGEgb3V0bGluZSB3ZSBlbnN1cmUgdGhhdCB0aGUgdGFnIGNvbXBvbmVudCBzdGlsbCBrZWVwcyBpdCdzIG1lYW5pbmcuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYnNcIikge1xuXG4gIC5nb3Z1ay10YWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMSwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstdGFic19fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oCUIFwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0gZ292dWstc3BhY2luZyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcblxuICAgICZbYXJpYS1jdXJyZW50ID0gXCJ0cnVlXCJdIHtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5qcy1lbmFibGVkIHtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcblxuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS00XCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmLS1zZWxlY3RlZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAgICAgICAvLyAxcHggaXMgY29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSAxcHggc2hpZnQpXG4gICAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMykgLSAxcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKSArIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAxcHg7XG5cbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg2KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3JhZGlvc1wiKSB7XG4gICRnb3Z1ay1yYWRpb3Mtc2l6ZTogZ292dWstc3BhY2luZyg3KTtcbiAgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIC8vIFdoZW4gdGhlIGRlZmF1bHQgZm9jdXMgd2lkdGggaXMgdXNlZCBvbiBhIGN1cnZlZCBlZGdlIGl0IGxvb2tzIHZpc3VhbGx5IHNtYWxsZXIuXG4gIC8vIFNvIGZvciB0aGUgY2lyY3VsYXIgcmFkaW9zIHdlIGJ1bXAgdGhlIGRlZmF1bHQgdG8gbWFrZSBpdCBsb29rIHZpc3VhbGx5IGNvbnNpc3RlbnQuXG4gICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGg6ICRnb3Z1ay1mb2N1cy13aWR0aCArIDFweDtcblxuICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMCAwIDAgJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4IGRvZXNu4oCZdCBzdXBwb3J0IHBzZXVkb2VsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmUgZWxlbWVudHMgdGhlcmUuIERvdWJsZSBjb2xvbnMgZ2V0IG9tbWl0ZWQgYnkgSUU4LlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBhZGQgZm9jdXMgb3V0bGluZSB0byBpbnB1dCBlbGVtZW50IGZvciBJRThcbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBib3JkZXI6IGdvdnVrLXNwYWNpbmcoMikgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBTaW5jZSBib3gtc2hhZG93cyBhcmUgcmVtb3ZlZCB3aGVuIHVzZXJzIGN1c3RvbWlzZSB0aGVpciBjb2xvdXJzXG4gICAgLy8gV2Ugc2V0IGEgdHJhbnNwYXJlbnQgb3V0bGluZSB0aGF0IGlzIHNob3duIGluc3RlYWQuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJGdvdnVrLWZvY3VzLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyBJbmxpbmUgdmFyaWFudFxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnQgaW5saW5lIG1vZGlmaWVyIGJlaW5nIHVzZWQgd2l0aCBjb25kaXRpb25hbCByZXZlYWxzXG4gICAgJi5nb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgICRnb3Z1ay1kaXZpZGVyLXNpemU6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgd2lkdGg6ICRnb3Z1ay1kaXZpZGVyLXNpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTtcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIHJhZGlvcy5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgcmFkaW9zXG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7IC8vIHdhcyA1cHggNHB4IDRweCAtIHNpemUgb2YgaXQgc2hvdWxkIGJlIGFkanVzdGVkIHRvIG1hdGNoIG90aGVyIGZvcm0gZWxlbWVudHNcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246YWN0aXZlLFxuICAuZ292dWstc2VsZWN0IG9wdGlvbjpjaGVja2VkLFxuICAuZ292dWstc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdC0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9za2lwLWxpbmtcIikge1xuICAuZ292dWstc2tpcC1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFibGVcIikge1xuICAuZ292dWstdGFibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLFxuICAuZ292dWstdGFibGVfX2NlbGwge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KSBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLy8gR09WLlVLIEVsZW1lbnRzIHNldHMgdGhlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHQgZm9yIGFsbCBoZWFkZXJzIGFuZCBjZWxsc1xuICAgIC8vIGluIHRhYmxlcy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkdGFidWxhcjogdHJ1ZSk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlci0tbnVtZXJpYyxcbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGV4dGFyZWFcIikge1xuICAuZ292dWstdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICByZXNpemU6IHZlcnRpY2FsO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI5cHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7IC8vIEhhbGYgdGhlIGhlaWdodCBvZiB0aGUgY2lyY2xlIChhZGp1c3RlZCBmb3IgTlRBKVxuICAgIHBhZGRpbmctdG9wOiAzcHg7XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgdGhlIGJhY2tncm91bmQgY29sb3VyIHdpbGwgb2Z0ZW4gYmUgcmVtb3ZlZC5cbiAgICAvLyBBZGRpbmcgYSBib3JkZXIgdG8gdGhlIGNvbXBvbmVudCBrZWVwcyBpdCdzIHNoYXBlIGFzIGEgY2lyY2xlLlxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvY2xlYXJmaXhcIikge1xuICAuZ292dWstY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCJkaXNwbGF5XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ3aWR0aFwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLy8gRGlyZWN0aW9ucyBmb3Igc3BhY2luZ1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXG4gIFwidG9wXCIsXG4gIFwicmlnaHRcIixcbiAgXCJib3R0b21cIixcbiAgXCJsZWZ0XCJcbikgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtbWFyZ2luLTAge1xuLy8vICAgICAgbWFyZ2luOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLXRvcC0xIHtcbi8vLyAgICAgbWFyZ2luLXRvcDogW3doYXRldmVyIHNwYWNpbmcgcG9pbnQgMSBpcy4uLl1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuXG4gICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skc2NhbGUtcG9pbnR9IHtcblxuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG5cbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwicGFkZGluZ1wiKTtcbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy93aWR0aFwiKSB7XG4gIC5nb3Z1ay1cXCEtd2lkdGgtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtdGhyZWUtcXVhcnRlcnMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10d28tdGhpcmRzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDY2LjY2JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLWhhbGYge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtdGhpcmQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzMuMzMlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlY29tbWVuZGVkIC0gVXNlIHRoZXNlIHN0eWxlcyBmb3IgdGhlIGNoZWNrIHlvdXIgYW5zd2VycyBwYXR0ZXJuXHJcbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDksIFwiYm90dG9tXCIpO1xyXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcbn1cclxuXHJcbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzLS1zaG9ydCB7XHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIC8vIHRvIG1ha2UgZ3JvdXAgb2YgcSZhIGxpbmUgdXAgaG9yaXpvbnRhbGx5ICh1bmxlc3MgdGhlcmUgaXMganVzdCBvbmUgZ3JvdXApXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIHJlY29tbWVuZGVkIGZvciBtb3N0bHkgc2hvcnQgcXVlc3Rpb25zXHJcbiAgICAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fcXVlc3Rpb24ge1xyXG4gICAgICB3aWR0aDogMzAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFwcC1jaGVjay15b3VyLWFuc3dlcnMtLWxvbmcge1xyXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICAvLyB0byBtYWtlIGdyb3VwIG9mIHEmYSBsaW5lIHVwIGhvcml6b250YWxseSAodW5sZXNzIHRoZXJlIGlzIGp1c3Qgb25lIGdyb3VwKVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyByZWNvbW1lbmRlZCBmb3IgbW9zdGx5IGxvbmcgcXVlc3Rpb25zXHJcbiAgICAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fcXVlc3Rpb24ge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFwcC1jaGVjay15b3VyLWFuc3dlcnNfX2NvbnRlbnRzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xyXG5cclxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzX19jb250ZW50czpmaXJzdC1jaGlsZCAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fcXVlc3Rpb24sXHJcbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzX19jb250ZW50czpmaXJzdC1jaGlsZCAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fYW5zd2VyLFxyXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY29udGVudHM6Zmlyc3QtY2hpbGQgLmFwcC1jaGVjay15b3VyLWFuc3dlcnNfX2NoYW5nZSB7XHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmFwcC1jaGVjay15b3VyLWFuc3dlcnNfX3F1ZXN0aW9uLFxyXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fYW5zd2VyLFxyXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY2hhbmdlIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XHJcbiAgICBwYWRkaW5nOiBnb3Z1ay1lbSgxMiwgMTkpIGdvdnVrLWVtKDIwLCAxOSkgZ292dWstZW0oOSwgMTkpIDA7XHJcbiAgfVxyXG59XHJcblxyXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fcXVlc3Rpb24ge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIG1hcmdpbjogZ292dWstZW0oMTIsIDE5KSA0ZW0gZ292dWstZW0oNCwxOSkgMDtcclxuICAvLyB1c2luZyBtYXJnaW4gaW5zdGVhZCBvZiBwYWRkaW5nIGJlY2F1c2Ugb2YgZWFzaWVyIGFic29sdXRlbHkgcG9zaXRpb25pbmcgb2YgLmFwcC1jaGVjay15b3VyLWFuc3dlcnNfX2NoYW5nZVxyXG59XHJcblxyXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fYW5zd2VyIHtcclxuICBwYWRkaW5nLWJvdHRvbTogZ292dWstZW0oOSwgMTkpO1xyXG59XHJcblxyXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY2hhbmdlIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG5cclxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRhc2sgbGlzdCBwYXR0ZXJuXHJcblxyXG4uYXBwLXRhc2stbGlzdCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xyXG4gICAgbWluLXdpZHRoOiA1NTBweDtcclxuICB9XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X19zZWN0aW9uIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOjI0LCAkd2VpZ2h0OiBib2xkKTtcclxufVxyXG5cclxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24tbnVtYmVyIHtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cclxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBtaW4td2lkdGg6IGdvdnVrLXNwYWNpbmcoNik7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmFwcC10YXNrLWxpc3RfX2l0ZW1zIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XHJcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOSwgXCJib3R0b21cIik7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xyXG4gIH1cclxufVxyXG5cclxuLmFwcC10YXNrLWxpc3RfX2l0ZW0ge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcclxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XHJcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XHJcbiAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X190YXNrLW5hbWUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNzUlO1xyXG4gIH1cclxufVxyXG5cclxuLmFwcC10YXNrLWxpc3RfX3Rhc2stY29tcGxldGVkIHtcclxuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xyXG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XHJcblxyXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRoaXMgaXMgYSBHT1YuVUsgUHVibGlzaGluZyBzcGVjaWZpYyBjb21wb25lbnQgdGhhdFxyXG4vLyBjYW4gYmUgc2VlbiBhdCBodHRwOi8vZ292dWstc3RhdGljLmhlcm9rdWFwcC5jb20vY29tcG9uZW50LWd1aWRlL3JlbGF0ZWRfaXRlbXNcclxuXHJcbi5hcHAtcmVsYXRlZC1pdGVtcyB7XHJcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xyXG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xyXG59XHJcblxyXG4uYXBwLXJlbGF0ZWQtaXRlbXMgLmdvdnVrLWxpc3QgPiBsaSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcclxufVxyXG4iLCIuYXBwLWNvb2tpZS1iYW5uZXIge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpO1xyXG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xyXG5cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcclxuICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xyXG4gIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xyXG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKGRlc2F0dXJhdGUoZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSwgOC40NiksIDQyLjU1KTtcclxufVxyXG5cclxuLmFwcC1jb29raWUtYmFubmVyX19tZXNzYWdlIHtcclxuICBtYXJnaW46IDA7XHJcbiAgQGluY2x1ZGUgZ292dWstd2lkdGgtY29udGFpbmVyO1xyXG59XHJcblxyXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcclxuICAuYXBwLWNvb2tpZS1iYW5uZXIge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBd0NRRSxBQU5BLFdBTVcsRUtKWCxDQUFDLENMRlc7RUhhWixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0NHWGpDOztBVmFHLG9MQUFvTDtBQUVwTCxVQUFVO0VBQ1IsV0FBVyxFQUFFLEtBQUs7RUFDbEIsR0FBRyxFVkVDLDRDQUFrQztFVUR0QyxHQUFHLEVWQ0MsbURBQWtDLENVRGdCLDJCQUEyQixFVkM3RSw4Q0FBa0MsQ1VBVyxlQUFlLEVWQTVELDZDQUFrQyxDVUNVLGNBQWM7RUFDOUQsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsWUFBWSxFQUFFLFFBQVE7OztBQUd4QixVQUFVO0VBQ1IsV0FBVyxFQUFFLEtBQUs7RUFDbEIsR0FBRyxFVlRDLDJDQUFrQztFVVV0QyxHQUFHLEVWVkMsa0RBQWtDLENVVWUsMkJBQTJCLEVWVjVFLDZDQUFrQyxDVVdVLGVBQWUsRVZYM0QsNENBQWtDLENVWVMsY0FBYztFQUM3RCxXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZLEVBQUUsUUFBUTs7O0FBR3hCLFVBQVU7RUFDUixXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLEdBQUcsRVZwQkMsb0RBQWtDO0VVcUJ0QyxHQUFHLEVWckJDLDJEQUFrQyxDVXFCd0IsMkJBQTJCLEVWckJyRixzREFBa0MsQ1VzQm1CLGVBQWUsRVZ0QnBFLHFEQUFrQyxDVXVCa0IsY0FBYztFQUN0RSxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixZQUFZ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 */
