@charset "UTF-8";
.govuk-body-m, .govuk-body, p {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
}

.app-check-your-answers {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
}

.govuk-link, a {
  font-family: Arial, sans-serif;
}

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

.pager-items {
  float: right;
  margin: 0;
  display: flex;
  font-family: Arial, sans-serif;
  font-size: 19px;
}

.pager-items li {
  border-right: 1px solid #bfc1c3;
  list-style-type: none;
  border-top: 1px solid #bfc1c3;
  border-bottom: 1px solid #bfc1c3;
  padding: 7px 14px;
  font-size: 0.8em;
}

.pager-items li:first-child {
  border-left: 1px solid #bfc1c3;
}

.pager-items li:hover {
  background-color: lightgrey;
  cursor: pointer;
}

.pager-items li.selected-pagination-item:hover {
  background-color: transparent;
  cursor: default;
}

.pager-items .next a:before, .pager-items .previous a:before {
  background: url("../images/pagination-arrows.png") no-repeat -80px -7px;
  background-position-y: center;
  display: block;
  background-size: 250%;
  content: "\A0\A0\A0\A0";
}

.pager-items .next a:before {
  background-position-x: right;
  float: right;
}

.pager-items .previous a:before {
  background-position-x: left;
  float: left;
}

.govuk-link {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

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

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

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

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

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

@media print {
  .govuk-link[href^="/"]::after, .govuk-link[href^="http://"]::after, .govuk-link[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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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 {
  color: #0b0c0c;
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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 {
    color: #000000;
  }
}

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

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

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

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

.govuk-body-s {
  color: #0b0c0c;
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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,
.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,
  .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,
.govuk-body-s + .govuk-heading-m,
.govuk-list + .govuk-heading-m,
.govuk-body-m + .govuk-heading-s,
.govuk-body + .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,
  .govuk-body-s + .govuk-heading-m,
  .govuk-list + .govuk-heading-m,
  .govuk-body-m + .govuk-heading-s,
  .govuk-body + .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-grid-column-one-quarter-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}

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

.govuk-grid-column-one-third-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}

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

.govuk-grid-column-one-half-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}

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

.govuk-grid-column-two-thirds-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}

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

.govuk-grid-column-three-quarters-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}

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

.govuk-grid-column-full-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}

@media (min-width: 48.0625em) {
  .govuk-grid-column-full-from-desktop {
    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-accordion {
  margin-bottom: 20px;
}

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

.govuk-accordion__section {
  padding-top: 15px;
}

.govuk-accordion__section-header {
  padding-bottom: 15px;
}

.govuk-accordion__section-heading {
  margin-top: 0;
  margin-bottom: 0;
}

.govuk-accordion__section-button {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: inline-block;
  margin-bottom: 0;
  padding-top: 15px;
}

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

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

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

.govuk-accordion__section-summary {
  margin-top: 10px;
  margin-bottom: 0;
}

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

.js-enabled .govuk-accordion {
  border-bottom: 1px solid #bfc1c3;
}

.js-enabled .govuk-accordion__section {
  padding-top: 0;
  border-top: 1px solid #bfc1c3;
}

.js-enabled .govuk-accordion__section-content {
  display: none;
  padding-top: 15px;
  padding-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-accordion__section-content {
    padding-top: 15px;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-accordion__section-content {
    padding-bottom: 15px;
  }
}

.js-enabled .govuk-accordion__section--expanded .govuk-accordion__section-content {
  display: block;
}

.js-enabled .govuk-accordion__open-all {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline;
  border-width: 0;
  color: #005ea5;
  background: none;
  cursor: pointer;
}

@media print {
  .js-enabled .govuk-accordion__open-all {
    font-family: sans-serif;
  }
}

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

@media print {
  .js-enabled .govuk-accordion__open-all {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .js-enabled .govuk-accordion__open-all {
    font-family: sans-serif;
  }
}

.js-enabled .govuk-accordion__open-all:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.js-enabled .govuk-accordion__open-all:focus {
  background: none;
}

.js-enabled .govuk-accordion__section-header {
  position: relative;
  padding-right: 40px;
  cursor: pointer;
}

.js-enabled .govuk-accordion__section-header:hover {
  background-color: #f8f8f8;
}

@media (hover: none) {
  .js-enabled .govuk-accordion__section-header:hover {
    background-color: initial;
  }
}

.js-enabled .govuk-accordion__section-header--focused {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

.js-enabled .govuk-accordion__section-button {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 15px;
  padding-bottom: 0;
  padding-left: 0;
  border-width: 0;
  color: #005ea5;
  background: none;
  text-align: left;
  cursor: pointer;
}

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

.js-enabled .govuk-accordion__section-button:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.js-enabled .govuk-accordion__section-button:focus {
  outline: none;
  background: none;
}

.js-enabled .govuk-accordion__section-button:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.js-enabled .govuk-accordion__controls {
  text-align: right;
}

.js-enabled .govuk-accordion__icon {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
}

.js-enabled .govuk-accordion__icon:after,
.js-enabled .govuk-accordion__icon:before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 25%;
  height: 25%;
  margin: auto;
  border: 2px solid transparent;
  background-color: #0b0c0c;
}

.js-enabled .govuk-accordion__icon:before {
  width: 100%;
}

.js-enabled .govuk-accordion__icon:after {
  height: 100%;
}

.js-enabled .govuk-accordion__section--expanded .govuk-accordion__icon:after {
  content: " ";
  display: none;
}

.govuk-back-link {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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("../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("../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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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-summary-list {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: 0;
  margin-bottom: 20px;
}

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

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

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

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

@media (min-width: 40.0625em) {
  .govuk-summary-list {
    display: table;
    width: 100%;
  }
}

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

@media (max-width: 40.0525em) {
  .govuk-summary-list__row {
    margin-bottom: 15px;
    border-bottom: 1px solid #bfc1c3;
  }
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__row {
    display: table-row;
  }
}

.govuk-summary-list__key,
.govuk-summary-list__value,
.govuk-summary-list__actions {
  margin: 0;
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__key,
  .govuk-summary-list__value,
  .govuk-summary-list__actions {
    display: table-cell;
    padding-right: 20px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__key,
  .govuk-summary-list__value,
  .govuk-summary-list__actions {
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #bfc1c3;
  }
}

.govuk-summary-list__actions {
  margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__actions {
    padding-right: 0;
    text-align: right;
  }
}

.govuk-summary-list__key {
  margin-bottom: 5px;
  font-weight: 700;
  word-break: break-word;
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__key {
    width: 30%;
  }
}

@media (max-width: 40.0525em) {
  .govuk-summary-list__value {
    margin-bottom: 15px;
  }
}

.govuk-summary-list__value > p {
  margin-bottom: 10px;
}

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

.govuk-summary-list__actions-list {
  width: 100%;
  margin: 0;
  padding: 0;
}

.govuk-summary-list__actions-list-item {
  display: inline;
  margin-right: 10px;
  padding-right: 10px;
}

.govuk-summary-list__actions-list-item:not(:last-child) {
  border-right: 1px solid #bfc1c3;
}

.govuk-summary-list__actions-list-item:last-child {
  margin-right: 0;
  padding-right: 0;
  border: 0;
}

.govuk-summary-list--no-border .govuk-summary-list__key,
.govuk-summary-list--no-border .govuk-summary-list__value,
.govuk-summary-list--no-border .govuk-summary-list__actions,
.govuk-summary-list--no-border .govuk-summary-list__row {
  border: 0;
}

.govuk-input {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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("../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("../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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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,
.govuk-header__content {
  box-sizing: border-box;
}

.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: 15px;
    float: left;
    vertical-align: top;
  }
}

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

.govuk-header__menu-button {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: 0 !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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: 0 !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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif !important;
  -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: 0 !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: 0 !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;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaW50LWludGVybmFsLmNzcyIsInNvdXJjZXMiOlsic3ByaW50LWludGVybmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19hc3NldHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19nbG9iYWwtc3R5bGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbG91cnMtcGFsZXR0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb2xvdXJzLW9yZ2FuaXNhdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29sb3Vycy1hcHBsaWVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fY29sb3VyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fbWVhc3VyZW1lbnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3R5cG9ncmFwaHktZm9udC1mYW1pbGllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fdHlwb2dyYXBoeS1yZXNwb25zaXZlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19jb21wYXRpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2V4cG9ydHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fZm9udC11cmwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9faWU4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2lmZi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19pbWFnZS11cmwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fcHgtdG8tZW0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fcHgtdG8tcmVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19kZXZpY2UtcGl4ZWxzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZm9jdXNhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZm9udC1mYWNlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX21lZGlhLXF1ZXJpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC92ZW5kb3IvX3Nhc3MtbXEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19zaGFwZS1hcnJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fbGlua3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19saXN0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX3RlbXBsYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX3NlY3Rpb24tYnJlYWsuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19nbG9iYWwtc3R5bGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fZm9ybS1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19tYWluLXdyYXBwZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL193aWR0aC1jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2FjY29yZGlvbi9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9iYWNrLWxpbmsvX2JhY2stbGluay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9idXR0b24vX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvY2hlY2tib3hlcy9fY2hlY2tib3hlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9fZXJyb3ItbWVzc2FnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZmllbGRzZXQvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9oaW50L19oaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9sYWJlbC9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2NoYXJhY3Rlci1jb3VudC9fY2hhcmFjdGVyLWNvdW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9zdW1tYXJ5LWxpc3QvX3N1bW1hcnktbGlzdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9fZGF0ZS1pbnB1dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaW5wdXQvX2lucHV0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9kZXRhaWxzL19kZXRhaWxzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9lcnJvci1zdW1tYXJ5L19lcnJvci1zdW1tYXJ5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9maWxlLXVwbG9hZC9fZmlsZS11cGxvYWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Zvb3Rlci9fZm9vdGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaW5zZXQtdGV4dC9faW5zZXQtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvcGFuZWwvX3BhbmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9waGFzZS1iYW5uZXIvX3BoYXNlLWJhbm5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGFnL190YWcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RhYnMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3JhZGlvcy9fcmFkaW9zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9zZWxlY3QvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvc2tpcC1saW5rL19za2lwLWxpbmsuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RhYmxlL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvdGV4dGFyZWEvX3RleHRhcmVhLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX3dhcm5pbmctdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3V0aWxpdGllcy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdXRpbGl0aWVzL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3V0aWxpdGllcy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vdmVycmlkZXMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vdmVycmlkZXMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vdmVycmlkZXMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vdmVycmlkZXMvX3dpZHRoLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9hbGxcIjtcblxuLy8gT3ZlcnJpZGUgdGhlIGdvdnVrLWZyb250ZW5kIGZvbnQgc3RhY2tcbiRnb3Z1ay1mb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG5cbi5nb3Z1ay1ib2R5LW0sIC5nb3Z1ay1ib2R5LCBwIHsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjsgfVxuXG4uYXBwLWNoZWNrLXlvdXItYW5zd2VycyB7IGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgfVxuXG4uZ292dWstbGluaywgYSB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uZ292dWstdGFnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlci1pdGVtcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmZjMWMzO1xuICAgICAgICBwYWRkaW5nOiA3cHggMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2JmYzFjMztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZC1wYWdpbmF0aW9uLWl0ZW06aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5uZXh0IGE6YmVmb3JlLCAucHJldmlvdXMgYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9wYWdpbmF0aW9uLWFycm93cy5wbmcnKSBuby1yZXBlYXQgLTgwcHggLTdweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1MCU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxBMFxcQTBcXEEwXFxBMFwiO1xuICAgIH1cblxuICAgIC5uZXh0IGE6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiByaWdodDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5wcmV2aW91cyBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogbGVmdDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG5cblxuXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2FsbFwiO1xuXG4vLyBJZiB5b3UgbmVlZCB0byBjcmVhdGUgYSBwYWdlIGFzIHBhcnQgb2YgeW91ciBqb3VybmV5LCBidXQgd2l0aG91dCBHT1YuVUsgYnJhbmRpbmdcbi8vIFNlZSBsb2NhbGhvc3Q6MzAwMC9kb2NzL2V4YW1wbGVzL2JsYW5rLXVuYnJhbmRlZFxuIiwiLy8gVGhlIG9yZGVyIHdlIGltcG9ydCBzZXR0aW5ncyBpbiBpcyBpbXBvcnRhbnQsIGFzIHNvbWUgc2V0dGluZ3MgZmlsZXMgcmVseSBvblxuLy8gb3RoZXJzXG5cbkBpbXBvcnQgXCJhc3NldHNcIjtcblxuQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG5AaW1wb3J0IFwiaWU4XCI7XG5cbkBpbXBvcnQgXCJtZWRpYS1xdWVyaWVzXCI7XG5cbkBpbXBvcnQgXCJjb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLWFwcGxpZWRcIjtcblxuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJtZWFzdXJlbWVudHNcIjtcblxuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udC1mYW1pbGllc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udFwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktcmVzcG9uc2l2ZVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9hc3NldHNcbi8vLy9cblxuLy8vIFBhdGggdG8gdGhlIGFzc2V0cyBkaXJlY3RvcnksIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBUaGlzIGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGltYWdlcyBhbmQgZm9udHMgc3ViZGlyZWN0b3JpZXMgbGl2ZS4gWW91XG4vLy8gd2lsbCBuZWVkIHRvIG1ha2UgdGhpcyBkaXJlY3RvcnkgYXZhaWxhYmxlIHZpYSB5b3VyIGFwcGxpY2F0aW9uIOKAkyBzZWUgdGhlXG4vLy8gUkVBRE1FIGZvciBkZXRhaWxzLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWFzc2V0cy1wYXRoOiBcIi9hc3NldHMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBpbWFnZXMgZm9sZGVyLCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWltYWdlcy1wYXRoOiBcIiN7JGdvdnVrLWFzc2V0cy1wYXRofWltYWdlcy9cIiAhZGVmYXVsdDtcblxuLy8vIFBhdGggdG8gdGhlIGZvbnRzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250cy1wYXRoOiBcIiN7JGdvdnVrLWFzc2V0cy1wYXRofWZvbnRzL1wiICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9tIGltYWdlIFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGltYWdlIFVSTCBoZWxwZXIgZG9lcyBub3QgbWVldCB5b3VyIG5lZWRzLCB5b3UgY2FuIHNwZWNpZnlcbi8vLyB0aGUgbmFtZSBvZiBhIGN1c3RvbSBoYW5kbGVyIOKAkyBlaXRoZXIgYnVpbHQgaW4gb3IgYnkgd3JpdGluZyB5b3VyIG93blxuLy8vIGZ1bmN0aW9uLlxuLy8vXG4vLy8gSWYgeW91IGFyZSB3cml0aW5nIHlvdXIgb3duIGhhbmRsZXIsIGVuc3VyZSB0aGF0IGl0IHJldHVybnMgYSBzdHJpbmcgd3JhcHBlZFxuLy8vIHdpdGggYHVybCgpYFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUmFpbHMgYXNzZXQgaGFuZGxpbmdcbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdpbWFnZS11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS5qcGcnKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgJGdvdnVrLWltYWdlLXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9tIGZvbnQgVVJMIGZ1bmN0aW9uXG4vLy9cbi8vLyBJZiB0aGUgYnVpbHQtaW4gZm9udCBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstZm9udC11cmwtZnVuY3Rpb246ICdmb250LXVybCc7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9tIGFzc2V0IGhhbmRsaW5nXG4vLy9cbi8vLyAgIEBmdW5jdGlvbiBteS11cmwtaGFuZGxlcigkZmlsZW5hbWUpIHtcbi8vLyAgICAgLy8gU29tZSBjdXN0b20gVVJMIGhhbmRsaW5nXG4vLy8gICAgIEByZXR1cm4gdXJsKCdleGFtcGxlLndvZmYnKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnbXktdXJsLWhhbmRsZXInO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBDb21wYXRpYmlsaXR5IHdpdGggbGVnYWN5IHJlcG9zIChnb3Z1a19lbGVtZW50cywgZ292dWtfZnJvbnRlbmRfdG9va2tpdCBhbmRcbi8vLyBnb3Z1a190ZW1wbGF0ZSkgc2V0dGluZ3Ncbi8vL1xuLy8vIFdlIGRlZmF1bHQgdGhlc2Ugc2V0dGluZ3MgdG8gYHRydWVgIHNvIHRoYXQgaWYgdGhleSBhcmUgbWlzc2VkIHdlIG9wdCBmb3IgYVxuLy8vIG1pbGQgcGVyZm9ybWFuY2UgaGl0IG92ZXIgYSBwb3RlbnRpYWwgYnJva2VuIGV4cGVyaWVuY2UgZm9yIHRoZSBlbmQtdXNlci5cbi8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb21wYXRpYmlsaXR5XG4vLy8vXG5cblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdFxuLy8vXG4vLy8gVHJ1ZSBpZiB1c2VkIGluIGEgcHJvamVjdCB0aGF0IGFsc28gaW5jbHVkZXMgYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX3RlbXBsYXRlXG4vLy9cbi8vLyBUcnVlIGlmIHVzZWQgaW4gYSBwcm9qZWN0IHRoYXQgYWxzbyBpbmNsdWRlcyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZS5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a3RlbXBsYXRlOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHNcbi8vL1xuLy8vIFRydWUgaWYgdXNlZCBpbiBhIHByb2plY3QgdGhhdCBhbHNvIGluY2x1ZGVzIGFscGhhZ292L2dvdnVrX2VsZW1lbnRzLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ29tcGF0aWJpbGl0eSBQcm9kdWN0IE1hcFxuLy8vXG4vLy8gTWFwcyBwcm9kdWN0IG5hbWVzIHRvIHRoZWlyIHNldHRpbmdzIHRoYXQgd2UgY2FuIHVzZSB0byBsb29rdXAgc3RhdGVzIGZyb21cbi8vLyB3aXRoaW4gdGhlIGBAZ292dWstY29tcGF0aWJpbGl0eWAgbWl4aW4uXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9nb3Z1ay1jb21wYXRpYmlsaXR5OiAoXG4gIGdvdnVrX2Zyb250ZW5kX3Rvb2xraXQ6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0LFxuICBnb3Z1a190ZW1wbGF0ZTogJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSxcbiAgZ292dWtfZWxlbWVudHM6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHMsXG4pO1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9nbG9iYWwtc3R5bGVzXG4vLy8vXG5cbi8vLyBJbmNsdWRlICdnbG9iYWwnIHN0eWxlc1xuLy8vXG4vLy8gV2hldGhlciB0byBzdHlsZSBwYXJhZ3JhcGhzIChgPHA+YCkgYW5kIGxpbmtzIChgPGE+YCkgd2l0aG91dCBleHBsaWNpdGx5XG4vLy8gaGF2aW5nIHRvIGFwcGx5IHRoZSBgZ292dWstYm9keWAgYW5kIGBnb3Z1ay1saW5rYCBjbGFzc2VzLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1nbG9iYWwtc3R5bGVzOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvaWU4XG4vLy8vXG5cbi8vLyBXaGV0aGVyIHRoZSBzdHlsZXNoZWV0IGJlaW5nIGJ1aWx0IGlzIHRhcmdldGluZyBJbnRlcm5ldCBFeHBsb3JlciA4LlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pcy1pZTg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgdG8gdXNlIGFzIHRoZSB0YXJnZXQgd2hlbiByYXN0ZXJpemluZyBtZWRpYVxuLy8vIHF1ZXJpZXNcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pZTgtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVkaWEtcXVlcmllc1xuLy8vL1xuXG4vLy8gQnJlYWtwb2ludCBkZWZpbml0aW9uc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyZWFrcG9pbnRzOiAoXG4gIG1vYmlsZTogIDMyMHB4LFxuICB0YWJsZXQ6ICA2NDFweCxcbiAgZGVza3RvcDogNzY5cHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGFjdGl2ZSBicmVha3BvaW50IGluIHRvcC1yaWdodCBjb3JuZXIuXG4vLy9cbi8vLyBPbmx5IHVzZSB0aGlzIGR1cmluZyBsb2NhbCBkZXZlbG9wbWVudC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2hvdy1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIENvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRjb2xvdXIgLSBSZXByZXNlbnRhdGlvbiBmb3IgdGhlIGdpdmVuICRjb2xvdXIsIHdoZXJlICRjb2xvdXIgaXMgdGhlXG4vLy8gICBmcmllbmRseSBuYW1lIGZvciB0aGUgY29sb3VyIChlLmcuIFwicmVkXCI6ICNmZjAwMDApO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnM6IChcbiAgXCJwdXJwbGVcIjogIzJlMzU4YixcbiAgXCJsaWdodC1wdXJwbGVcIjogIzZmNzJhZixcbiAgXCJicmlnaHQtcHVycGxlXCI6ICM5MTJiODgsXG4gIFwicGlua1wiOiAjZDUzODgwLFxuICBcImxpZ2h0LXBpbmtcIjogI2Y0OTliZSxcbiAgXCJyZWRcIjogI2IxMGUxZSxcbiAgXCJicmlnaHQtcmVkXCI6ICNkZjMwMzQsXG4gIFwib3JhbmdlXCI6ICNmNDc3MzgsXG4gIFwiYnJvd25cIjogI2I1ODg0MCxcbiAgXCJ5ZWxsb3dcIjogI2ZmYmY0NyxcbiAgXCJsaWdodC1ncmVlblwiOiAjODU5OTRiLFxuICBcImdyZWVuXCI6ICMwMDY0MzUsXG4gIFwidHVycXVvaXNlXCI6ICMyOGExOTcsXG4gIFwibGlnaHQtYmx1ZVwiOiAjMmI4Y2M0LFxuICBcImJsdWVcIjogIzAwNWVhNSxcblxuICBcImJsYWNrXCI6ICMwYjBjMGMsXG4gIFwiZ3JleS0xXCI6ICM2Zjc3N2IsXG4gIFwiZ3JleS0yXCI6ICNiZmMxYzMsXG4gIFwiZ3JleS0zXCI6ICNkZWUwZTIsXG4gIFwiZ3JleS00XCI6ICNmOGY4ZjgsXG4gIFwid2hpdGVcIjogI2ZmZmZmZlxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29sb3Vyc1xuLy8vL1xuXG4vLy8gT3JnYW5pc2F0aW9uIGNvbG91cnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXIgLSBDb2xvdXIgZm9yIHRoZSBnaXZlbiBgJG9yZ2FuaXNhdGlvbmBcbi8vLyBAcHJvcCAkb3JnYW5pc2F0aW9uLmNvbG91ci13ZWJzYWZlIC0gV2Vic2FmZSBjb2xvdXIgZm9yIHRoZSBnaXZlblxuLy8vICAgYCRvcmdhbmlzYXRpb25gLiBXZSB1c2UgYHdlYnNhZmVgIHRvIG1lYW4gc3Ryb25nIGVub3VnaCBjb250cmFzdCBhZ2FpbnN0XG4vLy8gICB3aGl0ZSB0byBiZSB1c2VkIGZvciBjb3B5IGFuZCBtZWV0IHRoZSBBQUEgKGxhcmdlIHRleHQpIGFuZCBBQSAoc21hbGxlclxuLy8vICAgY29weSkgV0NBRyBndWlkZWxpbmVzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnMtb3JnYW5pc2F0aW9uczogKFxuICBcImF0dG9ybmV5LWdlbmVyYWxzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOWYxODg4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjYTAzYTg4XG4gICksXG4gIFwiY2FiaW5ldC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwNWFiYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM0N2RhNFxuICApLFxuICBcImNpdmlsLXNlcnZpY2VcIjogKFxuICAgIGNvbG91cjogI2FmMjkyZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWJ1c2luZXNzLWlubm92YXRpb24tc2tpbGxzXCI6IChcbiAgICBjb2xvdXI6ICMwMDM0NzksXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1jb21tdW5pdGllcy1hbmQtbG9jYWwtZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA4NTdlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzc4MzZlXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY3VsdHVyZS1tZWRpYS1zcG9ydFwiOiAoXG4gICAgY29sb3VyOiAjZDQwMDcyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjYTAzMTU1XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZWR1Y2F0aW9uXCI6IChcbiAgICBjb2xvdXI6ICMwMDNhNjksXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdjYTlcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1lbnZpcm9ubWVudC1mb29kLXJ1cmFsLWFmZmFpcnNcIjogKFxuICAgIGNvbG91cjogIzAwYTMzYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODkzOFxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWludGVybmF0aW9uYWwtZGV2ZWxvcG1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwMjg3OCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWU5YVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWludGVybmF0aW9uYWwtdHJhZGVcIjogKFxuICAgIGNvbG91cjogI2NmMTAyZCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXRyYW5zcG9ydFwiOiAoXG4gICAgY29sb3VyOiAjMDA2YzU2LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzczXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3Itd29yay1wZW5zaW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMDBiZWI3LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzc4MDdiXG4gICksXG4gIFwiZGVwYXJ0bWVudC1vZi1lbmVyZ3ktY2xpbWF0ZS1jaGFuZ2VcIjogKFxuICAgIGNvbG91cjogIzAwOWRkYixcbiAgICBjb2xvdXItd2Vic2FmZTogIzJiN2NhY1xuICApLFxuICBcImRlcGFydG1lbnQtb2YtaGVhbHRoXCI6IChcbiAgICBjb2xvdXI6ICMwMGFkOTMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzOTgzNmVcbiAgKSxcbiAgXCJmb3JlaWduLWNvbW1vbndlYWx0aC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwM2U3NCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNmU5N1xuICApLFxuICBcImdvdmVybm1lbnQtZXF1YWxpdGllcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogICM5MzI1YjJcbiAgKSxcbiAgXCJobS1nb3Zlcm5tZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDc2YzAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJobS1yZXZlbnVlLWN1c3RvbXNcIjogKFxuICAgIGNvbG91cjogIzAwOTM5MCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODY3MFxuICApLFxuICBcImhtLXRyZWFzdXJ5XCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM4MzIzMjJcbiAgKSxcbiAgXCJob21lLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOTMyNWIyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjOTQ0MGIyXG4gICksXG4gIFwibWluaXN0cnktb2YtZGVmZW5jZVwiOiAoXG4gICAgY29sb3VyOiAjNGQyOTQyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibWluaXN0cnktb2YtanVzdGljZVwiOiAoXG4gICAgY29sb3VyOiAjMjMxZjIwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibm9ydGhlcm4taXJlbGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzNlNTk4Y1xuICApLFxuICBcIm9mZmljZS1vZi10aGUtYWR2b2NhdGUtZ2VuZXJhbC1mb3Itc2NvdGxhbmRcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIm9mZmljZS1vZi10aGUtbGVhZGVyLW9mLXRoZS1ob3VzZS1vZi1jb21tb25zXCI6IChcbiAgICBjb2xvdXI6ICMzMTcwMjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVmOGZcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtbG9yZHNcIjogKFxuICAgIGNvbG91cjogIzljMTMyZSxcbiAgICBjb2xvdXItd2Vic2FmZTogI2MyMzk1ZFxuICApLFxuICBcInNjb3RsYW5kLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjMDAyNjYzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNDA1YzhhXG4gICksXG4gIFwidWstZXhwb3J0LWZpbmFuY2VcIjogKFxuICAgIGNvbG91cjogIzAwNTc0NyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcInVrLXRyYWRlLWludmVzdG1lbnRcIjogKFxuICAgIGNvbG91cjogI2M4MDY1MSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIndhbGVzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjYTMzMDM4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjN2EyNDJhXG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL2hlbHBlcnMvY29sb3VyXCI7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQnJhbmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJhbmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBDYW52YXMgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgYnkgdGhlIGZvb3RlciBjb21wb25lbnQgYW5kIHRlbXBsYXRlIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTNcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb2R5IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91ciBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFVzZSAndHJ1ZSBibGFjaycgdG8gYXZvaWQgcHJpbnRlcnMgdXNpbmcgY29sb3VyIGluayB0byBwcmludCBib2R5IHRleHRcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSB0ZXh0IGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgJ211dGVkJyB0ZXh0LCBoZWxwIHRleHQsIGV0Yy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZXktMVwiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3Igb3V0bGluZSAoYW5kIGJhY2tncm91bmQsIHdoZXJlIGFwcHJvcHJpYXRlKSB3aGVuIGludGVyYWN0aXZlXG4vLy8gZWxlbWVudHMgKGxpbmtzLCBmb3JtIGNvbnRyb2xzKSBoYXZlIGtleWJvYXJkIGZvY3VzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLWNvbG91cjogZ292dWstY29sb3VyKFwieWVsbG93XCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXNlZCB0ZXh0IGNvbG91clxuLy8vXG4vLy8gRW5zdXJlIHRoYXQgdGhlIGNvbnRyYXN0IGJldHdlZW4gdGhlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3VyIHBhc3Nlc1xuLy8vIFdDQUcgTGV2ZWwgQUEgY29udHJhc3QgcmVxdWlyZW1lbnRzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIEVycm9yIGNvbG91clxuLy8vXG4vLy8gVXNlZCB0byBoaWdobGlnaHQgZXJyb3IgbWVzc2FnZXMgYW5kIGZvcm0gY29udHJvbHMgaW4gYW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1lcnJvci1jb2xvdXI6IGdvdnVrLWNvbG91cihcInJlZFwiKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGJvcmRlcnMsIHNlcGFyYXRvcnMsIHJ1bGVzLCBrZXlsaW5lcyBldGMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JleS0yXCIpICFkZWZhdWx0O1xuXG4vLy8gSW5wdXQgYm9yZGVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgZm9ybSBpbnB1dHMgYW5kIGNvbnRyb2xzXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBMaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVmlzaXRlZCBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI6ICM0YzJjOTIgIWRlZmF1bHQ7XG5cbi8vLyBMaW5rIGhvdmVyIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstaG92ZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGxpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1hY3RpdmUtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ibHVlXCIpICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2NvbG91cnMtcGFsZXR0ZVwiO1xuQGltcG9ydCBcIi4uL3NldHRpbmdzL2NvbG91cnMtb3JnYW5pc2F0aW9uc1wiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvY29sb3VyXG4vLy8vXG5cbi8vLyBHZXQgY29sb3VyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNvbG91ciAtIE5hbWUgb2YgY29sb3VyIGZyb20gdGhlIGNvbG91ciBwYWxldHRlXG4vLy8gICAoYCRnb3Z1ay1jb2xvdXJzYClcbi8vLyBAcmV0dXJuIHtDb2xvdXJ9IFJlcHJlc2VudGF0aW9uIG9mIG5hbWVkIGNvbG91clxuLy8vIEB0aHJvdyBpZiBgJGNvbG91cmAgaXMgbm90IGEgY29sb3VyIGZyb20gdGhlIGNvbG91ciBwYWxldHRlXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWNvbG91cigkY29sb3VyKSB7XG4gICRjb2xvdXI6IHF1b3RlKCRjb2xvdXIpO1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIGNvbG91ciBgI3skY29sb3VyfWBcIjtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkZ292dWstY29sb3VycywgJGNvbG91cik7XG59XG5cbi8vLyBHZXQgdGhlIGNvbG91ciBmb3IgYSBnb3Zlcm5tZW50IG9yZ2FuaXNhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcmdhbmlzYXRpb24gLSBPcmdhbmlzYXRpb24gbmFtZSwgbG93ZXJjYXNlLCBoeXBoZW5hdGVkXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd2Vic2FmZSBbdHJ1ZV0gLSBCeSBkZWZhdWx0IGEgJ3dlYnNhZmUnIHZlcnNpb24gb2YgdGhlXG4vLy8gICBjb2xvdXIgd2lsbCBiZSByZXR1cm5lZCB3aGljaCBtZWV0cyBjb250cmFzdCByZXF1aXJlbWVudHMgLiBJZiB5b3Ugd2FudCB0b1xuLy8vICAgdXNlIHRoZSBub24td2Vic2FmZSB2ZXJzaW9uIHlvdSBjYW4gc2V0IHRoaXMgdG8gYGZhbHNlYCBidXQgeW91ciBzaG91bGRcbi8vLyAgIGVuc3VyZSB0aGF0IHlvdSBzdGlsbCBtZWV0cyBjb250cmFzdCByZXF1aXJlbWVudHMgZm9yIGFjY2Vzc2liaWxpdHkgLSBmb3Jcbi8vLyAgIGV4YW1wbGUsIGRvbid0IHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiBmb3IgdGV4dC5cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG91cn0gUmVwcmVzZW50YXRpb24gb2YgY29sb3VyIGZvciBvcmdhbmlzYXRpb25cbi8vLyBAdGhyb3cgaWYgYCRvcmdhbmlzYXRpb25gIGlzIG5vdCBhIGtub3duIG9yZ2FuaXNhdGlvblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1vcmdhbmlzYXRpb24tY29sb3VyKCRvcmdhbmlzYXRpb24sICR3ZWJzYWZlOiB0cnVlKSB7XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLWNvbG91cnMtb3JnYW5pc2F0aW9ucywgJG9yZ2FuaXNhdGlvbikge1xuICAgIEBlcnJvciBcIlVua25vd24gb3JnYW5pc2F0aW9uIGAjeyRvcmdhbmlzYXRpb259YFwiO1xuICB9XG5cbiAgJG9yZy1jb2xvdXI6IG1hcC1nZXQoJGdvdnVrLWNvbG91cnMtb3JnYW5pc2F0aW9ucywgJG9yZ2FuaXNhdGlvbik7XG5cbiAgQGlmICgkd2Vic2FmZSBhbmQgbWFwLWhhcy1rZXkoJG9yZy1jb2xvdXIsIGNvbG91ci13ZWJzYWZlKSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkb3JnLWNvbG91ciwgY29sb3VyLXdlYnNhZmUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG9yZy1jb2xvdXIsIGNvbG91cik7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3Mvc3BhY2luZ1xuLy8vL1xuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmcgdmFyaWFibGVzLiBBY2Nlc3MgdXNpbmcgYGdvdnVrLXNwYWNpbmcoKWBcbi8vLyAoc2VlIGBoZWxwZXJzL3NwYWNpbmdgKS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kZ292dWstc3BhY2luZy1wb2ludHM6IChcbiAgMDogMCxcbiAgMTogNXB4LFxuICAyOiAxMHB4LFxuICAzOiAxNXB4LFxuICA0OiAyMHB4LFxuICA1OiAyNXB4LFxuICA2OiAzMHB4LFxuICA3OiA0MHB4LFxuICA4OiA1MHB4LFxuICA5OiA2MHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBzcGFjaW5nIG1hcHNcbi8vL1xuLy8vIFRoZXNlIGRlZmluaXRpb25zIGFyZSB1c2VkIHRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZyB0aGF0IGFkYXB0c1xuLy8vIGFjY29yZGluZyB0byB0aGUgYnJlYWtwb2ludHMgKHNlZSAnaGVscGVycy9zcGFjaW5nJykuIFRoZXNlIG1hcHMgc2hvdWxkIGJlXG4vLy8gdXNlZCB3aGVyZXZlciBwb3NzaWJsZSB0byBzdGFuZGFyZGlzZSByZXNwb25zaXZlIHNwYWNpbmcuXG4vLy9cbi8vLyBZb3UgY2FuIGRlZmluZSBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJ1xuLy8vIGJyZWFrcG9pbnQgaXMgZm9yIG1vYmlsZS5cbi8vL1xuLy8vIEFjY2VzcyByZXNwb25zaXZlIHNwYWNpbmcgd2l0aCBgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW5gIG9yXG4vLy8gYGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZ2AgbWl4aW5zIChzZWUgYGhlbHBlcnMvc3BhY2luZ2ApLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGU6IChcbiAgMDogKFxuICAgIG51bGw6IDAsXG4gICAgdGFibGV0OiAwXG4gICksXG4gIDE6IChcbiAgICBudWxsOiA1cHgsXG4gICAgdGFibGV0OiA1cHhcbiAgKSxcbiAgMjogKFxuICAgIG51bGw6IDEwcHgsXG4gICAgdGFibGV0OiAxMHB4XG4gICksXG4gIDM6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMTVweFxuICApLFxuICA0OiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDIwcHhcbiAgKSxcbiAgNTogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAyNXB4XG4gICksXG4gIDY6IChcbiAgICBudWxsOiAyMHB4LFxuICAgIHRhYmxldDogMzBweFxuICApLFxuICA3OiAoXG4gICAgbnVsbDogMjVweCxcbiAgICB0YWJsZXQ6IDQwcHhcbiAgKSxcbiAgODogKFxuICAgIG51bGw6IDMwcHgsXG4gICAgdGFibGV0OiA1MHB4XG4gICksXG4gIDk6IChcbiAgICBudWxsOiA0MHB4LFxuICAgIHRhYmxldDogNjBweFxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9tZWFzdXJlbWVudHNcbi8vLy9cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGFnZSBsYXlvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gV2lkdGggb2YgbWFpbiBjb250YWluZXJcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wYWdlLXdpZHRoOiA5NjBweCAhZGVmYXVsdDtcblxuLy8vIE1hcCBvZiBncmlkIGNvbHVtbiB3aWR0aHNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ncmlkLXdpZHRoczogKFxuICBvbmUtcXVhcnRlcjogMjUlLFxuICBvbmUtdGhpcmQ6IDMzLjMzMzMlLFxuICBvbmUtaGFsZjogNTAlLFxuICB0d28tdGhpcmRzOiA2Ni42NjY2JSxcbiAgdGhyZWUtcXVhcnRlcnM6IDc1JSxcbiAgZnVsbDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGd1dHRlciBiZXR3ZWVuIGdyaWQgY29sdW1uc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGhhbGYgdGhlIGd1dHRlciBiZXR3ZWVuIGdyaWQgY29sdW1uc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWd1dHRlci1oYWxmOiAkZ292dWstZ3V0dGVyIC8gMjtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQm9yZGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBTdGFuZGFyZCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGg6IDVweCAhZGVmYXVsdDtcblxuLy8vIFdpZGUgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLXdpZGU6IDEwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb24gbW9iaWxlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTogNHB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBjb250cm9sIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ6IDJweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGggd2hlbiBpbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3I6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gZ3JvdXAgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1ncm91cC1lcnJvcjogJGdvdnVrLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBvZiBmb2N1cyBvdXRsaW5lXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtd2lkdGg6IDNweCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvdHlwb2dyYXBoeVxuLy8vL1xuXG4vLy8gTGlzdCBvZiBmb250IGZhbWlsaWVzIHRvIHVzZSBpZiB1c2luZyBOVEEgKHRoZSBkZWZhdWx0IGZvbnQgJ3N0YWNrJyBmb3Jcbi8vLyBHT1YuVUspXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LW50YTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vLyBMaXN0IG9mIGZvbnQgZmFtaWxpZXMgdG8gdXNlIGlmIHVzaW5nIHRoZSAndGFidWxhciBudW1iZXJzJyBzdWJzZXQgb2YgTlRBXG4vLy8gKHRoZSBkZWZhdWx0IGZvbnQgJ3N0YWNrJyBmb3IgR09WLlVLKVxuLy8vXG4vLy8gQmVjYXVzZSBudGF0YWJ1bGFybnVtYmVycyBvbmx5IGluY2x1ZGVzIHRoZSBkaWdpdHMgMC0xMCwgYWxsIG90aGVyIGdseXBoc1xuLy8vIHdpbGwgJ2ZhbGwtdGhyb3VnaCcgdGhlIHN0YWNrIHRvIE5UQS5cbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXI6IFwibnRhdGFidWxhcm51bWJlcnNcIiwgJGdvdnVrLWZvbnQtZmFtaWx5LW50YTtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvdHlwb2dyYXBoeVxuLy8vL1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IGZhbWlsaWVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgZmFtaWxpZXMgdG8gdXNlIGZvciBhbGwgdHlwb2dyYXBoeSBvbiBzY3JlZW4gbWVkaWFcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseS1udGEgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSB3aGVuIGRpc3BsYXlpbmcgdGFidWxhciBudW1iZXJzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXI6ICRnb3Z1ay1mb250LWZhbWlseS1udGEtdGFidWxhciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWxpZXMgdG8gdXNlIGZvciBwcmludCBtZWRpYVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1wcmludDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCB3ZWlnaHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgd2VpZ2h0IGZvciByZWd1bGFyIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJvbGQgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vIFdoZXRoZXIgb3Igbm90IHRvIGRlZmluZSBmb250IHNpemVzIGluIHJlbSwgaW1wcm92aW5nIGFjY2Vzc2liaWxpdHkgYnlcbi8vLyBhbGxvd2luZyB1c2VycyB0byBhZGp1c3QgdGhlIGJhc2UgZm9udC1zaXplLiBUaGlzIGlzIGN1cnJlbnRseSBvZmYgYnlcbi8vLyBkZWZhdWx0LCBidXQgd2lsbCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHByb2plY3RzIHRoYXQgZG8gbm90IHVzZVxuLy8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG4vLy9cbi8vLyBJZiB0aGlzIGlzIGVuYWJsZWQsIHlvdSBzaG91bGQgbWFrZSBzdXJlIHRoYXQgJGdvdnVrLXJvb3QtZm9udC1zaXplIGlzIHNldFxuLy8vIGNvcnJlY3RseSBmb3IgeW91ciBwcm9qZWN0XG4vLy9cbi8vLyBJZiBhbnkgb2YgdGhlIGNvbXBhdGliaWxpdHkgdmFyaWFibGVzIGFyZSBzZXQsIHRoZW4gZGVmYXVsdFxuLy8vIHJlc3BvbnNpdmUgdHlwb2dyYXBoeSB0byBvZmYuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbTogaWYoKFxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0IG9yXG4gICAgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHNcbiAgKSwgZmFsc2UsIHRydWUpICFkZWZhdWx0O1xuXG4vLy8gUm9vdCBmb250IHNpemVcbi8vL1xuLy8vIFRoaXMgaXMgdXNlZCB0byBjYWxjdWxhdGUgcmVtIHNpemVzIGZvciB0aGUgdHlwb2dyYXBoeSwgYW5kIHNob3VsZCBtYXRjaCB0aGVcbi8vLyBfZWZmZWN0aXZlXyBmb250LXNpemUgb2YgeW91ciByb290IChvciBodG1sKSBlbGVtZW50LlxuLy8vXG4vLy8gSWRlYWxseSB5b3Ugc2hvdWxkIG5vdCBiZSBzZXR0aW5nIHRoZSBmb250LXNpemUgb24gdGhlIGh0bWwgb3Igcm9vdCBlbGVtZW50XG4vLy8gaW4gb3JkZXIgdG8gYWxsb3cgaXQgdG8gc2NhbGUgd2l0aCB1c2VyLXByZWZlcmVuY2UsIGluIHdoaWNoIGNhc2UgdGhpc1xuLy8vIHNob3VsZCBiZSBzZXQgdG8gMTZweC5cbi8vL1xuLy8vIElmIHlvdSBhcmUgaW50ZWdyYXRpbmcgRnJvbnRlbmQgaW50byBhbiBleGlzdGluZyBwcm9qZWN0IHRoYXQgYWxzbyB1c2VzXG4vLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgdGhlbiB5b3Ugc2hvdWxkIHNldCB0aGlzIHRvIDEwcHggdG8gbWF0Y2ggdGhlIDYyLjUlXG4vLy8gKDEwcHgpIGJhc2UgZm9udCBzaXplIHRoYXQgZ292dWtfdGVtcGxhdGUgc2V0cyBvbiB0aGUgPGh0bWw+IGVsZW1lbnQuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcm9vdC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHkgZm9udCBtYXBcbi8vL1xuLy8vIFRoaXMgaXMgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHR5cG9ncmFwaHkgdGhhdCBhZGFwdHMgYWNjb3JkaW5nIHRvIHRoZVxuLy8vIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gRm9udCBzaXplIGFuZCBmb250IHdlaWdodCBjYW4gYmUgZGVmaW5lZCBmb3IgZWFjaCBicmVha3BvaW50LiBZb3UgY2FuIGRlZmluZVxuLy8vIGRpZmZlcmVudCBiZWhhdmlvdXIgb24gdGFibGV0IGFuZCBkZXNrdG9wLiBUaGUgJ251bGwnIGJyZWFrcG9pbnQgaXMgZm9yXG4vLy8gbW9iaWxlLlxuLy8vXG4vLy8gTGluZS1oZWlnaHRzIHdpbGwgYXV0b21hdGljYWxseSBiZSBjb252ZXJ0ZWQgZnJvbSBwaXhlbCBtZWFzdXJlbWVudHMgaW50b1xuLy8vIHJlbGF0aXZlIHZhbHVlcy4gRm9yIGV4YW1wbGUsIHdpdGggYSBmb250LXNpemUgb2YgMTZweCBhbmQgYSBsaW5lLWhlaWdodCBvZlxuLy8vIDI0cHgsIHRoZSBsaW5lLWhlaWdodCB3aWxsIGJlIGNvbnZlcnRlZCB0byAxLjUgYmVmb3JlIG91dHB1dC5cbi8vL1xuLy8vIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IGEgc2VwYXJhdGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBmb3IgcHJpbnQgbWVkaWEuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9ICRwb2ludC4kYnJlYWtwb2ludC5mb250LXNpemUgLSBGb250IHNpemUgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQubGluZS1oZWlnaHQgLSBMaW5lIGhlaWdodCBmb3IgYCRwb2ludGAgYXQgYCRicmVha3BvaW50YFxuLy8vIEBwcm9wIHtOdW1iZXJ9ICRwb2ludC5wcmludC5mb250LXNpemUgLSBGb250IHNpemUgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQubGluZS1oZWlnaHQgLSBMaW5lIGhlaWdodCBmb3IgYCRwb2ludGAgd2hlbiBwcmludGluZ1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXR5cG9ncmFwaHktc2NhbGU6IChcbiAgODA6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDUzcHgsXG4gICAgICBsaW5lLWhlaWdodDogNTVweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDgwcHgsXG4gICAgICBsaW5lLWhlaWdodDogODBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNTNwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjFcbiAgICApXG4gICksXG4gIDQ4OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAzMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDM1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA0OHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDUwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDMycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMzY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDI0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjVweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDM2cHgsXG4gICAgICBsaW5lLWhlaWdodDogNDBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA1XG4gICAgKVxuICApLFxuICAyNzogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjdweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDI0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxOHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDMwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE4cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTk6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE5cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjVweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAxNjogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTZweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxNHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMlxuICAgIClcbiAgKSxcbiAgMTQ6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDEycHgsXG4gICAgICBsaW5lLWhlaWdodDogMTVweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTJwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gIClcbikgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwic2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwidG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcImNvcmUvYWxsXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9hbGxcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYWxsXCI7XG5AaW1wb3J0IFwib3ZlcnJpZGVzL2FsbFwiO1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vIERpc2FibGUgaW5kZW50YXRpb24gbGludGluZyBpbiB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb25cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKGdldC1mdW5jdGlvbigkZ292dWstZm9udC11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstZm9udHMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbmRpdGlvbmFsbHkgaW5jbHVkZSBydWxlcyBvbmx5IGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIGNvbXBpbGluZyBhIHN0eWxlc2hlZXRcbi8vLyAgIHRoYXQgdGFyZ2V0cyBJRTggKGlmIGAkZ292dWstaXMtaWU4YCBpcyB0cnVlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBtaW4td2lkdGg6IDEwMHB4O1xuLy8vICAgICAvLyBTcGVjaWZ5IHdpZHRoIGZvciBJRTggb25seVxuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWlmLWllOCB7XG4gIEBpZiAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQ29uZGl0aW9uYWxseSBleGNsdWRlIHJ1bGVzIGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIG5vdCBjb21waWxpbmcgYVxuLy8vICAgc3R5bGVzaGVldCB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgZmFsc2UpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8vXG4vLy8gICAgIC8vIEVuaGFuY2UgZm9vIG9ubHkgZm9yIG1vZGVybiBicm93c2VycyAobm90IElFOClcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4vLy8gICAgICAgZm9udC1mYW1pbHk6IFwiQ29taWMgU2FucyBNU1wiLCBcIkN1cmx6IE1UXCIgY3Vyc2l2ZSwgc2Fucy1zZXJpZjtcbi8vLyAgICAgICBjb2xvcjogI0ZGNjlCNDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW5vdC1pZTgge1xuICBAaWYgbm90ICRnb3Z1ay1pcy1pZTgge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBTeW50YWN0aWMgc3VnYXIgYXJvdW5kIFNhc3MnIGJ1aWx0LWluIGBpZmAgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdCByZXF1aXJlXG4vLy8geW91IHRvIHBhc3MgYSB2YWx1ZSBmb3IgYCRpZi1mYWxzZWAuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjb25kaXRpb24gLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgdmFsdWUgb2YgYCRpZi10cnVlYFxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRpZi10cnVlIC0gVmFsdWUgdG8gcmV0dXJuIGlmIGAkY29uZGl0aW9uYCBpcyB0cnV0aHlcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVmFsdWUgb2YgYCRpZi10cnVlYCBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5LCBlbHNlIG51bGxcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gaWZmKCRjb25kaXRpb24sICRpZi10cnVlKSB7XG4gIEByZXR1cm4gaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLyBEaXNhYmxlIGluZGVudGF0aW9uIGxpbnRpbmcgaW4gdGhpcyBmaWxlIG9ubHlcbi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uXG5cbi8vLyBJbWFnZSBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGltYWdlLXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pIHRoZW5cbi8vLyBpdCB3aWxsIGJlIGNhbGxlZCwgb3RoZXJ3aXNlIGEgdXJsIHdpbGwgYmUgcmV0dXJuZWQgd2l0aCB0aGUgZmlsZW5hbWVcbi8vLyBhcHBlbmRlZCB0byB0aGUgaW1hZ2UgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSBGaWxlbmFtZSBmb3IgdGhlIGltYWdlIHRvIGxvYWRcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IFVSTCBmb3IgdGhlIGZpbGVuYW1lLCB3cmFwcGVkIGluIGB1cmwoKWBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstaW1hZ2UtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb25cbiAgICBhbmQgZnVuY3Rpb24tZXhpc3RzKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstaW1hZ2VzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbnRleHQtZm9udC1zaXplIC0gRm9udCBzaXplIG9mIGVsZW1lbnRcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiBlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZW0oJHZhbHVlLCAkY29udGV4dC1mb250LXNpemUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cbiAgQGlmICh1bml0bGVzcygkY29udGV4dC1mb250LXNpemUpKSB7XG4gICAgJGNvbnRleHQtZm9udC1zaXplOiAkY29udGV4dC1mb250LXNpemUgKiAxcHg7XG4gIH1cbiAgQHJldHVybiAkdmFsdWUgLyAkY29udGV4dC1mb250LXNpemUgKiAxZW07XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byByZW1cbi8vL1xuLy8vIFRoZSAkZ292dWstcm9vdC1mb250LXNpemUgKGRlZmluZWQgaW4gc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzKVxuLy8vIG11c3QgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGUgZm9udC1zaXplIG9mIHlvdXIgcm9vdCAoaHRtbCkgZWxlbWVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiByZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAvICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAqIDFyZW07XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJjb2xvdXJcIjtcbkBpbXBvcnQgXCJkZXZpY2UtcGl4ZWxzXCI7XG5AaW1wb3J0IFwiZm9jdXNhYmxlXCI7XG5AaW1wb3J0IFwiZm9udC1mYWNlc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcIm1lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJzaGFwZS1hcnJvd1wiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmlzdWFsbHktaGlkZGVuXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENsZWFyIGZsb2F0ZWQgY29udGVudCB3aXRoaW4gYSBjb250YWluZXIgdXNpbmcgYSBwc2V1ZG8gZWxlbWVudFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBNZWRpYSBxdWVyeSBmb3IgcmV0aW5hIGltYWdlcyAoZGV2aWNlLXBpeGVsLXJhdGlvKVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYXRpbyBbMl0gLSBEZXZpY2UgcGl4ZWwgcmF0aW9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCB3aWxsIGJlIG91dHB1dHRlZCB3aXRoaW4gdGhlIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUHJvdmlkaW5nIGEgQDJ4IGltYWdlIGZvciBzY3JlZW5zIHRoYXQgc3VwcG9ydCBpdFxuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNpbmcgYSBjdXN0b20gcmF0aW9cbi8vLyAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLnBuZ1wiKTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtMngucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oMykge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0zeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvKCRyYXRpbzogMikge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgbWluLXJlc29sdXRpb246ICN7KCRyYXRpbyo5Nil9ZHBpKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogI3skcmF0aW99ZHBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBGb2N1c2FibGUgaGVscGVyXG4vLy9cbi8vLyBQcm92aWRlcyBhbiBhZGRpdGlvbmFsIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpc1xuLy8vIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSBlbGVtZW50cyB3aGljaCB0aGVtc2VsdmVzIGhhdmUgc29tZSBiYWNrZ3JvdW5kXG4vLy8gb3IgYm9yZGVyLCBzdWNoIGFzIG1vc3QgZm9ybSBlbGVtZW50cy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgfVxufVxuXG4vLy8gRm9jdXNhYmxlIHdpdGggZmlsbCBoZWxwZXJcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSBhbmQgYmFja2dyb3VuZCBjb2xvdXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSB0ZXh0LWJhc2VkIGVsZW1lbnRzIHN1Y2hcbi8vLyBhcyBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUtZmlsbCB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLyBEaXNhYmxlcyBsaW50aW5nIGZvciB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY3NzLWNvbW1lbnRzLCBuby1kdXBsaWNhdGUtcHJvcGVydGllcywgcHJvcGVydHktc29ydC1vcmRlciwgaW5kZW50YXRpb25cblxuQGltcG9ydCBcIi4uL3Rvb2xzL2V4cG9ydHNcIjtcblxuLy8vIEZvbnQgRmFjZSAtIE5UQVxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgZm9udC1mYWNlIGRlY2xhcmF0aW9uIGZvciBOVEEgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1udGEge1xuICBAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvaGVscGVycy9mb250LWZhY2VcIikge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqL1xuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC0yYzAzN2NmN2UxLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LTJjMDM3Y2Y3ZTEtdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LWYzOGFkNDA0NTYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC00NThmOGVhODFjLXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLWZiMjY3NjQ2MmEtdjEuZW90XCIpO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1mYjI2NzY0NjJhLXYxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWEyNDUyY2I2NmYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWYzOGM3OTJhYzItdjEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhdGFidWxhcm51bWJlcnNcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNDk4ZWE4ZmZlMi12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC10YWJ1bGFyLTQ5OGVhOGZmZTItdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItODUxYjEwY2NkZC12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNjJjYzZmMGEyOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC10YWJ1bGFyLWI4OTIzOGQ4NDAtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItNzg0YzIxYWZiOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFBlcmNlbnRhZ2Ugd2lkdGhcbi8vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZ3JpZC13aWR0aCgka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZSAoYWxpYXMpXG4vLy9cbi8vLyBAYWxpYXMgZ292dWstZ3JpZC13aWR0aFxuLy8vIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgaW4gdjMuMCwgcmVwbGFjZWQgYnkgZ292dWstZ3JpZC13aWR0aFxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJGtleSkge1xuICBAcmV0dXJuIGdvdnVrLWdyaWQtd2lkdGgoJGtleSk7XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIHJvdyBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIHJvdyBjbGFzcyB3aXRoIGEgc3RhbmRhcmRpc2VkIG1hcmdpbi5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtcm93XSBDU1MgY2xhc3MgbmFtZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLXJvdyhcImFwcC1ncmlkXCIpO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZGVwcmVjYXRlZCBUbyBiZSByZW1vdmVkIGluIHYzLjAsIHJlcGxhY2VkIGJ5IHRoZSBnb3Z1ay1ncmlkLXJvdyBjbGFzc1xuXG5AbWl4aW4gZ292dWstZ3JpZC1yb3coJGNsYXNzOiBcImdvdnVrLWdyaWQtcm93XCIpIHtcbiAgLiN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiB3aXRoIHN0YW5kYXJkIGd1dHRlciBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuLy8vXG4vLy8gSWYgYSBgJGNsYXNzYCBpcyBwcm92aWRlZCAod2hpY2ggaXMgdGhlIGRlZmF1bHQsIGJ1dCBkZXByZWNhdGVkIGJlaGF2aW91ciksXG4vLy8gdGhlIGdlbmVyYXRlZCBydWxlcyB3aWxsIGJlIHdyYXBwZWQgaW4gYSBwcmVkZWZpbmVkIHNlbGVjdG9yIGluIHRoZSBmb3JtYXRcbi8vLyBgJGNsYXNzLSR3aWR0aGAgKGUuZy4gYGdvdnVrLWdyaWQtY29sdW1uLWZ1bGxgKS4gVGhpcyBiZWhhdmlvdXIgaXNcbi8vLyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjMuMFxuLy8vXG4vLy8gR3JpZCB3aWR0aHMgYXJlIGRlZmluZWQgaW4gdGhlIGAkZ292dWstZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlIGNvbHVtbiB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlXG4vLy8gJ3RhYmxldCcgYnJlYWtwb2ludCwgYnV0IG90aGVyIGJyZWFrcG9pbnRzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIGAkYXRgXG4vLy8gcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbZnVsbF0gbmFtZSBvZiBhIGdyaWQgd2lkdGggZnJvbSAkZ292dWstZ3JpZC13aWR0aHNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtY29sdW1uXSBDU1MgY2xhc3MgbmFtZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRjbGFzczogZmFsc2UpXG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGYtYXQtZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQsICRjbGFzczogZmFsc2UpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lIChkZXByZWNhdGVkKVxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRjbGFzczogXCJ0ZXN0LWNvbHVtblwiKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGg6IGZ1bGwsICRmbG9hdDogbGVmdCwgJGF0OiB0YWJsZXQsICRjbGFzczogXCJnb3Z1ay1ncmlkLWNvbHVtblwiKSB7XG4gIEBpZiAoJGNsYXNzKSB7XG4gICAgLiN7JGNsYXNzfS0jeyR3aWR0aH0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkZmxvYXQsICRhdCwgJGNsYXNzOiBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xuICAgICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICAgIGZsb2F0OiAkZmxvYXQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbn1cblxuLy8vIERlZmF1bHQgbGluayBzdHlsZSBtaXhpblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgbGlua3MuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1kZWZhdWx0IHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBNdXRlZCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBVc2VkIGZvciBzZWNvbmRhcnkgbGlua3Mgb24gYSBwYWdlIC0gdGhlIGxpbmsgd2lsbCBhcHBlYXIgaW4gbXV0ZWQgY29sb3Vyc1xuLy8vIHJlZ2FyZGxlc3Mgb2YgdmlzaXRlZCBzdGF0ZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW11dGVkIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVGV4dCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBPdmVycmlkZXMgdGhlIGNvbG91ciBvZiBsaW5rcyB0byBtYXRjaCB0aGUgdGV4dCBjb2xvdXIuIEdlbmVyYWxseSB1c2VkIGJ5XG4vLy8gbmF2aWdhdGlvbiBjb21wb25lbnRzLCBzdWNoIGFzIGJyZWFkY3J1bWJzIG9yIHRoZSBiYWNrIGxpbmsuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXRleHQge1xuICAvLyBPdmVycmlkZSBsaW5rIGNvbG91ciB0byB1c2UgdGV4dCBjb2xvdXJcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBObyB2aXNpdGVkIHN0YXRlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIFVzZWQgaW4gY2FzZXMgd2hlcmUgaXQgaXMgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLlxuLy8vXG4vLy8gRm9yIGV4YW1wbGUsIG5hdmlnYXRpb24gbGlua3MgdG8gcGFnZXMgd2l0aCBkeW5hbWljIGNvbnRlbnQgbGlrZSBhZG1pblxuLy8vIGRhc2hib2FyZHMuIFRoZSBjb250ZW50IG9uIHRoZSBwYWdlIGlzIGNoYW5naW5nIGFsbCB0aGUgdGltZSwgc28gdGhlIGZhY3Rcbi8vLyB0aGF0IHlvdeKAmXZlIHZpc2l0ZWQgaXQgYmVmb3JlIGlzIG5vdCBpbXBvcnRhbnQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBQcmludCBmcmllbmRseSBsaW5rIG1peGluXG4vLy9cbi8vLyBXaGVuIHByaW50aW5nLCBhcHBlbmQgdGhlIHRoZSBkZXN0aW5hdGlvbiBVUkwgdG8gdGhlIGxpbmsgdGV4dCwgYXMgbG9uZ1xuLy8vIGFzIHRoZSBVUkwgc3RhcnRzIHdpdGggZWl0aGVyIGAvYCwgYGh0dHA6Ly9gIG9yIGBodHRwczovL2AuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1wcmludC1mcmllbmRseSB7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuXG4gICAgJltocmVmXj1cIi9cIl0sXG4gICAgJltocmVmXj1cImh0dHA6Ly9cIl0sXG4gICAgJltocmVmXj1cImh0dHBzOi8vXCJdIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgICAgIC8vIEJlY2F1c2UgdGhlIFVSTHMgbWF5IGJlIHZlcnkgbG9uZywgZW5zdXJlIHRoYXQgdGhleSBtYXkgYmUgYnJva2VuXG4gICAgICAgIC8vIGF0IGFyYml0cmFyeSBwb2ludHMgaWYgdGhlcmUgYXJlIG5vIG90aGVyd2lzZSBhY2NlcHRhYmxlIGJyZWFrXG4gICAgICAgIC8vIHBvaW50cyBpbiB0aGUgbGluZVxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV3JhbmdsZSBzYXNzLW1xIGNvbmZpZy4uLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFBhc3Mgb3VyIGJyZWFrcG9pbnRzIGFuZCBzdGF0aWMgYnJlYWtwb2ludCBkZWZpbml0aW9ucyB0aHJvdWdoIHRvIHNhc3MtbXEuXG4kbXEtYnJlYWtwb2ludHM6IGlmKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1icmVha3BvaW50cyksICRnb3Z1ay1icmVha3BvaW50cywgKCkpO1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstaWU4LWJyZWFrcG9pbnQpLCAkZ292dWstaWU4LWJyZWFrcG9pbnQsIGRlc2t0b3ApO1xuXG4kbXEtc2hvdy1icmVha3BvaW50czogKCk7XG5cbkBpZiAodmFyaWFibGUtZXhpc3RzKGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIGFuZCAkZ292dWstc2hvdy1icmVha3BvaW50cykge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogbWFwLWtleXMoJGdvdnVrLWJyZWFrcG9pbnRzKTtcbn1cblxuLy8gV2hlbiBidWlsZGluZyBhIHN0eWxlc2hlZXQgZm9yIElFOCwgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlIGluIG9yZGVyIHRvXG4vLyAncmFzdGVyaXplJyBhbnkgbWVkaWEgcXVlcmllcy5cblxuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1pcy1pZTgpIGFuZCAkZ292dWstaXMtaWU4KSB7XG4gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbn1cblxuLy8gVGhpcyBpcyBhIGhvcnJpYmxlLCBob3JyaWJsZSBoYWNrIHRvIHByZXZlbnQgdGhlICdkZXYgbW9kZScgQ1NTIHRvIGRpc3BsYXlcbi8vIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgZnJvbSBiZWluZyBpbmNsdWRlZCBtdWx0aXBsZSB0aW1lcy5cbi8vXG4vLyBXZSBjYW4ndCB1c2UgdGhlIGBleHBvcnRzYCBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGltcG9ydCBkaXJlY3RpdmVzIGNhbm5vdCBiZVxuLy8gdXNlZCB3aXRoaW4gY29udHJvbCBkaXJlY3RpdmVzIPCfmKBcbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZCB7XG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcbn1cblxuQGltcG9ydCBcIi4uL3ZlbmRvci9zYXNzLW1xXCI7XG5cbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IHRydWU7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gTWVkaWEgUXVlcnlcbi8vL1xuLy8vIFRoaXMgaXMgYSBjdXJyZW50bHkgYSB3cmFwcGVyIGZvciBzYXNzLW1xIC0gYWJzdHJhY3RlZCBzbyB0aGF0IHdlIGNhblxuLy8vIHJlcGxhY2UgaXQgaW4gdGhlIGZ1dHVyZSBpZiB3ZSBzbyBjaG9vc2UuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJGdvdnVrLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkZ292dWstYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbYWxsXSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIG1xIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJGdvdnVrLWJyZWFrcG9pbnRzXVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCBbJGdvdnVrLWllOC1icmVha3BvaW50XVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtCb29sZWFufSAkcmVzcG9uc2l2ZSBbJGdvdnVrLWlzLWllOF1cbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbWVkaWEtcXVlcnkoJGFyZ3MuLi4pIHtcbiAgQGluY2x1ZGUgbXEoJGFyZ3MuLi4pIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cbiIsIi8vIG1xKCkgdjQuMC4yXG4vLyBzYXNzLW1xL3Nhc3MtbXFcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cblxuLy8gc2Fzcy1saW50OmVuYWJsZS1hbGxcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBoZWlnaHQgb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGVcbi8vL1xuLy8vIE11bHRpcGx5aW5nIGhhbGYgdGhlIGxlbmd0aCBvZiB0aGUgYmFzZSBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZSBieSB0aGVcbi8vLyBzcXVhcmUgcm9vdCBvZiB0aHJlZSBnaXZlcyB1cyBpdHMgaGVpZ2h0LiBXZSB1c2UgMS43MzIgYXMgYW4gYXBwcm94aW1hdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgYmFzZSBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IENhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSB0cmlhbmdsZVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSkge1xuICAkc3F1YXJlLXJvb3Qtb2YtdGhyZWU6IDEuNzMyO1xuXG4gIEByZXR1cm4gKCRiYXNlIC8gMikgKiAkc3F1YXJlLXJvb3Qtb2YtdGhyZWU7XG59XG5cbi8vLyBBcnJvdyBtaXhpblxuLy8vXG4vLy8gR2VuZXJhdGUgQXJyb3dzICh0cmlhbmdsZXMpIGJ5IHVzaW5nIGEgbWl4IG9mIHRyYW5zcGFyZW50ICgxKSBhbmQgY29sb3VyZWRcbi8vLyBib3JkZXJzLiBUaGUgY29sb3VyZWQgYm9yZGVycyBpbmhlcml0IHRoZSB0ZXh0IGNvbG91ciBvZiB0aGUgZWxlbWVudCAoMikuXG4vLy9cbi8vLyBFbnN1cmUgdGhlIGFycm93IGlzIHJlbmRlcmVkIGNvcnJlY3RseSBpZiBicm93c2VyIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4gYnlcbi8vLyBwcm92aWRpbmcgYSBjbGlwIHBhdGggKDMpLiBXaXRob3V0IHRoaXMgdGhlIHRyYW5zcGFyZW50IGJvcmRlcnMgYXJlXG4vLy8gb3ZlcnJpZGRlbiB0byBiZWNvbWUgdmlzaWJsZSB3aGljaCByZXN1bHRzIGluIGEgc3F1YXJlLlxuLy8vXG4vLy8gV2UgbmVlZCBib3RoIGJlY2F1c2Ugb2xkZXIgYnJvd3NlcnMgZG8gbm90IHN1cHBvcnQgY2xpcC1wYXRoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gLSBEaXJlY3Rpb24gZm9yIGFycm93OiB1cCwgcmlnaHQsIGRvd24sIGxlZnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSB0cmlhbmdsZSAnYmFzZScgc2lkZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFtudWxsXSAtIEhlaWdodCBvZiB0cmlhbmdsZS4gT21pdCBmb3IgZXF1aWxhdGVyYWwuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja10gLSBDU1MgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgYXJyb3dcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uLCAkYmFzZSwgJGhlaWdodDogbnVsbCwgJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuXG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gMVxuXG4gICRwZXJwZW5kaWN1bGFyOiAkYmFzZSAvIDI7XG5cbiAgQGlmICgkaGVpZ2h0ID09IG51bGwpIHtcbiAgICAkaGVpZ2h0OiBfZ292dWstZXF1aWxhdGVyYWwtaGVpZ2h0KCRiYXNlKTtcbiAgfVxuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwidXBcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAwICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMCAkcGVycGVuZGljdWxhcjtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgYXJyb3cgZGlyZWN0aW9uOiBleHBlY3RlZCBgdXBgLCBgcmlnaHRgLCBgZG93bmAgb3IgYGxlZnRgLCBnb3QgYCN7JGRpcmVjdGlvbn1gXCI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZSAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY2NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgTWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxuLy8vICAgfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgdmFyaWFibGUgYCN7JHNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC5cIjtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHNwYWNpbmcgKGVpdGhlciBwYWRkaW5nIG9yIG1hcmdpbiwgZGVwZW5kaW5nIG9uIGAkcHJvcGVydHlgKVxuLy8vIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXNcbi8vLyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gVG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nLCB1c2UgJ2dvdnVrLXJlc3BvbnNpdmUtbWFyZ2luJyBvclxuLy8vICdnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcnIG1peGluc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJHByb3BlcnR5LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgcG9pbnQgYCN7JHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIFwiXG4gICAgKyBcInJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgIGlzIGEgbWFwLlxuICAkc2NhbGUtbWFwOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICAkYWN0dWFsLW1hcC10eXBlOiB0eXBlLW9mKCRzY2FsZS1tYXApO1xuICBAaWYgJGFjdHVhbC1tYXAtdHlwZSAhPSBcIm1hcFwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuXG4gICAgQGlmICgkYWRqdXN0bWVudCkge1xuICAgICAgJGJyZWFrcG9pbnQtdmFsdWU6ICRicmVha3BvaW50LXZhbHVlICsgJGFkanVzdG1lbnQ7XG4gICAgfVxuXG4gICAgLy8gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuXG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlc3BvbnNpdmUgbWFyZ2luXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgbWFyZ2luIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsIFwibWFyZ2luXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgcGFkZGluZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHBhZGRpbmcgYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyAgIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJwYWRkaW5nXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG5AaW1wb3J0IFwiLi4vdG9vbHMvcHgtdG8tcmVtXCI7XG5cbi8vLyAnQ29tbW9uIHR5cG9ncmFwaHknIGhlbHBlclxuLy8vXG4vLy8gU2V0cyB0aGUgZm9udCBmYW1pbHkgYW5kIGFzc29jaWF0ZWQgcHJvcGVydGllcywgc3VjaCBhcyBmb250IHNtb290aGluZy4gQWxzb1xuLy8vIG92ZXJyaWRlcyB0aGUgZm9udCBmb3IgcHJpbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRmb250LWZhbWlseSBbJGdvdnVrLWZvbnQtZmFtaWx5XSBGb250IGZhbWlseSB0byB1c2Vcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1jb21tb24oJGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHkpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgLy8gSWYgdXNpbmcgTlRBLCBpbmNsdWRlIHRoZSBmb250LWZhY2UgZGVmaW5pdGlvblxuICBAaWYgKCRnb3Z1ay1mb250LWZhbWlseSA9PSAkZ292dWstZm9udC1mYW1pbHktbnRhKSB7XG4gICAgQGluY2x1ZGUgX2dvdnVrLWZvbnQtZmFjZS1udGE7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50O1xuICB9XG59XG5cbi8vLyBUZXh0IGNvbG91ciBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIHRleHQgY29sb3VyLCBpbmNsdWRpbmcgYSBzdWl0YWJsZSBvdmVycmlkZSBmb3IgcHJpbnQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdGV4dC1jb2xvdXIge1xuICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFJlZ3VsYXIgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXIoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbn1cblxuLy8vIEJvbGQgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1ib2xkIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbn1cblxuLy8vIENvbnZlcnQgbGluZS1oZWlnaHRzIHNwZWNpZmllZCBpbiBwaXhlbHMgaW50byBhIHJlbGF0aXZlIHZhbHVlLCB1bmxlc3Ncbi8vLyB0aGV5IGFyZSBhbHJlYWR5IHVuaXQtbGVzcyAoYW5kIHRodXMgYWxyZWFkeSB0cmVhdGVkIGFzIHJlbGF0aXZlIHZhbHVlcylcbi8vLyBvciB0aGUgdW5pdHMgZG8gbm90IG1hdGNoIHRoZSB1bml0cyB1c2VkIGZvciB0aGUgZm9udCBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBMaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIEZvbnQgc2l6ZVxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGxpbmUgaGVpZ2h0IGFzIGVpdGhlciBhIHJlbGF0aXZlIHZhbHVlIG9yIHVubW9kaWZpZWRcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHkgaGVscGVyXG4vLy9cbi8vLyBUYWtlcyBhICdmb250IG1hcCcgYXMgYW4gYXJndW1lbnQgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIGZvciBwcmludC5cbi8vL1xuLy8vIEV4YW1wbGUgZm9udCBtYXA6XG4vLy9cbi8vLyAkbXktZm9udC1tYXA6IChcbi8vLyAgIG51bGw6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNnB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjBweFxuLy8vICAgKSxcbi8vLyAgIHRhYmxldDogKFxuLy8vICAgICBmb250LXNpemU6IDE5cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyNXB4XG4vLy8gICApLFxuLy8vICAgcHJpbnQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNHB0LFxuLy8vICAgICBsaW5lLWhlaWdodDogMS4xNVxuLy8vICAgKVxuLy8vICk7XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGZvbnQtbWFwIC0gRm9udCBtYXBcbi8vLyBAcGFyYW0ge051bWJlcn0gJG92ZXJyaWRlLWxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBmb250IHNpemUgYCN7JHNpemV9YCAtIGV4cGVjdGVkIGEgcG9pbnQgZnJvbSB0aGUgdHlwb2dyYXBoeSBzY2FsZS5cIjtcbiAgfVxuXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1tYXAgaW4gJGZvbnQtbWFwIHtcbiAgICAkZm9udC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJmb250LXNpemVcIik7XG4gICAgJGZvbnQtc2l6ZS1yZW06IGdvdnVrLXB4LXRvLXJlbSgkZm9udC1zaXplKTtcblxuICAgICRsaW5lLWhlaWdodDogX2dvdnVrLWxpbmUtaGVpZ2h0KFxuICAgICAgJGxpbmUtaGVpZ2h0OiBpZigkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgICRvdmVycmlkZS1saW5lLWhlaWdodCxcbiAgICAgICAgbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwibGluZS1oZWlnaHRcIilcbiAgICAgICksXG4gICAgICAkZm9udC1zaXplOiAkZm9udC1zaXplXG4gICAgKTtcblxuICAgIC8vIE1hcmsgcnVsZXMgYXMgIWltcG9ydGFudCBpZiAkaW1wb3J0YW50IGlzIHRydWUgLSB0aGlzIHdpbGwgcmVzdWx0IGluXG4gICAgLy8gdGhlc2UgdmFyaWFibGVzIGJlY29taW5nIHN0cmluZ3MsIHNvIHRoaXMgbmVlZHMgdG8gaGFwcGVuICphZnRlciogdGhleVxuICAgIC8vIGFyZSB1c2VkIGluIGNhbGN1bGF0aW9uc1xuICAgICRmb250LXNpemU6ICRmb250LXNpemUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICRmb250LXNpemUtcmVtOiAkZm9udC1zaXplLXJlbSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgfVxuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9IEBlbHNlaWYgJGJyZWFrcG9pbnQgPT0gXCJwcmludFwiIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgICBAaWYgJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gRm9udCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFNpemUgb2YgdGhlIGZvbnQgYXMgaXQgd291bGQgYXBwZWFyIG9uIGRlc2t0b3AgLVxuLy8vICAgdXNlcyB0aGUgcmVzcG9uc2l2ZSBmb250IHNpemUgbWFwXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3ZWlnaHQgW3JlZ3VsYXJdIC0gV2VpZ2h0OiBgYm9sZGAgb3IgYHJlZ3VsYXJgXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdGFidWxhciBbZmFsc2VdIC0gV2hldGhlciB0byB1c2UgdGFidWxhciBudW1iZXJzIG9yIG5vdFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgW2ZhbHNlXSAtIExpbmUtaGVpZ2h0LCBpZiBvdmVycmlkaW5nIHRoZSBkZWZhdWx0XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9udCgkc2l6ZSwgJHdlaWdodDogcmVndWxhciwgJHRhYnVsYXI6IGZhbHNlLCAkbGluZS1oZWlnaHQ6IGZhbHNlKSB7XG4gIEBpZiAkdGFidWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb24oJGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktdGFidWxhcik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICB9XG5cbiAgQGlmICR3ZWlnaHQgPT0gcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09IGJvbGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICBAaWYgJHNpemUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbi8vLyAgIC0gSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHksIEpvbmF0aGFuIFNub29rLCBGZWJydWFyeSAyMDExXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi85ZjEzNjk1ZDIxZmY5MmM1NWM3OGRmYTlmMTZiYjAyYTFiNmU5MTFmL3NyYy9jc3MvbWFpbi5jc3MjTDEyMS1MMTU4XG4vLy8gICAtIGg1YnAvaHRtbDUtYm9pbGVycGxhdGUgLSBUaGFua3MhXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbigkaW1wb3J0YW50OiB0cnVlKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgd2lkdGg6IDFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIGhlaWdodDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgLy8gSWYgbWFyZ2luIGlzIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlIGl0IGNhbiBjYXVzZSB0ZXh0IHRvIGJlIGFubm91bmNlZCBpbiB0aGUgd3Jvbmcgb3JkZXIgaW4gVm9pY2VPdmVyIGZvciBPU1hcbiAgbWFyZ2luOiAwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgcGFkZGluZzogMCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICBib3JkZXI6IDAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzIHdoaWxzdFxuLy8vIGFsbG93aW5nIHRoZSBlbGVtZW50IHRvIGJlIGZvY3VzZWQgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZCAoZS5nLlxuLy8vIGZvciB0aGUgc2tpcCBsaW5rKVxuLy8vXG4vLy8gVGhpcyBpcyBzbGlnaHRseSBsZXNzIG9waW5pb25hdGVkIGFib3V0IGJvcmRlcnMgYW5kIHBhZGRpbmcgdG8gbWFrZSBpdFxuLy8vIGVhc2llciB0byBzdHlsZSB0aGUgZm9jdXNzZWQgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgkaW1wb3J0YW50OiB0cnVlKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgd2lkdGg6IDFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIGhlaWdodDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgLy8gSWYgbWFyZ2luIGlzIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlIGl0IGNhbiBjYXVzZSB0ZXh0IHRvIGJlIGFubm91bmNlZCBpbiB0aGUgd3Jvbmcgb3JkZXIgaW4gVm9pY2VPdmVyIGZvciBPU1hcbiAgbWFyZ2luOiAwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIHdpZHRoOiBhdXRvIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICBoZWlnaHQ6IGF1dG8gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgIG1hcmdpbjogaW5oZXJpdCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgICBvdmVyZmxvdzogdmlzaWJsZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgY2xpcDogYXV0byBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBub25lIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgfVxufVxuIiwiQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZVwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJzZWN0aW9uLWJyZWFrXCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlzdHNcIikge1xuXG4gICVnb3Z1ay1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgLy8gQWRkIGEgdG9wIG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gICAgJWdvdnVrLWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdCA+IGxpIHtcbiAgICAvLyBMaXN0cyB3aXRob3V0IG51bWJlcnMgb3IgYnVsbGV0cyBzaG91bGQgYWx3YXlzIGhhdmUgZXh0cmEgc3BhY2UgYmV0d2VlblxuICAgIC8vIGxpc3QgaXRlbXMuIExpc3RzIHdpdGggbnVtYmVycyBvciBidWxsZXRzIG9ubHkgaGF2ZSB0aGlzIGV4dHJhIHNwYWNlIG9uXG4gICAgLy8gdGFibGV0IGFuZCBhYm92ZVxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAuZ292dWstbGlzdCB7XG4gICAgQGV4dGVuZCAlZ292dWstbGlzdDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIH1cblxuICAlZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLWJ1bGxldCA+IGxpLFxuICAlZ292dWstbGlzdC0tbnVtYmVyID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLW51bWJlcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS90ZW1wbGF0ZVwiKSB7XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgPGh0bWw+IGVsZW1lbnRcbiAgLmdvdnVrLXRlbXBsYXRlIHtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgcGFnZSBiYWNrZ3JvdW5kIGNvbG91ciB0byB0aGUgc2FtZSBjb2xvdXIgYXMgdXNlZCBieSB0aGVcbiAgICAvLyBmb290ZXIgdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2YgYSBsb25nIGZvb3Rlci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICB9XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgPGJvZHk+IGVsZW1lbnRcbiAgLmdvdnVrLXRlbXBsYXRlX19ib2R5IHtcbiAgICAvLyBUaGUgZGVmYXVsdCBtYXJnaW5zIHNldCBieSB1c2VyLWFnZW50cyBhcmUgbm90IHJlcXVpcmVkIHNpbmNlIHdlIGhhdmUgb3VyXG4gICAgLy8gb3duIGNvbnRhaW5lcnMuXG4gICAgbWFyZ2luOiAwO1xuICAgIC8vIFNldCB0aGUgb3ZlcmFsbCBib2R5IG9mIHRoZSBwYWdlIGJhY2sgdG8gdGhlIHR5cGljYWwgYmFja2dyb3VuZCBjb2xvdXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3R5cG9ncmFwaHlcIikge1xuXG4gIC8vIEhlYWRpbmdzXG5cbiAgJWdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXhsO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1sO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1tO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1zO1xuICB9XG5cbiAgLy8gQ2FwdGlvbnMgdG8gYmUgdXNlZCBpbnNpZGUgaGVhZGluZ3NcblxuICAuZ292dWstY2FwdGlvbi14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjcpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBCb2R5IChwYXJhZ3JhcGhzKVxuXG4gICVnb3Z1ay1ib2R5LWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAlZ292dWstYm9keS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktcztcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LXhzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkteHMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHkteHM7XG4gIH1cblxuICAvLyBVc2FnZSBhbGlhc2VzXG5cbiAgLy8gVXNpbmcgZXh0ZW5kIHRvIGFsaWFzIG1lYW5zIHdlIGFsc28gaW5oZXJpdCBhbnkgY29udGV4dHVhbCBhZGp1c3RtZW50cyB0aGF0XG4gIC8vIHJlZmVyIHRvIHRoZSAnb3JpZ2luYWwnIGNsYXNzIG5hbWVcblxuICAuZ292dWstYm9keS1sZWFkIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAuZ292dWstYm9keSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgLy8gQ29udGV4dHVhbCBhZGp1c3RtZW50c1xuICAvLyBBZGQgdG9wIHBhZGRpbmcgdG8gaGVhZGluZ3MgdGhhdCBhcHBlYXIgZGlyZWN0bHkgYWZ0ZXIgcGFyYWdyYXBocy5cblxuICAlZ292dWstYm9keS1sICArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWJvZHktbSAgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstYm9keS1zICArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQsIFwidG9wXCIpO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1zIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvc2VjdGlvbi1icmVha1wiKSB7XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAvLyBmaXggZG91YmxlLXdpZHRoIHNlY3Rpb24gYnJlYWsgYW5kIGZvcmNlZCB2aXNpYmxlIHNlY3Rpb24gYnJlYWtcbiAgICAvLyB3aGVuIGNvbWJpbmVkIHdpdGggc3R5bGVzIGZyb20gYWxwaGFnb3YvZWxlbWVudHNcbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWs7XG4gIH1cblxuICAvLyBTaXplc1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXhsO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWw7XG4gIH1cblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tbTtcbiAgfVxuXG4gIC8vIFZpc2libGUgdmFyaWFudFxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG5AbWl4aW4gZ292dWstZ2xvYmFsLXN0eWxlcyB7XG4gIGEge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpbms7XG4gIH1cblxuICBwIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cbn1cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvZ2xvYmFsLXN0eWxlc1wiKSB7XG5cbiAgQGlmICRnb3Z1ay1nbG9iYWwtc3R5bGVzID09IHRydWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWdsb2JhbC1zdHlsZXM7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJmb3JtLWdyb3VwXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcIm1haW4td3JhcHBlclwiO1xuQGltcG9ydCBcIndpZHRoLWNvbnRhaW5lclwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZm9ybS1ncm91cFwiKSB7XG5cbiAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBsYXN0IGl0ZW0gaW4gbmVzdGVkIGdyb3Vwc1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgIC8vIFJlc2V0IGVycm9yIHN0eWxlcyBpbiBuZXN0ZWQgZm9ybSBncm91cHMgdGhhdCBtaWdodCBoYXZlIGVycm9yIGNsYXNzXG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZ3JpZFwiKSB7XG5cbiAgLmdvdnVrLWdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gICAgbWFyZ2luLWxlZnQ6IC0gKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gIH1cblxuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGgsICRjbGFzczogZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgKm11c3QqIGJlIGRlZmluZWQgaW4gYSBzZXBhcmF0ZSBsb29wIGFzIHRoZXkgaGF2ZSB0aGUgc2FtZVxuICAvLyBzcGVjaWZpY2l0eSBhcyB0aGUgbm9uLWJyZWFrcG9pbnQgc3BlY2lmaWMgY2xhc3Nlcywgc28gbmVlZCB0byBhcHBlYXIgYWZ0ZXJcbiAgLy8gdGhlbSBpbiB0aGUgb3V0cHV0dGVkIENTU1xuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofS1mcm9tLWRlc2t0b3Age1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkYXQ6IGRlc2t0b3AsICRjbGFzczogZmFsc2UpXG4gICAgfVxuICB9XG59XG4iLCIvLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJ0b3BcIik7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImJvdHRvbVwiKTtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIFVzZSBnb3Z1ay1tYWluLXdyYXBwZXItLWwgd2hlbiB5b3UgcGFnZSBkb2VzIG5vdCBoYXZlIEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzIG9yIGJhY2sgbGlua3NcbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlci0tbDtcbiAgfVxufVxuIiwiQG1peGluIGdvdnVrLXdpZHRoLWNvbnRhaW5lciB7XG4gIC8vIExpbWl0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIHRvIHRoZSBwYWdlIHdpZHRoXG4gIG1heC13aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG5cbiAgLy8gT24gbW9iaWxlLCBhZGQgaGFsZiB3aWR0aCBndXR0ZXJzXG4gIG1hcmdpbjogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gT24gdGFibGV0LCBhZGQgZnVsbCB3aWR0aCBndXR0ZXJzXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW46IDAgJGdvdnVrLWd1dHRlcjtcbiAgfVxuXG4gIC8vIEFzIHNvb24gYXMgdGhlIHZpZXdwb3J0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgd2lkdGggb2YgdGhlIHBhZ2UgcGx1cyB0aGVcbiAgLy8gZ3V0dGVycywganVzdCBjZW50cmUgdGhlIGNvbnRlbnQgaW5zdGVhZCBvZiBhZGRpbmcgZ3V0dGVycy5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGFuZDogXCIobWluLXdpZHRoOiAjeygkZ292dWstcGFnZS13aWR0aCArICRnb3Z1ay1ndXR0ZXIgKiAyKX0pXCIpIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgd2lkdGg6ICRnb3Z1ay1wYWdlLXdpZHRoO1xuICAgIC8vIFNpbmNlIG1lZGlhIHF1ZXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gSUU4LFxuICAgIC8vIHdlIG5lZWQgdG8gZHVwbGljYXRlIHRoaXMgbWFyZ2luIHRoYXQgY2VudGVycyB0aGUgcGFnZS5cbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy93aWR0aC1jb250YWluZXJcIikge1xuICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay13aWR0aC1jb250YWluZXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJhY2NvcmRpb24vYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiYmFjay1saW5rL2JhY2stbGlua1wiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJzL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiYnV0dG9uL2J1dHRvblwiO1xuQGltcG9ydCBcImNoZWNrYm94ZXMvY2hlY2tib3hlc1wiO1xuQGltcG9ydCBcImNoYXJhY3Rlci1jb3VudC9jaGFyYWN0ZXItY291bnRcIjtcbkBpbXBvcnQgXCJzdW1tYXJ5LWxpc3Qvc3VtbWFyeS1saXN0XCI7XG5AaW1wb3J0IFwiZGF0ZS1pbnB1dC9kYXRlLWlucHV0XCI7XG5AaW1wb3J0IFwiZGV0YWlscy9kZXRhaWxzXCI7XG5AaW1wb3J0IFwiZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiZXJyb3Itc3VtbWFyeS9lcnJvci1zdW1tYXJ5XCI7XG5AaW1wb3J0IFwiZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCJmaWxlLXVwbG9hZC9maWxlLXVwbG9hZFwiO1xuQGltcG9ydCBcImZvb3Rlci9mb290ZXJcIjtcbkBpbXBvcnQgXCJoaW50L2hpbnRcIjtcbkBpbXBvcnQgXCJoZWFkZXIvaGVhZGVyXCI7XG5AaW1wb3J0IFwiaW5wdXQvaW5wdXRcIjtcbkBpbXBvcnQgXCJpbnNldC10ZXh0L2luc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJsYWJlbC9sYWJlbFwiO1xuQGltcG9ydCBcInBhbmVsL3BhbmVsXCI7XG5AaW1wb3J0IFwicGhhc2UtYmFubmVyL3BoYXNlLWJhbm5lclwiO1xuQGltcG9ydCBcInRhYnMvdGFic1wiO1xuQGltcG9ydCBcInRhZy90YWdcIjtcbkBpbXBvcnQgXCJyYWRpb3MvcmFkaW9zXCI7XG5AaW1wb3J0IFwic2VsZWN0L3NlbGVjdFwiO1xuQGltcG9ydCBcInNraXAtbGluay9za2lwLWxpbmtcIjtcbkBpbXBvcnQgXCJ0YWJsZS90YWJsZVwiO1xuQGltcG9ydCBcInRleHRhcmVhL3RleHRhcmVhXCI7XG5AaW1wb3J0IFwid2FybmluZy10ZXh0L3dhcm5pbmctdGV4dFwiO1xuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9hY2NvcmRpb25cIikge1xuXG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gQm9yZGVycyBiZXR3ZWVuIGFjY29yZGlvbiBzZWN0aW9uc1xuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0XG4gIH1cblxuICAvLyBCdXR0b25zIHdpdGhpbiB0aGUgc2VjdGlvbnMgZG9u4oCZdCBuZWVkIGRlZmF1bHQgc3R5bGluZ1xuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1zdW1tYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvdHRvbSBtYXJnaW4gZnJvbSB0aGUgbGFzdCBpdGVtIGluc2lkZSB0aGUgY29udGVudFxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIEphdmFTY3JpcHQgZW5hYmxlZFxuICAuanMtZW5hYmxlZCB7XG5cbiAgICAuZ292dWstYWNjb3JkaW9uIHtcbiAgICAgIC8vIEJvcmRlciBhdCB0aGUgYm90dG9tIG9mIHRoZSB3aG9sZSBhY2NvcmRpb25cbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBCb3JkZXJzIGJldHdlZW4gYWNjb3JkaW9uIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBib2R5IG9mIGNvbGxhcHNlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsIFwidG9wXCIpO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsIFwiYm90dG9tXCIpO1xuICAgIH1cblxuICAgIC8vIFNob3cgdGhlIGJvZHkgb2YgZXhwYW5kZWQgc2VjdGlvbnNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLS1leHBhbmRlZCAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpcyBzdHlsZWQgdG8gbG9vayBsaWtlIGEgbGluayBub3QgYSBidXR0b25cbiAgICAuZ292dWstYWNjb3JkaW9uX19vcGVuLWFsbCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWN0aW9uIGhlYWRlcnMgaGF2ZSBhIHBvaW50ZXIgY3Vyc29yIGFzIGFuIGFkZGl0aW9uYWwgYWZmb3JkYW5jZVxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFNhZmUgYXJlYSBvbiB0aGUgcmlnaHQgdG8gYXZvaWQgY2xhc2hpbmcgd2l0aCBpY29uXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIFNlY3Rpb24gaGVhZGVycyBoYXZlIGEgZ3JleSBiYWNrZ3JvdW5kIG9uIGhvdmVyIGFzIGFuIGFkZGl0aW9uYWwgYWZmb2RhbmNlXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS00XCIpO1xuICAgICAgLy8gRm9yIGRldmljZXMgdGhhdCBjYW4ndCBob3ZlciBzdWNoIGFzIHRvdWNoIGRldmljZXMsXG4gICAgICAvLyByZW1vdmUgaG92ZXIgc3RhdGUgYXMgaXQgY2FuIGJlIHN0dWNrIGluIHRoYXQgc3RhdGUgKGlPUykuXG4gICAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0dGluZyBmb2N1cyBzdHlsZXMgb24gaGVhZGVyIHNvIHRoYXQgc3VtbWFyeSB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBidXR0b24gaXMgaW5jbHVkZWQgaW4gZm9jdXNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRlci0tZm9jdXNlZCB7XG4gICAgICAvLyBUaGVzZSByZXBsaWNhdGUgQG1peGluIGdvdnVrLWZvY3VzYWJsZSAodGhlIG1peGluIGNhbid0IGJlIHVzZWQgYXMgdGhlIGhlYWRlciBkb2Vzbid0IGdldCB0aGUgZm9jdXMpXG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIH1cblxuICAgIC8vIEJ1dHRvbnMgd2l0aGluIHRoZSBoZWFkZXJzIGRvbuKAmXQgbmVlZCBkZWZhdWx0IHN0eWxpbmdcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAvLyBIZWFkaW5ncyBpbiBzZWN0aW9uIGhlYWRlcnMgaGF2ZSBsaW5rIGNvbG91cnMgYXMgYW4gYWRkaXRpb25hbCBhZmZvZGFuY2VcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXh0ZW5kIHRoZSB0b3VjaCBhcmVhIG9mIHRoZSBidXR0b24gdG8gc3BhbiB0aGUgc2VjdGlvbiBoZWFkZXJcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2NvbnRyb2xzIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8vIERpc3BsYXkgYW4gaWNvbiB0byB0aGUgcmlnaHQgb2YgZWFjaCBoZWFkZXIgdG8gaW5kaWNhdGUgb3Blbi9jbG9zZWQgc3RhdHVzLFxuICAgIC8vIGFuZCBhcyBhbiBhZGRpdGlvbmFsIGFmZm9yZGFuY2UuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIsXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgaGVpZ2h0OiAyNSU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGJhciBzaG91bGQgYmUgaGlkZGVuIHdoZW4gc2VjdGlvbiBpcyBvcGVuLCB0byBkaXNwbGF5IGEgJy0nIGljb25cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLS1leHBhbmRlZCAuZ292dWstYWNjb3JkaW9uX19pY29uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JhY2stbGlua1wiKSB7XG5cbiAgLmdvdnVrLWJhY2stbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIEFsbG93IHNwYWNlIGZvciB0aGUgYXJyb3dcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG5cbiAgICAvLyBVc2UgYm9yZGVyLWJvdHRvbSByYXRoZXIgdGhhbiB0ZXh0LWRlY29yYXRpb24gc28gdGhhdCB0aGUgYXJyb3cgaXNcbiAgICAvLyB1bmRlcmxpbmVkIGFzIHdlbGwuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gICAgLy8gVW5kZXJsaW5lIGlzIHByb3ZpZGVkIGJ5IGEgYm90dG9tIGJvcmRlclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIC8vIFByZXBlbmQgbGVmdCBwb2ludGluZyBhcnJvd1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGxlZnQsICRiYXNlOiAxMHB4LCAkaGVpZ2h0OiA2cHgpO1xuXG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAvLyBWZXJ0aWNhbGx5IGFsaWduIHdpdGggdGhlIHBhcmVudCBlbGVtZW50XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgbGVmdDogMDtcblxuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuXG4gIC5nb3Z1ay1iYWNrLWxpbms6YmVmb3JlIHtcbiAgICAkb2Zmc2V0OiAxcHg7XG5cbiAgICB0b3A6ICRvZmZzZXQgKiAtMTtcbiAgICBib3R0b206ICRvZmZzZXQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JyZWFkY3J1bWJzXCIpIHtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gKGV4Y2x1ZGluZyBib3JkZXIpXG4gICRjaGV2cm9uLXNpemU6IDdweDtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC8vIENvbG91ciBvZiBjaGV2cm9uXG4gICRjaGV2cm9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgLy8gQ2FsY3VsYXRlZCBhbHRpdHVkZSAo4paz4oaVKSBvZiB0aGUgcmlnaHQtYW5nbGVkIGlzb3NjZWxlcyBjaGV2cm9uIHdpdGggc2lkZXNcbiAgLy8gb2YgbGVuZ3RoIDggKDdweCArIDFweCBib3JkZXIpOlxuICAvL1xuICAvLyDiiJooOMKyICsgOMKyKSAqIDAuNSDiiYUgNS42NTVcbiAgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDogNS42NTVweDtcblxuICAuZ292dWstYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFkZCBib3RoIG1hcmdpbiBhbmQgcGFkZGluZyBzdWNoIHRoYXQgdGhlIGNoZXZyb24gYXBwZWFycyBjZW50cmFsbHlcbiAgICAvLyBiZXR3ZWVuIGVhY2ggYnJlYWRjcnVtYiBpdGVtXG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpICsgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gQ3JlYXRlIGEgY2hldnJvbiB1c2luZyBhIGJveCB3aXRoIGJvcmRlcnMgb24gdHdvIHNpZGVzLCByb3RhdGVkIDQ1ZGVnLlxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgICAgIC8vIFRoZXNlIHNob3VsZCBiZSByZXZlcnRlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdFxuICAgICAgLy8gYmFzZWxpbmVcblxuICAgICAgLy8gdG9wOiAwO1xuICAgICAgLy8gYm90dG9tOiAwO1xuXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDFweDtcblxuICAgICAgLy8gRW5kIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuXG4gICAgICAvLyBPZmZzZXQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgd2lkdGggb2YgdGhlIG5vbi1yb3RhdGVkIHNxdWFyZVxuICAgICAgLy8gYW5kIGl0cyB3aWR0aCB3aGVuIHJvdGF0ZWRcbiAgICAgIGxlZnQ6ICgoJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZCAqIC0yKSArICRjaGV2cm9uLXNpemUgKyAkY2hldnJvbi1ib3JkZXItd2lkdGgpO1xuXG4gICAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICAgIGhlaWdodDogJGNoZXZyb24tc2l6ZTtcblxuICAgICAgbWFyZ2luOiBhdXRvIDA7XG5cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgIGJvcmRlcjogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6ICRjaGV2cm9uLWJvcmRlci13aWR0aCAkY2hldnJvbi1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAvLyBGYWxsIGJhY2sgdG8gYSBncmVhdGVyIHRoYW4gc2lnbiBmb3IgSUU4XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBjb250ZW50OiBcIlxcMDAzZVwiOyAvLyBHcmVhdGVyIHRoYW4gc2lnbiAoPilcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgICAgICAvLyBJRTggZG9lc24ndCBzZWVtIHRvIGxpa2UgcmVuZGVyaW5nIHBzZXVkby1lbGVtZW50cyB1c2luZyBAZm9udC1mYWNlcyxcbiAgICAgICAgLy8gc28gZmFsbCBiYWNrIHRvIHVzaW5nIGFub3RoZXIgc2Fucy1zZXJpZiBmb250IHRvIHJlbmRlciB0aGUgY2hldnJvbi5cbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnV0dG9uXCIpIHtcblxuICAkZ292dWstYnV0dG9uLWNvbG91cjogIzAwODIzYjtcbiAgJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGRhcmtlbigkZ292dWstYnV0dG9uLWNvbG91ciwgNSUpO1xuICAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGRhcmtlbigkZ292dWstYnV0dG9uLWNvbG91ciwgMTUlKTtcbiAgJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgLy8gQmVjYXVzZSB0aGUgc2hhZG93IChzMCkgaXMgdmlzdWFsbHkgJ3BhcnQgb2YnIHRoZSBidXR0b24sIHdlIG5lZWQgdG8gcmVkdWNlXG4gIC8vIHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvbiB0byBjb21wZW5zYXRlIGJ5IGFkanVzdGluZyBpdHMgcGFkZGluZyAoczEpIGFuZFxuICAvLyBpbmNyZWFzZSB0aGUgYm90dG9tIG1hcmdpbiB0byBpbmNsdWRlIGl0IChzMikuXG4gICRidXR0b24tc2hhZG93LXNpemU6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkYnV0dG9uLXNoYWRvdy1zaXplKTsgLy8gczJcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSkgZ292dWstc3BhY2luZygyKTsgLy8gczFcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi1zaGFkb3ctc2l6ZSBzb2xpZCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHRoYXQgYW55IGdsb2JhbCBsaW5rIHN0eWxlcyBhcmUgb3ZlcnJpZGRlblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgICAvLyBzbyB0aGF0IHVudmlzaXRlZCBsaW5rcyBzdHlsZWQgYXMgYnV0dG9ucyBkbyBub3QgZW5kIHVwIHdpdGggZGFyayBibHVlXG4gICAgLy8gdGV4dCB3aGVuIGZvY3Vzc2VkLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpeCB1bndhbnRlZCBidXR0b24gcGFkZGluZyBpbiBGaXJlZm94XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0b3A6ICRidXR0b24tc2hhZG93LXNpemU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBmb2xsb3dpbmcgYWRqdXN0bWVudHMgZG8gbm90IHdvcmsgZm9yIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCI+IGFzXG4gICAgLy8gbm9uLWNvbnRhaW5lciBlbGVtZW50cyBjYW5ub3QgaW5jbHVkZSBwc2V1ZG8gZWxlbWVudHMgKGkuZS4gOjpiZWZvcmUpLlxuXG4gICAgLy8gVXNlIGEgcHNldWRvIGVsZW1lbnQgdG8gZXhwYW5kIHRoZSBjbGljayB0YXJnZXQgYXJlYSB0byBpbmNsdWRlIHRoZVxuICAgIC8vIGJ1dHRvbidzIHNoYWRvdyBhcyB3ZWxsLCBpbiBjYXNlIHVzZXJzIHRyeSB0byBjbGljayBpdC5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIHRvcDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgcmlnaHQ6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICAgIGJvdHRvbTogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgICAgbGVmdDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHRoZSBidXR0b24gaXMgYWN0aXZlIGl0IGlzIHNoaWZ0ZWQgZG93biBieSAkYnV0dG9uLXNoYWRvdy1zaXplIHRvXG4gICAgLy8gZGVub3RlIGEgJ3ByZXNzZWQnIHN0YXRlLiBJZiB0aGUgdXNlciBoYXBwZW5lZCB0byBjbGljayBhdCB0aGUgdmVyeSB0b3BcbiAgICAvLyBvZiB0aGUgYnV0dG9uLCB0aGVpciBtb3VzZSBpcyBubyBsb25nZXIgb3ZlciB0aGUgYnV0dG9uIChiZWNhdXNlIGl0IGhhc1xuICAgIC8vICdtb3ZlZCBiZW5lYXRoIHRoZW0nKSBhbmQgc28gdGhlIGNsaWNrIGV2ZW50IGlzIG5vdCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIFRoaXMgY29ycmVjdHMgdGhhdCBieSBzaGlmdGluZyB0aGUgdG9wIG9mIHRoZSBwc2V1ZG8gZWxlbWVudCBzbyB0aGF0IGl0XG4gICAgLy8gY29udGludWVzIHRvIGNvdmVyIHRoZSBhcmVhIHRoYXQgdGhlIHVzZXIgb3JpZ2luYWxseSBjbGlja2VkLCB3aGljaCBtZWFuc1xuICAgIC8vIHRoZSBjbGljayBldmVudCBpcyBzdGlsbCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIPCfjolcbiAgICAmOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIHRvcDogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWRpc2FibGVkLFxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0sXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAoLjUpO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi1zaGFkb3ctc2l6ZSBzb2xpZCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tc3RhcnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAyNCwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiAxKTtcblxuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiaWNvbi1wb2ludGVyLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuXG4gICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImljb24tcG9pbnRlci0yeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMTlweDtcbiAgICB9XG4gIH1cblxuICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiB0aGUgZm9udCBpcyB1cGRhdGVkIHdpdGggdGhlIGNvcnJlY3QgYmFzZWxpbmVcbiAgLy8gRm9yIHRoZSAxcHggYWRkaXRpb24gcGxlYXNlIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmQvcHVsbC8zNjUjZGlzY3Vzc2lvbl9yMTU0MzQ5NDI4XG5cbiAgJG9mZnNldDogMjtcblxuICAuZ292dWstYnV0dG9uIHtcbiAgICBwYWRkaW5nLXRvcDogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgKyAkb2Zmc2V0KTsgLy8gczFcbiAgICBwYWRkaW5nLWJvdHRvbTogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgLSAkb2Zmc2V0ICsgMSk7IC8vIHMxXG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1zdGFydCB7XG4gICAgcGFkZGluZy10b3A6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpICsgJG9mZnNldCk7IC8vIHMxXG4gICAgcGFkZGluZy1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpIC0gJG9mZnNldCArIDEpOyAvLyBzMVxuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoZWNrYm94ZXNcIikge1xuICAkZ292dWstY2hlY2tib3hlcy1zaXplOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDAgMCAwICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG5cbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOCBkb2VzbuKAmXQgc3VwcG9ydCBwc2V1ZG9lbGVtZW50cywgc28gd2UgZG9u4oCZdCB3YW50IHRvIGhpZGUgbmF0aXZlIGVsZW1lbnRzIHRoZXJlLlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBhZGQgZm9jdXMgb3V0bGluZSB0byBpbnB1dCBlbGVtZW50IGZvciBJRThcbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogOHB4ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC8vIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiA3cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkZ292dWstYm9yZGVyLXdpZHRoICRnb3Z1ay1ib3JkZXItd2lkdGg7XG4gICAgLy8gRml4IGJ1ZyBpbiBJRTExIGNhdXNlZCBieSB0cmFuc2Zvcm0gcm90YXRlICgtNDVkZWcpLlxuICAgIC8vIFNlZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHMvaXNzdWVzLzUxOFxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gU2luY2UgYm94LXNoYWRvd3MgYXJlIHJlbW92ZWQgd2hlbiB1c2VycyBjdXN0b21pc2UgdGhlaXIgY29sb3Vyc1xuICAgIC8vIFdlIHNldCBhIHRyYW5zcGFyZW50IG91dGxpbmUgdGhhdCBpcyBzaG93biBpbnN0ZWFkLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6ICRnb3Z1ay1mb2N1cy13aWR0aDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpjaGVja2VkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1tb2JpbGU7XG4gIC8vIENhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIHBhZGRpbmcgbmVlZGVkIHRvIGtlZXAgdGhlIGJvcmRlciBjZW50ZXJlZCBhZ2FpbnN0IHRoZSBjaGVja2JveC5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgLy8gTW92ZSB0aGUgYm9yZGVyIGNlbnRlcmVkIHdpdGggdGhlIGNoZWNrYm94XG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcblxuICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmpzLWVuYWJsZWQgJi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1tZXNzYWdlXCIpIHtcbiAgLmdvdnVrLWVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmllbGRzZXRcIikge1xuICAuZ292dWstZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICAvLyBGaXggbGVnZW5kIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUVcbiAgICAvLyAxLiBJRTktMTEgJiBFZGdlIDEyLTEzXG4gICAgLy8gMi4gSUU4LTExXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAgICAgICAgIC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICAgICAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8vIEhhY2sgdG8gbGV0IGxlZ2VuZHMgb3IgZWxlbWVudHMgd2l0aGluIGxlZ2VuZHMgaGF2ZSBtYXJnaW5zIGluIHdlYmtpdCBicm93c2Vyc1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAgICAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmcgYXMgaWYgaXQgaXNcbiAgLy8gbm90IHRoZXJlLlxuICAuZ292dWstZmllbGRzZXRfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hpbnRcIikge1xuICAuZ292dWstaGludCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXIgaXRcbiAgLy8gaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluIHRoaXNcbiAgLy8gY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS4gXG4gIC8vIFVzZXJzIHdpdGggdGhlc2UgYnJvd3NlcnMgd2lsbCBzZWUgdGhlIGRlZmF1bHQgc2l6ZSBtYXJnaW4gKDVweCBsYXJnZXIpLlxuXG4gIC5nb3Z1ay1sYWJlbDpub3QoLmdvdnVrLWxhYmVsLS1tKTpub3QoLmdvdnVrLWxhYmVsLS1sKTpub3QoLmdvdnVrLWxhYmVsLS14bCkgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgbWFyZ2luLWJvdHRvbSBvZiBoaW50IHdoZW4gdXNlZCBhZnRlciB0aGUgZGVmYXVsdCBsZWdlbmQgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGZvciBiZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50LlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIHdoZW4gdGhlIGxlZ2VuZCBpcyBvdXRzaWRlIHRoZSA8aDE+LCBob3dldmVyXG4gIC8vIGl0IGlzIHVubGlrZWx5IHRoYXQgdGhlIGRlZmF1bHQgb3IgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyBjbGFzcyB3b3VsZCBiZVxuICAvLyB1c2VkIGluIHRoaXMgY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS4gXG4gIC8vIFVzZXJzIHdpdGggdGhlc2UgYnJvd3NlcnMgd2lsbCBzZWUgdGhlIGRlZmF1bHQgc2l6ZSBtYXJnaW4gKDVweCBsYXJnZXIpLlxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSk6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyB2aXN1YWwgc3BhY2luZyBvZiBsZWdlbmQgd2hlbiB0aGVyZSBpcyBhIGhpbnRcblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCArIC5nb3Z1ay1oaW50LFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tdG9wOiAtKGdvdnVrLXNwYWNpbmcoMSkpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9sYWJlbFwiKSB7XG4gIC5nb3Z1ay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzIHRoYXQgbWFrZSBsYWJlbHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1sYWJlbC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIGxhYmVsIGlzIG5lc3RlZCBpbnNpZGUgYSBoZWFkaW5nLCBvdmVycmlkZSB0aGUgaGVhZGluZyBzbyB0aGF0IGl0XG4gIC8vIGRvZXMgbm90IGhhdmUgYSBtYXJnaW4uIEVmZmVjdGl2ZWx5IHdlIHdhbnQgdG8gYmUgYWJsZSB0byB0cmVhdCB0aGUgaGVhZGluZ1xuICAvLyBhcyBpZiBpdCBpcyBub3QgdGhlcmUuXG4gIC8vXG4gIC8vIFRoaXMgYnJlYWtzIEJFTSBjb252ZW50aW9ucyBiZWNhdXNlIGl0IGV4aXN0cyBhcyBhIHBhcmVudCBvZiB0aGUgJ2Jsb2NrJyxcbiAgLy8gc28gd2UgY2FuJ3QgcmVhbGx5IGNvbnNpZGVyIGFuIGVsZW1lbnQuXG4gIC5nb3Z1ay1sYWJlbC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGFyYWN0ZXItY291bnRcIikge1xuICAuZ292dWstY2hhcmFjdGVyLWNvdW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwLFxuICAgIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgIC5nb3Z1ay10ZXh0YXJlYS0tZXJyb3Ige1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAtIDI7IC8vIFN0b3AgYSBcImp1bXBcIiB3aGVuIHdpZHRoIG9mIGJvcmRlciBjaGFuZ2VzXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZS0tZGlzYWJsZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc3VtbWFyeS1saXN0XCIpIHtcblxuICAuZ292dWstc3VtbWFyeS1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgcGFkZGluZzogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tcmlnaHQ6ICBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBJbiBvbGRlciBicm93c2VycyBzdWNoIGFzIElFOCwgOmxhc3QtY2hpbGQgaXMgbm90IGF2YWlsYWJsZSxcbiAgLy8gc28gb25seSBzaG93IHRoZSBib3JkZXIgZGl2aWRlciB3aGVyZSBpdCBpcyBhdmFpbGFibGUuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdC0tbm8tYm9yZGVyIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyxcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbnB1dFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGF0ZS1pbnB1dFwiKSB7XG4gIC5nb3Z1ay1kYXRlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAvLyBmb250LXNpemU6IDAgcmVtb3ZlcyB3aGl0ZXNwYWNlIGNhdXNlZCBieSBpbmxpbmUtYmxvY2tcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2lucHV0XCIpIHtcbiAgLmdvdnVrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgLy8gc2V0dGluZyBhbnkgYmFja2dyb3VuZC1jb2xvciBtYWtlcyB0ZXh0IGludmlzaWJsZSB3aGVuIGNoYW5naW5nIGNvbG91cnMgdG8gZGFyayBiYWNrZ3JvdW5kcyBpbiBGaXJlZm94IChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM1NDc2KVxuICAgIC8vIGFzIGJhY2tncm91bmQtY29sb3IgYW5kIGNvbG9yIG5lZWQgdG8gYWx3YXlzIGJlIHNldCB0b2dldGhlciwgY29sb3Igc2hvdWxkIG5vdCBiZSBzZXQgZWl0aGVyXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gRGlzYWJsZSBpbm5lciBzaGFkb3cgYW5kIHJlbW92ZSByb3VuZGVkIGNvcm5lcnNcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgLy8gVGhlIGV4IG1lYXN1cmVtZW50cyBhcmUgYmFzZWQgb24gdGhlIG51bWJlciBvZiBXJ3MgdGhhdCBjYW4gZml0IGluc2lkZSB0aGUgaW5wdXRcbiAgLy8gRXh0cmEgc3BhY2UgaXMgbGVmdCBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIHRvIGFsbG93IGZvciB0aGUgU2FmYXJpIHByZWZpbGwgaWNvblxuICAvLyBMaW5lYXIgcmVncmVzc2lvbiBlc3RpbWF0aW9uIGJhc2VkIG9uIHZpc3VhbCB0ZXN0czogeSA9IDEuNzYgKyAxLjgxeFxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMzAge1xuICAgIG1heC13aWR0aDogNTZleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogMzhleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMTAge1xuICAgIG1heC13aWR0aDogMjBleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNSB7XG4gICAgbWF4LXdpZHRoOiAxMC44ZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTQge1xuICAgIG1heC13aWR0aDogOWV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0zIHtcbiAgICBtYXgtd2lkdGg6IDcuMmV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IDUuNGV4O1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuXG4gIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAvLyBNYWtlIHRoZSBmb2N1cyBvdXRsaW5lIHNocmluay13cmFwIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHN1bW1hcnlcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBBYnNvbHV0ZWx5IHBvc2l0aW9uIHRoZSBtYXJrZXIgYWdhaW5zdCB0aGlzIGVsZW1lbnRcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWxsb3cgZm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBtYXJrZXIgYW5kIGFsaWduIHdpdGggZGlzY2xvc2VkIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgKyAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgLy8gU3R5bGUgdGhlIHN1bW1hcnkgdG8gbG9vayBsaWtlIGEgbGluay4uLlxuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLy8gLi4uYnV0IG9ubHkgdW5kZXJsaW5lIHRoZSB0ZXh0LCBub3QgdGhlIGFycm93XG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyB7XG4gICAgLy8gLTFweCBvZmZzZXQgZml4ZXMgZ2FwIGJldHdlZW4gYmFja2dyb3VuZCBhbmQgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgb3V0bGluZTogKCRnb3Z1ay1mb2N1cy13aWR0aCArIDFweCkgc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAvLyBlbnN1cmUgaXQgZGlzcGxheXMgaW4gRmlyZWZveCAoc2VlIGltcGxlbWVudGF0aW9uLm1kIGZvciBkZXRhaWxzKVxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFwcGVuZCBvdXIgb3duIG9wZW4gLyBjbG9zZWQgbWFya2VyIHVzaW5nIGEgcHNldWRvLWVsZW1lbnRcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAuZ292dWstZGV0YWlsc1tvcGVuXSA+ICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDE0cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vY29yZS9saXN0c1wiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLXN1bW1hcnlcIikge1xuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZSBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHkge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENyb3NzLWNvbXBvbmVudCBjbGFzcyAtIGFkanVzdHMgc3R5bGluZyBvZiBsaXN0IGNvbXBvbmVudFxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbGluayBzdHlsaW5nIHRvIHVzZSBlcnJvciBjb2xvdXJcbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpbGUtdXBsb2FkXCIpIHtcbiAgLmdvdnVrLWZpbGUtdXBsb2FkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuICB9XG5cbiAgLmdvdnVrLWZpbGUtdXBsb2FkLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvdHlwb2dyYXBoeVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG5cbiAgJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstZm9vdGVyLWJvcmRlci10b3A6ICNhMWFjYjI7XG4gICRnb3Z1ay1mb290ZXItYm9yZGVyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTJcIik7XG4gICRnb3Z1ay1mb290ZXItdGV4dDogIzQ1NGE0YztcbiAgJGdvdnVrLWZvb3Rlci1saW5rOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICRnb3Z1ay1mb290ZXItbGluay1ob3ZlcjogIzE3MTgxOTtcblxuICAvLyBCYXNlZCBvbiB0aGUgZ292dWstY3Jlc3QtMngucG5nIGltYWdlIGRpbWVuc2lvbnMuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGgtMng6IDI1MHB4O1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodC0yeDogMjA0cHg7XG4gIC8vIEhhbGYgdGhlIDJ4IGltYWdlIHNvIHRoYXQgaXQgZml0cyB0aGUgcmVndWxhciAxeCBzaXplLlxuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeCAvIDIpO1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4IC8gMik7XG5cbiAgLmdvdnVrLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyO1xuICAgIH1cblxuICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbi1icmVhayB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBgPGhyPmAgZGVmYXVsdCBtYXJnaW5zXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgYm9yZGVyOiAwOyAvLyBSZXNldCBgPGhyPmAgZGVmYXVsdCBib3JkZXJzXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAzMjBweDtcbiAgICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzIwcHg7XG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMyMHB4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19jb3B5cmlnaHQtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0ICsgZ292dWstc3BhY2luZygyKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiZ292dWstY3Jlc3QucG5nXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC0yeC5wbmdcIik7XG4gICAgfVxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aCAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWN1c3RvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDcsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX25hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLy8gRW5zdXJlIGNvbHVtbnMgdGFrZSB1cCBlcXVhbCB3aWR0aCAodHlwaWNhbGx5IG9uZS1oYWxmOm9uZS1oYWxmKVxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1mbGV4LXNocmluazogMTtcbiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIC8vIE1ha2Ugc3VyZSBjb2x1bW5zIGRvIG5vdCBkcm9wIGJlbG93IDIwMHB4IGluIHdpZHRoXG4gICAgICAvLyBXaWxsIHR5cGljYWxseSByZXN1bHQgaW4gd3JhcHBpbmcsIGFuZCBlbmQgdXAgaW4gYSBzaW5nbGUgY29sdW1uIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAgICAgIC13ZWJraXQtZmxleC1iYXNpczogMjAwcHg7XG4gICAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDIwMHB4O1xuICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC8vIFNlY3Rpb25zIHR3by10aGlyZDpvbmUtdGhpcmQgb24gZGVza3RvcFxuICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDI7XG4gICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMjtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAkZ292dWstZ3V0dGVyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gIH1cblxuICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19saXN0LS1jb2x1bW5zLTIge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMyB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvdHlwb2dyYXBoeVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hlYWRlclwiKSB7XG5cbiAgJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAkZ292dWstaGVhZGVyLXRleHQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbms6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstaG92ZXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlOiAjMWQ4ZmViO1xuICAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjogIzJlMzEzMztcblxuICAuZ292dWstaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBib3JkZXItYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kO1xuXG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXItLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLWZhbGxiYWNrLWltYWdlIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZS1maWxsO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1ob21lcGFnZSB7XG4gICAgLy8gRm9udCBzaXplIG5lZWRzIHRvIGJlIHNldCBvbiB0aGUgbGluayBzbyB0aGF0IHRoZSBib3ggc2l6aW5nIGlzIGNvcnJlY3RcbiAgICAvLyBpbiBGaXJlZm94XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDsgLy8gV2UgZG9uJ3QgaGF2ZSBhIG1peGluIHRoYXQgcHJvZHVjZXMgMzBweCBmb250IHNpemVcbiAgICBsaW5lLWhlaWdodDogMzBweDtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gTmVnYXRlIHRoZSBhZGRlZCBib3JkZXJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAvLyBPbWl0dGluZyBjb2xvdXIgd2lsbCB1c2UgZGVmYXVsdCB2YWx1ZSBvZiBjdXJyZW50Q29sb3Ig4oCTIGlmIHdlXG4gICAgICAvLyBzcGVjaWZpZWQgY3VycmVudENvbG9yIGV4cGxpY2l0bHkgSUU4IHdvdWxkIGlnbm9yZSB0aGlzIHJ1bGUuXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0tc2VydmljZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg4KTtcblxuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IHRhYmxldCkge1xuICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uLS1vcGVuIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDIsIFwiYm90dG9tXCIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuanMtZW5hYmxlZCB7XG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLWVuZCB7XG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1uby1zZXJ2aWNlLW5hbWUge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbS0tYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rLWFjdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBpbnZlcnRlZCBjcm93biB3aGVuIHByaW50aW5nIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBTVkcuXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG8gbm90IGFwcGVuZCBsaW5rIGhyZWYgdG8gR09WLlVLIGxpbmsgd2hlbiBwcmludGluZyAoZS5nLiAnKC8pJylcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bixcbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7XG4gIH1cblxuICAuZ292dWstaGVhZGVyIHtcbiAgICAkb2Zmc2V0OiAzcHg7XG4gICAgcGFkZGluZy10b3A6ICRvZmZzZXQ7XG4gIH1cbiAgLy8gRW5kIGFkanVzdG1lbnRzXG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgOm9ubHktY2hpbGQsXG4gICAgOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhbmVsXCIpIHtcblxuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbC0tY29uZmlybWF0aW9uIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNik7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi90YWcvdGFnXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGhhc2UtYmFubmVyXCIpIHtcbiAgLmdvdnVrLXBoYXNlLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWdcIikge1xuICAuZ292dWstdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIC8vIFNpbmNlIE5ldyBUcmFuc3BvcnQgc2l0cyBzbGlnaHRseSBoaWdoZXIgdGhhbiBvdGhlciBjb21tb24gZm9udHMuXG4gICAgLy8gV2UgdXNlIGludGVudGlvbmFsbHkgdW5ldmVuIHBhZGRpbmcgdG8gbWFrZSBpdCBiYWxhbmNlZCwgdGhpcyBjYW4gYmVcbiAgICAvLyByZW1vdmVkIHVzaW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBmb250IHRoYXQgaGFzIGEgbW9yZSBjb21tb24gdmVydGljYWwgc3BhY2luZy5cbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuXG4gICAgLy8gV2hlbiBhIHVzZXIgY3VzdG9taXNlcyB0aGVpciBjb2xvdXJzIG9mdGVuIHRoZSBiYWNrZ3JvdW5kIGlzIHJlbW92ZWQsXG4gICAgLy8gYnkgYWRkaW5nIGEgb3V0bGluZSB3ZSBlbnN1cmUgdGhhdCB0aGUgdGFnIGNvbXBvbmVudCBzdGlsbCBrZWVwcyBpdCdzIG1lYW5pbmcuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYnNcIikge1xuXG4gIC5nb3Z1ay10YWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMSwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstdGFic19fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oCUIFwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0gZ292dWstc3BhY2luZyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcblxuICAgICZbYXJpYS1jdXJyZW50ID0gXCJ0cnVlXCJdIHtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5qcy1lbmFibGVkIHtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcblxuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS00XCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmLS1zZWxlY3RlZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAgICAgICAvLyAxcHggaXMgY29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSAxcHggc2hpZnQpXG4gICAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMykgLSAxcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKSArIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAxcHg7XG5cbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg2KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3JhZGlvc1wiKSB7XG4gICRnb3Z1ay1yYWRpb3Mtc2l6ZTogZ292dWstc3BhY2luZyg3KTtcbiAgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIC8vIFdoZW4gdGhlIGRlZmF1bHQgZm9jdXMgd2lkdGggaXMgdXNlZCBvbiBhIGN1cnZlZCBlZGdlIGl0IGxvb2tzIHZpc3VhbGx5IHNtYWxsZXIuXG4gIC8vIFNvIGZvciB0aGUgY2lyY3VsYXIgcmFkaW9zIHdlIGJ1bXAgdGhlIGRlZmF1bHQgdG8gbWFrZSBpdCBsb29rIHZpc3VhbGx5IGNvbnNpc3RlbnQuXG4gICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGg6ICRnb3Z1ay1mb2N1cy13aWR0aCArIDFweDtcblxuICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMCAwIDAgJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4IGRvZXNu4oCZdCBzdXBwb3J0IHBzZXVkb2VsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmUgZWxlbWVudHMgdGhlcmUuIERvdWJsZSBjb2xvbnMgZ2V0IG9tbWl0ZWQgYnkgSUU4LlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBhZGQgZm9jdXMgb3V0bGluZSB0byBpbnB1dCBlbGVtZW50IGZvciBJRThcbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBib3JkZXI6IGdvdnVrLXNwYWNpbmcoMikgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBTaW5jZSBib3gtc2hhZG93cyBhcmUgcmVtb3ZlZCB3aGVuIHVzZXJzIGN1c3RvbWlzZSB0aGVpciBjb2xvdXJzXG4gICAgLy8gV2Ugc2V0IGEgdHJhbnNwYXJlbnQgb3V0bGluZSB0aGF0IGlzIHNob3duIGluc3RlYWQuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJGdvdnVrLWZvY3VzLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyBJbmxpbmUgdmFyaWFudFxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnQgaW5saW5lIG1vZGlmaWVyIGJlaW5nIHVzZWQgd2l0aCBjb25kaXRpb25hbCByZXZlYWxzXG4gICAgJi5nb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgICRnb3Z1ay1kaXZpZGVyLXNpemU6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgd2lkdGg6ICRnb3Z1ay1kaXZpZGVyLXNpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTtcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIHJhZGlvcy5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgcmFkaW9zXG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7IC8vIHdhcyA1cHggNHB4IDRweCAtIHNpemUgb2YgaXQgc2hvdWxkIGJlIGFkanVzdGVkIHRvIG1hdGNoIG90aGVyIGZvcm0gZWxlbWVudHNcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246YWN0aXZlLFxuICAuZ292dWstc2VsZWN0IG9wdGlvbjpjaGVja2VkLFxuICAuZ292dWstc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdC0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9za2lwLWxpbmtcIikge1xuICAuZ292dWstc2tpcC1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFibGVcIikge1xuICAuZ292dWstdGFibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLFxuICAuZ292dWstdGFibGVfX2NlbGwge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KSBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLy8gR09WLlVLIEVsZW1lbnRzIHNldHMgdGhlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHQgZm9yIGFsbCBoZWFkZXJzIGFuZCBjZWxsc1xuICAgIC8vIGluIHRhYmxlcy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkdGFidWxhcjogdHJ1ZSk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlci0tbnVtZXJpYyxcbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGV4dGFyZWFcIikge1xuICAuZ292dWstdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICByZXNpemU6IHZlcnRpY2FsO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI5cHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7IC8vIEhhbGYgdGhlIGhlaWdodCBvZiB0aGUgY2lyY2xlIChhZGp1c3RlZCBmb3IgTlRBKVxuICAgIHBhZGRpbmctdG9wOiAzcHg7XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgdGhlIGJhY2tncm91bmQgY29sb3VyIHdpbGwgb2Z0ZW4gYmUgcmVtb3ZlZC5cbiAgICAvLyBBZGRpbmcgYSBib3JkZXIgdG8gdGhlIGNvbXBvbmVudCBrZWVwcyBpdCdzIHNoYXBlIGFzIGEgY2lyY2xlLlxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvY2xlYXJmaXhcIikge1xuICAuZ292dWstY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCJkaXNwbGF5XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ3aWR0aFwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLy8gRGlyZWN0aW9ucyBmb3Igc3BhY2luZ1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXG4gIFwidG9wXCIsXG4gIFwicmlnaHRcIixcbiAgXCJib3R0b21cIixcbiAgXCJsZWZ0XCJcbikgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtbWFyZ2luLTAge1xuLy8vICAgICAgbWFyZ2luOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLXRvcC0xIHtcbi8vLyAgICAgbWFyZ2luLXRvcDogW3doYXRldmVyIHNwYWNpbmcgcG9pbnQgMSBpcy4uLl1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuXG4gICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skc2NhbGUtcG9pbnR9IHtcblxuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG5cbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwicGFkZGluZ1wiKTtcbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy93aWR0aFwiKSB7XG4gIC5nb3Z1ay1cXCEtd2lkdGgtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtdGhyZWUtcXVhcnRlcnMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10d28tdGhpcmRzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDY2LjY2JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLWhhbGYge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtdGhpcmQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzMuMzMlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBS0EsQUFBQSxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztFQUFFLFdBQVcsRUFBRSxtRUFBbUU7Q0FBSTs7QUFFcEgsQUFBQSx1QkFBdUIsQ0FBQztFQUFFLFdBQVcsRUFBRSw4RUFBOEU7Q0FBSTs7QUFFekgsQUFBQSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0VBQ1gsV0FBVyxFQUFFLGlCQUFpQjtDQUNqQzs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNQLGNBQWMsRUFBRSxjQUFjO0NBQ2pDOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLGlC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 */
