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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-template {
    background-color: #dee0e2;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

@media screen {
    .govuk-template {
        overflow-y: scroll;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-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 {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
}

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

.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;
}

@supports (margin: max(calc(0px))) {
    .govuk-width-container {
        margin-right: max(15px, calc(15px + env(safe-area-inset-right)));
        margin-left: max(15px, calc(15px + env(safe-area-inset-left)));
    }
}

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

    @supports (margin: max(calc(0px))) {
        .govuk-width-container {
            margin-right: max(30px, calc(15px + env(safe-area-inset-right)));
            margin-left: max(30px, calc(15px + env(safe-area-inset-left)));
        }
    }
}

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

    @supports (margin: max(calc(0px))) {
        .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: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    display: 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: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    font-family: "nta", Arial, sans-serif;
    -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: "nta", Arial, sans-serif;
    -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: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    position: relative;
    margin-top: 15px;
    margin-bottom: 15px;
    padding-left: 14px;
    border-bottom: 1px solid #0b0c0c;
    text-decoration: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-summary-list {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    margin: 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%;
        table-layout: fixed;
    }
}

@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 {
        width: 20%;
        padding-right: 0;
        text-align: right;
    }
}

.govuk-summary-list__key,
.govuk-summary-list__value {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .govuk-footer__list--columns-3 {
        -webkit-column-count: 3;
        column-count: 3;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-header__logo,
.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: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    display: none;
    position: absolute;
    top: 20px;
    right: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: #ffffff;
    background: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print {
    .govuk-header {
        border-bottom-width: 0;
        color: #0b0c0c;
        background: transparent;
    }

    .govuk-header__logotype-crown-fallback-image {
        display: none;
    }

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

    .govuk-header__link:after {
        display: none;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__list {
        border-bottom: 1px solid #bfc1c3;
    }

        .js-enabled .govuk-tabs__list:after {
            content: "";
            display: block;
            clear: both;
        }

    .js-enabled .govuk-tabs__list-item {
        margin-left: 0;
    }

        .js-enabled .govuk-tabs__list-item::before {
            content: none;
        }

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

    .js-enabled .govuk-tabs__tab {
        margin-right: 5px;
        padding-right: 20px;
        padding-left: 20px;
        float: left;
        color: #0b0c0c;
        background-color: #f8f8f8;
        text-align: center;
        text-decoration: none;
    }

    .js-enabled .govuk-tabs__tab--selected {
        margin-top: -5px;
        margin-bottom: -1px;
        padding-top: 14px;
        padding-right: 19px;
        padding-bottom: 16px;
        padding-left: 19px;
        border: 1px solid #bfc1c3;
        border-bottom: 0;
        color: #0b0c0c;
        background-color: #ffffff;
    }

        .js-enabled .govuk-tabs__tab--selected:focus {
            background-color: transparent;
        }

    .js-enabled .govuk-tabs__panel {
        margin-bottom: 0;
        padding-top: 30px;
        padding-right: 20px;
        padding-bottom: 30px;
        padding-left: 20px;
        border: 1px solid #bfc1c3;
        border-top: 0;
    }
}

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

@media (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__panel--hidden {
        display: none;
    }

    .js-enabled .govuk-tabs__panel > :last-child {
        margin-bottom: 0;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 40.0625em) {
    .govuk-radios--inline:after {
        content: "";
        display: block;
        clear: both;
    }

    .govuk-radios--inline .govuk-radios__item {
        margin-right: 20px;
        float: left;
        clear: none;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-skip-link {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 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: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    display: block;
    padding: 10px 15px;
}

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

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

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

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

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

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

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

@supports (padding: max(calc(0px))) {
    .govuk-skip-link {
        padding-right: max(15px, calc(15px + env(safe-area-inset-right)));
        padding-left: max(15px, calc(15px + env(safe-area-inset-left)));
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 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;
    }
}

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

@media print {
    .govuk-check-your-answers {
        font-family: sans-serif;
    }
}

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

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

@media (min-width: 48.0625em) {
    .govuk-check-your-answers {
        display: table;
    }
}

@media (min-width: 48.0625em) {
    .govuk-check-your-answers--short {
        width: 100%;
    }

        .govuk-check-your-answers--short .govuk-check-your-answers__question {
            width: 30%;
        }
}

@media (min-width: 48.0625em) {
    .govuk-check-your-answers--long {
        width: 100%;
    }

        .govuk-check-your-answers--long .govuk-check-your-answers__question {
            width: 50%;
        }
}

.govuk-check-your-answers__contents {
    position: relative;
    border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 48.0625em) {
    .govuk-check-your-answers__contents {
        display: table-row;
        border-bottom-width: 0;
    }
}

@media (min-width: 48.0625em) {
    .govuk-check-your-answers__contents:first-child .govuk-check-your-answers__question,
    .govuk-check-your-answers__contents:first-child .govuk-check-your-answers__answer,
    .govuk-check-your-answers__contents:first-child .govuk-check-your-answers__change {
        padding-top: 0;
    }
}

.govuk-check-your-answers__question,
.govuk-check-your-answers__answer,
.govuk-check-your-answers__change {
    display: block;
    margin: 0;
    vertical-align: top;
}

@media (min-width: 48.0625em) {
    .govuk-check-your-answers__question,
    .govuk-check-your-answers__answer,
    .govuk-check-your-answers__change {
        display: table-cell;
        border-bottom: 1px solid #bfc1c3;
        padding: 0.63158em 1.05263em 0.47368em 0;
    }
}

.govuk-check-your-answers__question {
    font-weight: bold;
    margin: 0.63158em 4em 0.21053em 0;
}

.govuk-check-your-answers__answer {
    padding-bottom: 0.47368em;
}

.govuk-check-your-answers__change {
    text-align: right;
    position: absolute;
    top: 0;
    right: 0;
}

@media (min-width: 48.0625em) {
    .govuk-check-your-answers__change {
        position: static;
        padding-right: 0;
    }
}

@media (min-width: 40.0625em) {
    .app-column-minimum {
        min-width: 600px;
    }
}

.app-task-list {
    list-style: none;
    padding: 0;
    margin-top: 30px;
}

@media (min-width: 40.0625em) {
    .app-task-list {
        margin-top: 60px;
    }
}

.app-task-list__section {
    display: table;
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin: 0;
    padding-bottom: 5px;
}

@media print {
    .app-task-list__section {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-task-list__section {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.25;
    }
}

@media print {
    .app-task-list__section {
        font-size: 18pt;
        line-height: 1.15;
    }
}

.app-task-list__section-number {
    display: table-cell;
    padding-right: 5px;
}

@media (min-width: 40.0625em) {
    .app-task-list__section-number {
        min-width: 35px;
        padding-right: 0;
    }
}

.app-task-list__items {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

@media (min-width: 40.0625em) {
    .app-task-list__items {
        margin-bottom: 60px;
    }
}

@media (min-width: 40.0625em) {
    .app-task-list__items {
        padding-left: 35px;
    }
}

.app-task-list__item {
    border-bottom: 1px solid #bfc1c3;
    padding-top: 5px;
    padding-bottom: 5px;
}

    .app-task-list__item:after {
        content: "";
        display: block;
        clear: both;
    }

    .app-task-list__item:first-child {
        border-top: 1px solid #bfc1c3;
    }

.app-task-list__task-name {
    padding-top: 5px;
    padding-bottom: 5px;
    width: 60%;
    float: left;
}

.task-list-deactivated-item {
    padding-top: 5px;
    padding-bottom: 5px;
}

.app-task-list__task-completed {
    margin-top: 3px;
    float: right;
}

.code {
    color: #0b0c0c;
    background-color: #f8f8f8;
    text-shadow: 0 1px #ffffff;
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
    font-size: 14px;
    direction: ltr;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    border: 1px solid #bfc1c3;
    padding: 4px 4px 2px;
}

.admin-sign-in {
    height: calc(100vh - 60px);
    overflow: auto;
}

.sign-in {
    margin: 20px 20px;
    max-width: 400px;
}

@media (min-width: 40.0625em) {
    .sign-in {
        margin: 80px auto 0;
    }
}

/* Overrides for the admin theme */
/*------------------------------------*\
  Typography
\*------------------------------------*/
h1 {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.04167;
    display: inline-block;
    margin-top: 0;
}

@media print {
    h1 {
        font-family: sans-serif;
    }
}

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

@media print {
    h1 {
        font-size: 24pt;
        line-height: 1.05;
    }
}

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

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

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

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

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

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

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

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

.column-two-thirds h2:first-child,
.column-one-third h2:first-child {
    margin-top: 0;
}

/*------------------------------------*\
  Header
\*------------------------------------*/
#adminTheme #global-header {
    background: #0b0c0c;
}

    #adminTheme #global-header h3,
    #adminTheme #global-header a,
    #adminTheme #global-header p {
        color: white;
    }

        #adminTheme #global-header a:visited {
            color: white;
        }

    #adminTheme #global-header .header-proposition #proposition-menu {
        margin-top: 5px;
    }

#adminTheme .header-wrapper {
    max-width: none !important;
    padding: 15px !important;
}

@media (min-width: 40.0625em) {
    #adminTheme .header-wrapper {
        padding: 15px 30px !important;
    }
}

#adminTheme .header-proposition .content {
    margin: 0 !important;
}

#adminTheme .proposition__service-name {
    text-decoration: none;
    font-weight: 600;
}

#adminTheme .proposition__authority {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin: 0;
    margin-left: 5px;
    display: none;
}

@media print {
    #adminTheme .proposition__authority {
        font-family: sans-serif;
    }
}

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

@media print {
    #adminTheme .proposition__authority {
        font-size: 14pt;
        line-height: 1.15;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme .proposition__authority {
        display: inline-block;
    }
}

#adminTheme .proposition__version {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    margin-left: 5px;
}

@media print {
    #adminTheme .proposition__version {
        font-family: sans-serif;
    }
}

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

@media print {
    #adminTheme .proposition__version {
        font-size: 14pt;
        line-height: 1.2;
    }
}

#adminTheme .user-menu {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    margin-top: 4px;
    float: right;
}

@media print {
    #adminTheme .user-menu {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme .user-menu {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    #adminTheme .user-menu {
        font-size: 14pt;
        line-height: 1.2;
    }
}

#adminTheme .user-menu p {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    display: inline;
    margin-right: 10px;
}

@media print {
    #adminTheme .user-menu p {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme .user-menu p {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    #adminTheme .user-menu p {
        font-size: 14pt;
        line-height: 1.2;
    }
}

/*------------------------------------*\
  Side navigation
\*------------------------------------*/
.side-nav {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    float: left;
    background: #dee0e2;
    width: 100%;
    color: #1754B9;
    overflow: hidden;
}

@media print {
    .side-nav {
        font-family: sans-serif;
    }
}

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

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

@media (min-width: 48.0625em) {
    .side-nav {
        width: 300px;
        height: calc(100vh - 45px);
    }
}

.side-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.side-nav.open {
    height: auto;
}

.side-nav a {
    text-decoration: none;
    color: inherit;
}

    .side-nav a:focus {
        background: none;
        outline: none;
    }

.side-nav__item {
    display: none;
}

    .side-nav__item a {
        display: block;
        overflow: hidden;
        padding: 15px;
        position: relative;
    }

@media (min-width: 48.0625em) {
    .side-nav__item {
        display: block;
    }

        .side-nav__item a {
            padding: 12px 20px 11px 30px;
        }

        .side-nav__item .counter {
            top: 11px;
        }
}

.open .side-nav__item {
    display: block;
}

.side-nav__item.active {
    display: block;
}

    .side-nav__item.active a {
        background: #0f3575;
        color: white;
    }

.side-nav__item a:hover {
    background: #1754B9;
    color: white;
}

.side-nav__item__sub {
    display: none;
}

    .side-nav__item__sub a {
        display: block;
        overflow: hidden;
        padding: 15px;
        position: relative;
    }

@media (min-width: 48.0625em) {
    .side-nav__item__sub {
        display: block;
    }

        .side-nav__item__sub a {
            background: #f8f8f8;
            padding: 12px 20px 11px 40px;
        }

        .side-nav__item__sub .counter {
            top: 11px;
        }
}

.open .side-nav__item__sub {
    display: block;
}

.side-nav__item__sub.active {
    display: block;
}

    .side-nav__item__sub.active a {
        background: #1754B9;
        color: #ffffff;
    }

        .side-nav__item__sub.active a:after {
            content: '';
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 7px 8px 7px 0;
            border-color: transparent #ffffff transparent transparent;
            position: absolute;
            right: 0;
            top: 50%;
            margin-top: -7px;
        }

.side-nav__item__sub a:hover {
    background: #1754B9;
    color: white;
}

    .side-nav__item__sub a:hover:after {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7px 8px 7px 0;
        border-color: transparent #ffffff transparent transparent;
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -7px;
    }

.counter {
    display: inline-block;
    position: absolute;
    right: 15px;
    top: 12px;
    font-size: 14px;
    background: #d2d2d2;
    padding: 5px 5px 1px;
    border-radius: 3px;
    min-width: 16px;
    text-align: center;
    line-height: 1.4;
}

.active .counter, a:hover .counter {
    color: white;
    background: #092148;
}

/*------------------------------------*\
  Search
\*------------------------------------*/
/*Testing*/
.search-box-container {
    background: #dee0e2;
    margin-top: 25px;
    padding: 20px;
}

.search-filter-container {
    display: inline-block;
}

    .search-filter-container .govuk-form-group {
        margin-bottom: 0;
    }

    .search-filter-container select {
        border: 2px solid #dee0e2;
    }

.inline-search-wrapper {
    position: relative;
}

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

@media print {
    .search-box {
        font-family: sans-serif;
    }
}

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

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

.search-box input[type="text"] {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    padding: 9px 15px 6px;
    border: 2px solid #6f777b;
    outline: none;
    width: 90%;
}

@media print {
    .search-box input[type="text"] {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .search-box input[type="text"] {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.31579;
    }
}

@media print {
    .search-box input[type="text"] {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.search-box input[type="text"]:focus {
    border: 2px solid #ffbf47;
}

.search-box .inline-search-button {
    background-color: transparent;
    background-image: url("../images/search.svg");
    background-repeat: no-repeat;
    background-position: right 5px top 18px;
    border: none;
    cursor: pointer;
    height: 45px;
    width: 30px;
    margin: 0;
    margin-top: -15px;
    position: absolute;
    right: 5px;
    top: 50%;
}

.search-box__options {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    float: right;
}

@media print {
    .search-box__options {
        font-family: sans-serif;
    }
}

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

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

.search-box__options p {
    display: inline-block;
    margin: 0;
}

.search-box__options a {
    margin-left: 5px;
}

/*------------------------------------*\
  Tables
\*------------------------------------*/
.govuk-table__header--sort::after, .govuk-table__header--sorted-asc::after, .govuk-table__header--sorted-desc::after {
    display: inline-block;
    content: '';
    background: url("../images/table-arrows.svg") no-repeat 6px 4px;
    height: 12px;
    width: 24px;
}

.govuk-table__header--sorted-asc::after {
    background-position: 6px -130px;
}

.govuk-table__header--sorted-desc::after {
    background-position: 6px -59px;
}

.results-per-page,
.pagination {
    margin-top: 15px;
    display: inline-block;
}

@media (max-width: 40.0525em) {
    .results-per-page,
    .pagination {
        display: block;
        text-align: center;
    }
}

.results-per-page p,
.results-per-page ul,
.results-per-page li,
.pagination p,
.pagination ul,
.pagination li {
    display: inline-block;
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
}

@media print {
    .results-per-page p,
    .results-per-page ul,
    .results-per-page li,
    .pagination p,
    .pagination ul,
    .pagination li {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .results-per-page p,
    .results-per-page ul,
    .results-per-page li,
    .pagination p,
    .pagination ul,
    .pagination li {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.31579;
    }
}

@media print {
    .results-per-page p,
    .results-per-page ul,
    .results-per-page li,
    .pagination p,
    .pagination ul,
    .pagination li {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.results-per-page ul,
.pagination ul {
    margin: 0;
    padding: 0;
}

.results-per-page .page-active,
.pagination .page-active {
    padding: 3px 8px;
}

.results-per-page a,
.pagination a {
    display: block;
    padding: 4px 8px 2px;
}

    .results-per-page a:hover,
    .pagination a:hover {
        background: #005ea5;
        color: white;
        text-decoration: none;
    }

@media (min-width: 40.0625em) {
    .pagination {
        float: right;
    }
}

#adminTheme {
    background: white;
}

@media (min-width: 40.0625em) {
    #adminTheme {
        overflow: hidden;
    }
}

a,
a:visited {
    color: #1754B9;
}

#adminContent {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    overflow: auto;
    width: 100%;
    box-sizing: border-box;
    padding: 20px 15px;
    max-width: none;
    float: left;
    margin: 0;
    background: white;
}

@media print {
    #adminContent {
        font-family: sans-serif;
    }
}

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

@media print {
    #adminContent {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media (min-width: 40.0625em) {
    #adminContent {
        height: calc(100vh - 60px);
    }
}

@media (min-width: 48.0625em) {
    #adminContent {
        width: calc(100% - 300px);
        padding: 47px 60px;
    }
}

@media only screen and (min-width: 1600px) {
    .content-wrapper {
        max-width: 70%;
    }
}

.gc-panel-card {
    margin-bottom: 36px;
    background-color: #f8f8f8;
    border: 1px solid #bfc1c3;
    box-shadow: 2px 2px 8px 0px #6f777b;
}

.gc-panel-card--noshadow {
    box-shadow: none;
    border: 1px solid #bfc1c3;
}

.gc-panel-card--history {
    margin-bottom: 36px;
    background-color: #fff;
    border: 2px solid #bfc1c3;
    box-shadow: none;
}

.gc-panel-card-min-height {
    min-height: 200px;
    height: 200px;
}

.gc-panel-card__link-wrapper {
    background-color: #f8f8f8;
    display: block;
    height: 100%;
    position: relative;
    text-decoration: none;
}

.gc-panel-card__meta {
    font-size: 12pt !important;
    font-weight: 400;
    text-align: right;
}

.gc-panel-card__content {
    padding: 5px 30px;
}

.gc-panel-card__count {
    font-size: 50pt;
}

.gc-panel-card__link-wrapper:hover {
    background-color: #f8f8f8;
    box-shadow: 0 0 0 4px #ffbf47;
    text-decoration: none;
}

    .gc-panel-card__link-wrapper:hover .gc-panel-card__heading {
        text-decoration: underline;
    }

.gc-panel-card--history .gc-panel-card__heading,
.gc-panel-card--history .gc-panel-card__description,
.gc-panel-card--history .gc-panel-card__meta {
    color: #6f777b !important;
}

.app-related-items {
    border-top: 10px solid #005ea5;
    padding-top: 10px;
}

    .app-related-items .govuk-list > li {
        margin-bottom: 10px;
    }

@media all and (min-width: 40.06em) {
    .js-enabled .govuk-tabs__panel {
        margin-bottom: 0px;
        padding-top: 30px;
        padding-right: 20px;
        padding-bottom: 30px;
        padding-left: 20px;
        border: none;
        border-top: 0;
    }

    .js-enabled .govuk-tabs__panel {
        padding-left: 0px;
        padding-right: 0px;
    }
}

.gc-pull-right {
    float: right;
}

.gc-clear-left {
    clear: left !important;
}

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

@media all and (min-width: 40.06em) {
    .gc-tag {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

.gc-button-secondary {
    box-shadow: 0px 2px 0px #6f777b;
    background: #bfc1c3;
    color: #000000 !important;
}

    .gc-button-secondary:hover {
        box-shadow: 0px 2px 0px #6f777b;
        background: rgba(191, 193, 195, 0.7);
    }

@media (min-width: 40.0625em) {
    .app-column-minimum {
        min-width: 600px;
    }
}

.app-task-list {
    list-style: none;
    padding: 0;
    margin-top: 30px;
}

@media (min-width: 40.0625em) {
    .app-task-list {
        margin-top: 60px;
    }
}

.app-task-list__section {
    display: table;
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin: 0;
    padding-bottom: 5px;
}

@media print {
    .app-task-list__section {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-task-list__section {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.25;
    }
}

@media print {
    .app-task-list__section {
        font-size: 18pt;
        line-height: 1.15;
    }
}

.app-task-list__section-number {
    display: table-cell;
    padding-right: 5px;
}

@media (min-width: 40.0625em) {
    .app-task-list__section-number {
        min-width: 35px;
        padding-right: 0;
    }
}

.app-task-list__items {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

@media (min-width: 40.0625em) {
    .app-task-list__items {
        margin-bottom: 60px;
    }
}

@media (min-width: 40.0625em) {
    .app-task-list__items {
        padding-left: 35px;
    }
}

.app-task-list__item {
    border-bottom: 1px solid #bfc1c3;
    padding-top: 5px;
    padding-bottom: 5px;
}

    .app-task-list__item:after {
        content: "";
        display: block;
        clear: both;
    }

    .app-task-list__item:first-child {
        border-top: 1px solid #bfc1c3;
    }

.app-task-list__task-name {
    padding-top: 5px;
    padding-bottom: 5px;
    width: 60%;
    float: left;
}

.task-list-deactivated-item {
    padding-top: 5px;
    padding-bottom: 5px;
}

.app-task-list__task-completed {
    margin-top: 3px;
    float: right;
}

.html-admin {
    background: white;
}

    .html-admin body {
        margin: 0;
    }

.success-panel {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    background: rgba(40, 161, 151, 0.8);
    color: white;
    display: none;
    padding: 0 60px;
    margin: -30px 0 60px -60px;
    width: 100%;
}

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

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

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

.success-panel p {
    color: white;
    display: inline-block;
    margin: 20px;
    margin-left: 0;
    margin-right: -4px;
    width: 60%;
}

.success-panel .success-panel__close {
    color: white;
    display: inline-block;
    margin-right: -4px;
    text-align: right;
    width: 40%;
}

.success-panel.sign-in-success {
    margin: 0;
    padding: 0 30px;
    width: auto;
}

.disable-side-bar-yes {
    pointer-events: none;
}

.mobile-grid {
    display: flex;
    margin-bottom: 15px;
}

.mobile-grid-cell {
    flex: 1;
    padding: 0 15px;
    display: flex;
}

    .mobile-grid-cell:first-child {
        transform: translateX(-15px);
        padding-right: 0;
    }

    .mobile-grid-cell:last-child {
        transform: translateX(15px);
        padding-left: 0;
    }

.align-bottom .mobile-grid-cell {
    align-items: flex-end;
}

.mobile-grid-cell.grid-cell-1-3 {
    flex-basis: 33.3%;
}

.mobile-grid-cell.grid-cell-1-2 {
    flex-basis: 50%;
}

.mobile-grid-cell.grid-cell-2-3 {
    flex-basis: 66.6%;
}

.enforcer-view-image {
    flex: 1;
}

    .enforcer-view-image img {
        border: 2px solid #bfc1c3;
        width: 100%;
    }

.enforcer-view .hide-enforcer {
    display: none !important;
}

.labels-with-heading {
    margin: 0;
}

    .labels-with-heading .label-with-heading {
        position: relative;
    }

    .labels-with-heading .label, .labels-with-heading .heading {
        display: block;
        margin: 0;
        vertical-align: top;
    }

    .labels-with-heading .label {
        color: #6f777b;
        font-size: 4vw;
        margin: 0.63158em 0 0.21053em 0;
    }

    .labels-with-heading .heading {
        font-family: "nta", Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 700;
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.04167;
        font-size: 5.5vw;
    }

@media print {
    .labels-with-heading .heading {
        font-family: sans-serif;
    }
}

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

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

#adminTheme .govuk-phase-banner {
    margin-top: -20px;
    margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
    #adminTheme .govuk-phase-banner {
        margin-top: -40px;
        margin-bottom: 30px;
    }
}

#adminTheme .header-wrapper {
    max-width: none;
}

#adminTheme #global-header .header-proposition {
    padding-top: 0;
}

    #adminTheme #global-header .header-proposition #proposition-name {
        font-family: "nta", Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 700;
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
        text-decoration: none;
    }

@media print {
    #adminTheme #global-header .header-proposition #proposition-name {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme #global-header .header-proposition #proposition-name {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.31579;
    }
}

@media print {
    #adminTheme #global-header .header-proposition #proposition-name {
        font-size: 14pt;
        line-height: 1.15;
    }
}

#adminTheme #global-header .header-proposition #proposition-name:hover {
    text-decoration: underline;
}

#adminTheme #global-header.with-proposition .header-wrapper .header-proposition {
    width: 100%;
}

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

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

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

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

#adminTheme .govuk-label,
#adminTheme .govuk-hint,
#adminTheme .govuk-fieldset__hint,
#adminTheme .govuk-select,
#adminTheme .govuk-body,
#adminTheme .govuk-list,
#adminTheme .govuk-file-upload {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
}

@media print {
    #adminTheme .govuk-label,
    #adminTheme .govuk-hint,
    #adminTheme .govuk-fieldset__hint,
    #adminTheme .govuk-select,
    #adminTheme .govuk-body,
    #adminTheme .govuk-list,
    #adminTheme .govuk-file-upload {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme .govuk-label,
    #adminTheme .govuk-hint,
    #adminTheme .govuk-fieldset__hint,
    #adminTheme .govuk-select,
    #adminTheme .govuk-body,
    #adminTheme .govuk-list,
    #adminTheme .govuk-file-upload {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    #adminTheme .govuk-label,
    #adminTheme .govuk-hint,
    #adminTheme .govuk-fieldset__hint,
    #adminTheme .govuk-select,
    #adminTheme .govuk-body,
    #adminTheme .govuk-list,
    #adminTheme .govuk-file-upload {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media (max-width: 40.0525em) {
    #adminTheme .enforcer-view .govuk-label,
    #adminTheme .enforcer-view .govuk-hint,
    #adminTheme .enforcer-view .govuk-button {
        font-size: 19px;
    }

    #adminTheme .enforcer-view .govuk-input {
        font-size: 32px;
        height: 55px;
    }
}

#adminTheme .detail-small-font details, #adminTheme .detail-small-font summary, #adminTheme .detail-small-font details p, #adminTheme .detail-small-font .govuk-button {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
}

@media print {
    #adminTheme .detail-small-font details, #adminTheme .detail-small-font summary, #adminTheme .detail-small-font details p, #adminTheme .detail-small-font .govuk-button {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme .detail-small-font details, #adminTheme .detail-small-font summary, #adminTheme .detail-small-font details p, #adminTheme .detail-small-font .govuk-button {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    #adminTheme .detail-small-font details, #adminTheme .detail-small-font summary, #adminTheme .detail-small-font details p, #adminTheme .detail-small-font .govuk-button {
        font-size: 14pt;
        line-height: 1.2;
    }
}

#adminTheme .detail-small-font details {
    margin-bottom: 0;
}

#adminTheme .govuk-error-message {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
}

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

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

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

#adminTheme .govuk-fieldset__legend {
    margin-bottom: 5px;
}

#adminTheme .govuk-check-your-answers__question {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
}

@media print {
    #adminTheme .govuk-check-your-answers__question {
        font-family: sans-serif;
    }
}

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

@media print {
    #adminTheme .govuk-check-your-answers__question {
        font-size: 14pt;
        line-height: 1.2;
    }
}

#adminTheme .govuk-check-your-answers__answer,
#adminTheme .govuk-check-your-answers__change {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
}

@media print {
    #adminTheme .govuk-check-your-answers__answer,
    #adminTheme .govuk-check-your-answers__change {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme .govuk-check-your-answers__answer,
    #adminTheme .govuk-check-your-answers__change {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    #adminTheme .govuk-check-your-answers__answer,
    #adminTheme .govuk-check-your-answers__change {
        font-size: 14pt;
        line-height: 1.2;
    }
}

#adminTheme .govuk-check-your-answers__answer img,
#adminTheme .govuk-check-your-answers__change img {
    outline: 2px solid #bfc1c3;
    border: 2px solid white;
    width: 8rem;
}

@media (max-width: 40.0525em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__question {
        font-family: "nta", Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 700;
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print and (max-width: 40.0525em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__question {
        font-family: sans-serif;
    }
}

@media (max-width: 40.0525em) and (min-width: 40.0625em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__question {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.31579;
    }
}

@media print and (max-width: 40.0525em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__question {
        font-size: 14pt;
        line-height: 1.15;
    }
}

@media (max-width: 40.0525em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__answer,
    #adminTheme .enforcer-view .govuk-check-your-answers__change {
        font-family: "nta", Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 400;
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print and (max-width: 40.0525em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__answer,
    #adminTheme .enforcer-view .govuk-check-your-answers__change {
        font-family: sans-serif;
    }
}

@media (max-width: 40.0525em) and (min-width: 40.0625em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__answer,
    #adminTheme .enforcer-view .govuk-check-your-answers__change {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.31579;
    }
}

@media print and (max-width: 40.0525em) {
    #adminTheme .enforcer-view .govuk-check-your-answers__answer,
    #adminTheme .enforcer-view .govuk-check-your-answers__change {
        font-size: 14pt;
        line-height: 1.15;
    }
}

#adminTheme .search-filter {
    display: inline-block;
}

#adminTheme thead tr {
    border-bottom: 2px solid #dee0e2;
}

#adminTheme td {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    border-color: #dee0e2;
}

@media print {
    #adminTheme td {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme td {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    #adminTheme td {
        font-size: 14pt;
        line-height: 1.2;
    }
}

#adminTheme td a {
    display: block;
    text-decoration: none;
}

    #adminTheme td a:hover {
        text-decoration: underline;
    }

#adminTheme th {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
}

@media print {
    #adminTheme th {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    #adminTheme th {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    #adminTheme th {
        font-size: 14pt;
        line-height: 1.2;
    }
}

#adminTheme .back-link-container {
    margin-top: -15px;
}

@media (min-width: 40.0625em) {
    #adminTheme .back-link-container {
        margin-top: -30px;
        margin-bottom: 30px;
    }
}

#adminTheme .system-error a {
    color: #005ea5;
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
}

@media print {
    #adminTheme .system-error a {
        font-family: sans-serif;
    }
}

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

@media print {
    #adminTheme .system-error a {
        font-size: 14pt;
        line-height: 1.15;
    }
}

#adminTheme .uniform-links p, #adminTheme .uniform-links details, #adminTheme .uniform-links summary {
    margin: 0;
}

#adminTheme .uniform-links p, #adminTheme .uniform-links summary {
    margin-bottom: 15px;
}

.govuk-table__cell--has-tag {
    padding: 0;
}

    .govuk-table__cell--has-tag .govuk-tag {
        float: none;
    }

.application-status-change {
    margin-bottom: 15px;
}

    .application-status-change h2 {
        display: inline-block;
        margin-right: 15px;
    }

    .application-status-change fieldset {
        margin-top: 15px;
    }

    .application-status-change .govuk-tag {
        float: none;
    }

@media (min-width: 40.0625em) {
    .check-answers-heading-with-change .check-answers-heading {
        display: inline-block;
        width: 60%;
        margin-right: -4px;
    }

    .check-answers-heading-with-change .check-answers-change {
        font-family: "nta", Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-weight: 400;
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
        display: inline-block;
        width: 40%;
        margin-right: -4px;
        text-align: right;
    }
}

@media print and (min-width: 40.0625em) {
    .check-answers-heading-with-change .check-answers-change {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) and (min-width: 40.0625em) {
    .check-answers-heading-with-change .check-answers-change {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.31579;
    }
}

@media print and (min-width: 40.0625em) {
    .check-answers-heading-with-change .check-answers-change {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.admin-width-container {
    padding-left: 30px;
    padding-right: 30px;
}

@media (min-width: 40.0625em) {
    .admin-page-header {
        margin-bottom: 30px;
    }
}

.croppr-container * {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.croppr-container img {
    vertical-align: middle;
    max-width: 100%;
}

.croppr {
    position: relative;
    display: inline-block;
}

.croppr-overlay {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    cursor: crosshair;
}

.croppr-region {
    border: 1px dashed rgba(0, 0, 0, 0.5);
    position: absolute;
    z-index: 3;
    cursor: move;
    top: 0;
}

.croppr-imageClipped {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    pointer-events: none;
}

.croppr-handle {
    border: 1px solid black;
    background-color: white;
    width: 10px;
    height: 10px;
    position: absolute;
    z-index: 4;
    top: 0;
}

.file-upload__input {
    display: none;
}

.govuk-link.fake-link {
    cursor: pointer;
    color: #005ea5;
    text-decoration: underline;
}

.hide-no-js {
    display: none;
}

.js-enabled .hide-no-js {
    display: block;
}

    .js-enabled .hide-no-js.hidden {
        display: none;
    }

.app-task-list__task-name.app-task-list--inactivelink {
    color: #0b0c0c;
    cursor: default;
    pointer-events: none;
    text-decoration: none;
}

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

.hidden {
    display: none;
}

.responsive-image {
    max-width: 100%;
}

.passport-photo {
    margin-bottom: 30px;
    max-width: 150px;
}

.passport-help-photo {
    margin-bottom: 30px;
}

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

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

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

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

.summary-trigger img {
    display: block;
    margin-bottom: 10px;
    max-width: 80px;
}

.summary-trigger:focus {
    outline: none;
}

.govuk-check-your-answers.no-border .govuk-check-your-answers__contents, .govuk-check-your-answers.no-border dd {
    border: none;
}

.govuk-check-your-answers.no-border .govuk-table {
    margin-bottom: 0;
}

.summary-trigger + .govuk-details .govuk-details__summary {
    display: none;
}

.countdown-timer {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 53px;
    font-size: 3.3125rem;
    line-height: 1.03774;
    font-size: 120px !important;
    text-align: center;
}

@media print {
    .countdown-timer {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .countdown-timer {
        font-size: 80px;
        font-size: 5rem;
        line-height: 1;
    }
}

@media print {
    .countdown-timer {
        font-size: 53pt;
        line-height: 1.1;
    }
}

.input-capitals {
    text-transform: uppercase;
}

.govuk-button.govuk-button--secondary {
    background-color: #dee0e2;
    color: #0b0c0c;
    box-shadow: #bfc1c3 0px 2px 0px 0px;
}

.govuk-details.hidden {
    display: none;
}

.save-progress-container {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-top: 10px;
}

@media print {
    .save-progress-container {
        font-family: sans-serif;
    }
}

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

@media print {
    .save-progress-container {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.save-progress-container.hidden-mobile {
    margin-bottom: 0;
    text-align: right;
}

.loading {
    text-align: center;
}

.loading__text {
    font-weight: 600;
    margin-top: -10px;
}

.loading__spinner {
    display: inline-block;
    height: 75px;
    width: 75px;
    background: url("../images/loading.gif") no-repeat 0 0;
    background-size: 100% 100%;
}

.video-container {
    overflow: hidden;
    display: block;
    width: 191px;
    height: 255px;
}

    .video-container video {
        margin-left: -36%;
        transform: rotateY(180deg);
    }

.photo-container {
    overflow: hidden;
    display: block;
    height: 255px;
    width: 191px;
    position: relative;
}

    .photo-container img {
        object-fit: cover;
        transform: rotateY(180deg);
    }

    .photo-container #blackbox {
        position: absolute;
        top: 0px;
        bottom: 16px;
        left: 0px;
        right: 0px;
        background: black;
    }

@media (min-width: 640px) {
    .video-help-text {
        margin-top: 69px;
    }
}

.hidden-touch {
    display: none;
}

.is-desktop .hidden-touch {
    display: block;
}

.hidden-mouse {
    display: none;
}

.is-mobile .hidden-mouse {
    display: block;
}

.hidden-mobile,
.hidden-tablet {
    display: none;
}

@media (min-width: 40.0625em) {
    .hidden-mobile {
        display: block;
    }
}

@media (max-width: 40.0525em) {
    .hidden-tablet {
        display: block;
    }
}

.govuk-details.file-upload {
    margin-bottom: 5px;
}

label .govuk-list {
    margin-bottom: 0;
}

.task-list-deactivated-item p {
    margin-bottom: 0;
}

.task-list-deactivated-item + a {
    display: none;
}

.read-out-individually i {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

.satisfaction-score {
    display: block;
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.04167;
}

@media print {
    .satisfaction-score {
        font-family: sans-serif;
    }
}

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

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

.feedback-layout {
    background: white;
    display: flex;
    flex: 1;
    flex-direction: column;
    height: 100%;
}

    .feedback-layout .top-header-paragraph {
        margin: 0;
    }

    .feedback-layout body {
        flex: 1;
    }

    .feedback-layout .govuk-width-container {
        display: flex;
        flex-direction: column;
        flex: 1;
        height: 100%;
        justify-content: center;
    }

    .feedback-layout .govuk-main-wrapper {
        width: 100%;
    }

    .feedback-layout .govuk-heading-l {
        padding-top: 0;
        margin-bottom: 0;
    }

.wide-screen-true .govuk-width-container {
    max-width: 1200px;
}

.guidance-layout .govuk-back-link {
    margin-bottom: 0;
}

.guidance-container {
    background: #005ea5;
    color: #ffffff;
    padding: 30px;
}

    .guidance-container h1, .guidance-container h2, .guidance-container h3, .guidance-container p, .guidance-container ul, .guidance-container legend, .guidance-container label {
        color: #ffffff;
        max-width: 40rem;
    }

.wide-screen-true .guidance-container h1, .wide-screen-true .guidance-container h2, .wide-screen-true .guidance-container h3, .wide-screen-true .guidance-container p, .wide-screen-true .guidance-container ul, .wide-screen-true .guidance-container legend, .wide-screen-true .guidance-container label {
    max-width: 50rem;
}

.guidance-container a, .guidance-container a:visited, .guidance-container a:link {
    color: white;
}

    .guidance-container a:hover, .guidance-container a:visited:hover, .guidance-container a:link:hover {
        color: #e6e6e6;
    }

.guidance-container p.govuk-body, .guidance-container label, .guidance-container li {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
}

@media print {
    .guidance-container p.govuk-body, .guidance-container label, .guidance-container li {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .guidance-container p.govuk-body, .guidance-container label, .guidance-container li {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.25;
    }
}

@media print {
    .guidance-container p.govuk-body, .guidance-container label, .guidance-container li {
        font-size: 18pt;
        line-height: 1.15;
    }
}

.guidance-container .middle-start-page p.govuk-body, .guidance-container .middle-start-page label, .guidance-container .middle-start-page li {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
}

@media print {
    .guidance-container .middle-start-page p.govuk-body, .guidance-container .middle-start-page label, .guidance-container .middle-start-page li {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .guidance-container .middle-start-page p.govuk-body, .guidance-container .middle-start-page label, .guidance-container .middle-start-page li {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.31579;
    }
}

@media print {
    .guidance-container .middle-start-page p.govuk-body, .guidance-container .middle-start-page label, .guidance-container .middle-start-page li {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.guidance-container a.govuk-button, .guidance-container .govuk-button {
    background-color: #ffffff;
    color: #005ea5;
    box-shadow: #00243f 0px 2px 0px 0px;
}

    .guidance-container a.govuk-button:focus, .guidance-container a.govuk-button:hover, .guidance-container .govuk-button:focus, .guidance-container .govuk-button:hover {
        background-color: #f2f2f2;
        color: #005ea5;
    }

@media (max-width: 40.0525em) {
    .guidance-container img {
        margin-bottom: 30px;
    }
}

.guidance-container .image-with-margin {
    margin-bottom: 30px;
}

@media (min-width: 40.0625em) {
    .guidance-container .guidance-pull-button {
        margin-top: -45px;
    }
}

.guidance-container .svg-container {
    margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
    .guidance-container .svg-container {
        margin-bottom: 0;
    }
}

.guidance-numbered-steps {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
}

@media print {
    .guidance-numbered-steps {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .guidance-numbered-steps {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.25;
    }
}

@media print {
    .guidance-numbered-steps {
        font-size: 18pt;
        line-height: 1.15;
    }
}

.guidance-numbered-steps li {
    margin-bottom: 10px;
}

.guidance-titles-wrapper:after {
    content: "";
    display: block;
    clear: both;
}

@media (min-width: 40.0625em) {
    .guidance-page-title-wrapper {
        float: left;
        width: 60%;
    }
}

.guidance-title-wrapper {
    margin-bottom: 30px;
}

@media (min-width: 40.0625em) {
    .guidance-title-wrapper {
        float: right;
        text-align: right;
        width: 40%;
    }
}

.guidance-title {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 0;
}

@media print {
    .guidance-title {
        font-family: sans-serif;
    }
}

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

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

.guidance-step-count {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    display: block;
}

@media print {
    .guidance-step-count {
        font-family: sans-serif;
    }
}

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

@media print {
    .guidance-step-count {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.photo-guidance-images-with-results {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 30px;
}

    .photo-guidance-images-with-results img {
        margin: 0;
    }

    .photo-guidance-images-with-results li {
        display: inline-block;
        margin-right: 5px;
        position: relative;
    }

        .photo-guidance-images-with-results li .result {
            background: #ffffff;
            bottom: 0;
            color: #0b0c0c;
            position: absolute;
            width: 100%;
        }

            .photo-guidance-images-with-results li .result p {
                font-family: "nta", Arial, sans-serif;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                font-weight: 400;
                font-size: 14px;
                font-size: 0.875rem;
                line-height: 1.14286;
                color: #0b0c0c;
            }

@media print {
    .photo-guidance-images-with-results li .result p {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .photo-guidance-images-with-results li .result p {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .photo-guidance-images-with-results li .result p {
        font-size: 14pt;
        line-height: 1.2;
    }
}

.photo-guidance-images-with-results .result .failed, .photo-guidance-images-with-results .result .approved {
    margin: 0;
    padding: 8px 28px 5px 8px;
    background-repeat: no-repeat;
    background-position: right 7px center;
    background-size: 18px;
}

@media (min-width: 40.0625em) {
    .photo-guidance-images-with-results .result .failed, .photo-guidance-images-with-results .result .approved {
        padding-top: 11px;
        padding-right: 34px;
        padding-bottom: 8px;
        background-size: 22px;
    }
}

.photo-guidance-images-with-results .result .approved {
    background-image: url(../images/icon-thick-tick.svg);
}

.photo-guidance-images-with-results .result .failed {
    background-image: url(../images/icon-thick-cross.svg);
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.spinner-container {
    animation-name: spin;
    animation-duration: 2000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    width: 40px;
    height: 40px;
}

.loading-container {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    height: 150px;
    margin-top: 50px;
}

    .loading-container svg {
        width: 40px;
        height: 40px;
    }

        .loading-container svg path {
            fill: white;
        }

.feedback-countdown-container {
    display: flex;
    justify-content: space-between;
}

    .feedback-countdown-container p {
        margin-bottom: 0;
    }

    .feedback-countdown-container .countdown-container {
        display: flex;
        justify-content: center;
    }

    .feedback-countdown-container .countdown-visual {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        text-align: right;
        width: 40px;
    }

    .feedback-countdown-container .pause-button, .feedback-countdown-container .play-button {
        margin-right: 15px;
    }

        .feedback-countdown-container .pause-button svg, .feedback-countdown-container .play-button svg {
            width: 30px;
            height: 30px;
        }

        .feedback-countdown-container .pause-button path, .feedback-countdown-container .play-button path {
            fill: white;
        }

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

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

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

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

.autocomplete__hint,
.autocomplete__input {
    -webkit-appearance: none;
    border: 2px solid;
    border-radius: 0;
    /* Safari 10 on iOS adds implicit border rounding. */
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin-bottom: 0;
    /* BUG: Safari 10 on macOS seems to add an implicit margin. */
    width: 100%;
}

.enhanced-select {
    height: 37px;
}

.js-enabled .enhanced-select {
    visibility: hidden;
}

.autocomplete__input {
    background-color: transparent;
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    position: relative;
}

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

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

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

.autocomplete__hint {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #BFC1C3;
    position: absolute;
}

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

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

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

.autocomplete__input--default {
    padding: 4px;
}

.autocomplete__input--focused {
    outline-offset: 0;
    outline: 3px solid #ffbf47;
}

.autocomplete__input--show-all-values {
    padding: 4px 34px 4px 4px;
    cursor: pointer;
}

.autocomplete__dropdown-arrow-down {
    z-index: -1;
    display: inline-block;
    position: absolute;
    right: 8px;
    width: 24px;
    height: 24px;
    top: 10px;
}

.autocomplete__menu {
    background-color: #fff;
    border: 2px solid #0B0C0C;
    border-top: 0;
    color: #34384B;
    margin: 0;
    max-height: 342px;
    overflow-x: hidden;
    padding: 0;
    width: 100%;
    width: calc(100% - 4px);
}

.autocomplete__menu--visible {
    display: block;
}

.autocomplete__menu--hidden {
    display: none;
}

.autocomplete__menu--overlay {
    box-shadow: rgba(0, 0, 0, 0.256863) 0px 2px 6px;
    left: 0;
    position: absolute;
    top: 100%;
    z-index: 100;
}

.autocomplete__menu--inline {
    position: relative;
}

.autocomplete__option {
    border-bottom: solid #BFC1C3;
    border-width: 1px 0;
    cursor: pointer;
    display: block;
    position: relative;
}

    .autocomplete__option > * {
        pointer-events: none;
    }

    .autocomplete__option:first-of-type {
        border-top-width: 0;
    }

    .autocomplete__option:last-of-type {
        border-bottom-width: 0;
    }

.autocomplete__option--odd {
    background-color: #FAFAFA;
}

.autocomplete__option--focused,
.autocomplete__option:hover {
    background-color: #005EA5;
    border-color: #005EA5;
    color: white;
    outline: none;
}

.autocomplete__option--no-results {
    background-color: #FAFAFA;
    color: #646b6f;
    cursor: not-allowed;
}

.autocomplete__hint,
.autocomplete__input,
.autocomplete__option {
    font-size: 16px;
    line-height: 1.25;
}

.autocomplete__hint,
.autocomplete__option {
    padding: 4px;
}

@media (min-width: 641px) {
    .autocomplete__hint,
    .autocomplete__input,
    .autocomplete__option {
        font-size: 19px;
        line-height: 1.31579;
    }
}

.phase-banner-wrapper + #global-header-bar {
    display: none;
}

.phase-banner-wrapper .govuk-phase-banner {
    border-top: 10px solid #005ea5;
}

.hide-service-name-yes .govuk-header__link--service-name {
    visibility: hidden;
}

.expanding-panel {
    display: none;
    margin-bottom: 20px;
}

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

.has-error .govuk-details__text {
    border: none;
    padding-left: 0;
}

    .has-error .govuk-details__text input {
        margin-bottom: 5px;
    }

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

    .govuk-info-panel p {
        margin-bottom: 0;
    }

    .govuk-info-panel.with-margins {
        margin-bottom: 15px;
    }

        .govuk-info-panel.with-margins p {
            margin-bottom: 15px;
        }

li .govuk-details {
    margin-bottom: 0;
}

.govuk-radios__conditional .govuk-form-group--error {
    margin-left: -37px;
    /* Hacky solution to style the error inside the conditional reveal */
    padding-left: 30px;
}

.form-section, .split-section {
    border-bottom: 1px solid #dee0e2;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media (min-width: 40.0625em) {
    .form-section, .split-section {
        margin-bottom: 30px;
    }
}

.form-section:last-of-type, .split-section:last-of-type {
    border: none;
    margin-bottom: 0;
}

.split-section {
    border: none;
}

.upload-arrow-container {
    display: inline-block;
    padding-right: 15px;
    vertical-align: middle;
    width: 20%;
}

.icon--upload-arrow {
    background: #005ea5;
    border-radius: 50%;
    display: inline-block;
    line-height: 0;
    padding: 15px;
    vertical-align: top;
}

@media (min-width: 40.0625em) {
    .icon--upload-arrow {
        padding: 20px;
    }
}

.icon--upload-arrow .icon-arrow-down {
    display: none;
}

.icon--upload-arrow svg {
    width: 100%;
    height: 100%;
}

.is-desktop .icon--upload-arrow .icon-arrow-down {
    display: block;
}

.is-desktop .icon--upload-arrow .fa-camera {
    display: none;
}

.icon--upload-arrow path {
    fill: white;
}

.upload-section-text {
    display: inline-block;
    vertical-align: middle;
    width: 70%;
}

    .upload-section-text .upload-label {
        background-color: #005ea5;
        margin-bottom: 10px;
    }

.upload-finished-button .upload-label {
    background-color: #005ea5;
}

.tablet-upload-text {
    display: none;
}

.is-desktop .tablet-upload-text {
    display: inline;
}

.mobile-upload-alternative-text {
    display: none;
}

.hide-take-photo-text .mobile-upload-alternative-text {
    display: block;
}

.hide-take-photo-text .mobile-upload-text {
    display: none;
}

.is-desktop .mobile-upload-text, .is-desktop .mobile-upload-alternative-text {
    display: none;
}

#drop-area {
    border: 2px dashed rgba(0, 94, 165, 0.8);
    margin-bottom: 30px;
    padding: 30px;
}

    #drop-area p.govuk-body {
        margin-bottom: 0;
    }

    #drop-area .drag-drop-text {
        display: none;
    }

.is-desktop #drop-area .drag-drop-text {
    display: inline;
}

#drop-area.highlight {
    border-color: #ffbf47;
}

    #drop-area.highlight .icon--upload-arrow {
        background: #ffd17a;
    }

#gallery, .dummy-container {
    margin-top: 10px;
}

    #gallery img, .dummy-container img {
        image-orientation: from-image;
        width: 300px;
        margin-bottom: 10px;
        margin-right: 10px;
        vertical-align: middle;
    }

.svg-container.single-letter svg {
    max-width: 400px;
}

progress {
    padding: 0;
    border: none;
    border-radius: 0;
    display: block;
    color: #005ea5;
    background-color: #dee0e2;
    width: 100%;
}

    /* Chrome */
    progress::-webkit-progress-bar {
        background-color: #dee0e2;
    }

    progress::-moz-progress-bar {
        background-color: #005ea5;
    }

    progress::-webkit-progress-value {
        background-color: #005ea5;
    }

.app-cookie-banner {
    font-family: "nta", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    color: #0b0c0c;
    box-sizing: border-box;
    width: 100%;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    background-color: #d5e8f3;
}

@media print {
    .app-cookie-banner {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-cookie-banner {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media print {
    .app-cookie-banner {
        color: #000000;
    }
}

.app-cookie-banner__message {
    margin: 0;
    max-width: 960px;
    margin: 0 15px;
}

@supports (margin: max(calc(0px))) {
    .app-cookie-banner__message {
        margin-right: max(15px, calc(15px + env(safe-area-inset-right)));
        margin-left: max(15px, calc(15px + env(safe-area-inset-left)));
    }
}

@media (min-width: 40.0625em) {
    .app-cookie-banner__message {
        margin: 0 30px;
    }

    @supports (margin: max(calc(0px))) {
        .app-cookie-banner__message {
            margin-right: max(30px, calc(15px + env(safe-area-inset-right)));
            margin-left: max(30px, calc(15px + env(safe-area-inset-left)));
        }
    }
}

@media (min-width: 1020px) {
    .app-cookie-banner__message {
        margin: 0 auto;
    }

    @supports (margin: max(calc(0px))) {
        .app-cookie-banner__message {
            margin: 0 auto;
        }
    }
}

@media print {
    .app-cookie-banner {
        display: none !important;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fYXNzZXRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbXBhdGliaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19pZTguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb2xvdXJzLXBhbGV0dGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29sb3Vycy1vcmdhbmlzYXRpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbG91cnMtYXBwbGllZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NvbG91ci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX21lYXN1cmVtZW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19leHBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2ZvbnQtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19pZmYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9faW1hZ2UtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZGV2aWNlLXBpeGVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvY3VzYWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvbnQtZmFjZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fbGlua3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdmVuZG9yL19zYXNzLW1xLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fc2hhcGUtYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fbGlzdHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL190ZW1wbGF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2Zvcm0tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fbWFpbi13cmFwcGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fd2lkdGgtY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9hY2NvcmRpb24vX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYmFjay1saW5rL19iYWNrLWxpbmsuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYnV0dG9uL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2NoZWNrYm94ZXMvX2NoZWNrYm94ZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2Vycm9yLW1lc3NhZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpZWxkc2V0L19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGludC9faGludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvbGFiZWwvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9jaGFyYWN0ZXItY291bnQvX2NoYXJhY3Rlci1jb3VudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19zdW1tYXJ5LWxpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2RhdGUtaW5wdXQvX2RhdGUtaW5wdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2lucHV0L19pbnB1dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZGV0YWlscy9fZGV0YWlscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZXJyb3Itc3VtbWFyeS9fZXJyb3Itc3VtbWFyeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvX2ZpbGUtdXBsb2FkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGVhZGVyL19oZWFkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2luc2V0LXRleHQvX2luc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3BhbmVsL19wYW5lbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvcGhhc2UtYmFubmVyL19waGFzZS1iYW5uZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RhZy9fdGFnLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWJzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9yYWRpb3MvX3JhZGlvcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvc2VsZWN0L19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3NraXAtbGluay9fc2tpcC1saW5rLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWJsZS9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RleHRhcmVhL190ZXh0YXJlYS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvd2FybmluZy10ZXh0L193YXJuaW5nLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL193aWR0aC5zY3NzIiwidmFyaWFibGVzLnNjc3MiLCJwYXR0ZXJucy9jaGVjay15b3VyLWFuc3dlcnMuc2NzcyIsInBhdHRlcm5zL190YXNrLWxpc3Quc2NzcyIsInBhdHRlcm5zL3NpZ24taW4uc2NzcyIsInBhdHRlcm5zL2FkbWluLnNjc3MiLCJwYXR0ZXJucy9hZG1pbi10eXBvZ3JhcGh5LnNjc3MiLCJwYXR0ZXJucy9hZG1pbi1mb3Jtcy5zY3NzIiwicGF0dGVybnMvYWRtaW4taGVhZGVyLnNjc3MiLCJwYXR0ZXJucy9hZG1pbi1zaWRlLW5hdi5zY3NzIiwicGF0dGVybnMvYWRtaW4tc2VhcmNoLnNjc3MiLCJwYXR0ZXJucy9hZG1pbi10YWJsZXMuc2NzcyIsInBhdHRlcm5zL2FkbWluLWxheW91dC5zY3NzIiwicGF0dGVybnMvYWRtaW4tY2FyZC5zY3NzIiwicGF0dGVybnMvX3JlbGF0ZWQtaXRlbXMuc2NzcyIsInBhdHRlcm5zL2dvdnVrLW92ZXJyaWRlcy5zY3NzIiwicGF0dGVybnMvZ2MtY29yZS5zY3NzIiwicGF0dGVybnMvY3JvcHBlci5zY3NzIiwicGF0dGVybnMvY2FuZGlkYXRlLnNjc3MiLCJwYXR0ZXJucy9ndWlkYW5jZS5zY3NzIiwicGF0dGVybnMvYXV0b2NvbXBsZXRlLnNjc3MiLCJwYXR0ZXJucy9oZWFkZXIuc2NzcyIsInBhdHRlcm5zL2dvdnVrLXBhbmVscy5zY3NzIiwiY29tcG9uZW50cy9fY29va2llLWJhbm5lci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGdsb2JhbCBzdHlsZXMgZm9yIDxhPiBhbmQgPHA+IHRhZ3NcclxuJGdvdnVrLWdsb2JhbC1zdHlsZXM6IHRydWU7XHJcbi8vIFBhdGggdG8gYXNzZXRzIGZvciB1c2Ugd2l0aCB0aGUgZmlsZS11cmwgZnVuY3Rpb25cclxuLy8gaW4gdGhlIGdvdnVrIGZyb250ZW5kIHRvb2xraXQncyB1cmwtaGVscGVycyBwYXJ0aWFsXHJcbiRwYXRoOiBcIi9wdWJsaWMvaW1hZ2VzL1wiO1xyXG5cclxuLy9JbXBvcnQgR09WLlVLIEZyb250ZW5kXHJcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvYWxsXCI7XHJcblxyXG4vL1ZhcmlhYmxlcyBzcGVjaWZpYyB0byBCbHVlIEJhZGdlXHJcblxyXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcblxyXG4vLyBQYXR0ZXJucyB0aGF0IGFyZW4ndCBpbiBGcm9udGVuZFxyXG5AaW1wb3J0IFwicGF0dGVybnMvY2hlY2steW91ci1hbnN3ZXJzXCI7XHJcbkBpbXBvcnQgXCJwYXR0ZXJucy90YXNrLWxpc3RcIjtcclxuXHJcbi5jb2RlIHtcclxuICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihncmV5LTQpO1xyXG5cclxuICB0ZXh0LXNoYWRvdzogMCAxcHggZ292dWstY29sb3VyKHdoaXRlKTtcclxuICBmb250LWZhbWlseTogQ29uc29sYXMsIE1vbmFjbywgJ0FuZGFsZSBNb25vJywgJ1VidW50dSBNb25vJywgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBkaXJlY3Rpb246IGx0cjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHdoaXRlLXNwYWNlOiBwcmU7XHJcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XHJcbiAgd29yZC1icmVhazogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcblxyXG4gIC1tb3otdGFiLXNpemU6IDQ7XHJcbiAgLW8tdGFiLXNpemU6IDQ7XHJcbiAgdGFiLXNpemU6IDQ7XHJcblxyXG4gIC13ZWJraXQtaHlwaGVuczogbm9uZTtcclxuICAtbW96LWh5cGhlbnM6IG5vbmU7XHJcbiAgLW1zLWh5cGhlbnM6IG5vbmU7XHJcbiAgaHlwaGVuczogbm9uZTtcclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XHJcbiAgcGFkZGluZzogNHB4IDRweCAycHg7XHJcbn1cclxuXHJcblxyXG4vLyBUYWtlIGEgbG9vayBhdCBpbiBhcHAvYXNzZXRzL3Nhc3MvcGF0dGVybnMvIHRvIHNlZSB3aGljaCBmaWxlcyBhcmUgaW1wb3J0ZWQuXHJcbi8vIEBpbXBvcnQgJ3BhdHRlcm5zL2NoZWNrLXlvdXItYW5zd2Vycyc7XHJcbi8vIEBpbXBvcnQgJ3BhdHRlcm5zL3Rhc2stbGlzdCc7XHJcblxyXG4vLyBBZGQgZXh0cmEgc3R5bGVzIGhlcmUsIG9yIHJlLW9yZ2FuaXNlIHRoZSBTYXNzIGZpbGVzIGluIHdoaWNoZXZlciB3YXkgbWFrZXMgbW9zdCBzZW5zZSB0byB5b3VcclxuXHJcbkBpbXBvcnQgJ3BhdHRlcm5zL3NpZ24taW4nO1xyXG5AaW1wb3J0ICdwYXR0ZXJucy9hZG1pbic7XHJcbkBpbXBvcnQgJ3BhdHRlcm5zL2Nyb3BwZXInO1xyXG5AaW1wb3J0ICdwYXR0ZXJucy9jYW5kaWRhdGUnO1xyXG5AaW1wb3J0ICdwYXR0ZXJucy9ndWlkYW5jZSc7XHJcbkBpbXBvcnQgJ3BhdHRlcm5zL2F1dG9jb21wbGV0ZSc7XHJcbkBpbXBvcnQgJ3BhdHRlcm5zL2hlYWRlcic7XHJcbkBpbXBvcnQgJ3BhdHRlcm5zL2dvdnVrLXBhbmVscyc7XHJcblxyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb29raWUtYmFubmVyXCI7IiwiQGltcG9ydCBcInNldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcInRvb2xzL2FsbFwiO1xuQGltcG9ydCBcImhlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb3JlL2FsbFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsbFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FsbFwiO1xuQGltcG9ydCBcIm92ZXJyaWRlcy9hbGxcIjtcbiIsIi8vIFRoZSBvcmRlciB3ZSBpbXBvcnQgc2V0dGluZ3MgaW4gaXMgaW1wb3J0YW50LCBhcyBzb21lIHNldHRpbmdzIGZpbGVzIHJlbHkgb25cbi8vIG90aGVyc1xuXG5AaW1wb3J0IFwiYXNzZXRzXCI7XG5cbkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuQGltcG9ydCBcImllOFwiO1xuXG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuXG5AaW1wb3J0IFwiY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1hcHBsaWVkXCI7XG5cbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwibWVhc3VyZW1lbnRzXCI7XG5cbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvYXNzZXRzXG4vLy8vXG5cbi8vLyBQYXRoIHRvIHRoZSBhc3NldHMgZGlyZWN0b3J5LCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbWFnZXMgYW5kIGZvbnRzIHN1YmRpcmVjdG9yaWVzIGxpdmUuIFlvdVxuLy8vIHdpbGwgbmVlZCB0byBtYWtlIHRoaXMgZGlyZWN0b3J5IGF2YWlsYWJsZSB2aWEgeW91ciBhcHBsaWNhdGlvbiDigJMgc2VlIHRoZVxuLy8vIFJFQURNRSBmb3IgZGV0YWlscy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1hc3NldHMtcGF0aDogXCIvYXNzZXRzL1wiICFkZWZhdWx0O1xuXG4vLy8gUGF0aCB0byB0aGUgaW1hZ2VzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBmb250cyBmb2xkZXIsIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udHMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1mb250cy9cIiAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBpbWFnZSBVUkwgZnVuY3Rpb25cbi8vL1xuLy8vIElmIHRoZSBidWlsdC1pbiBpbWFnZSBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiAnaW1hZ2UtdXJsJztcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b20gYXNzZXQgaGFuZGxpbmdcbi8vL1xuLy8vICAgQGZ1bmN0aW9uIG15LXVybC1oYW5kbGVyKCRmaWxlbmFtZSkge1xuLy8vICAgICAvLyBTb21lIGN1c3RvbSBVUkwgaGFuZGxpbmdcbi8vLyAgICAgQHJldHVybiB1cmwoJ2V4YW1wbGUuanBnJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdteS11cmwtaGFuZGxlcic7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBmb250IFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGZvbnQgVVJMIGhlbHBlciBkb2VzIG5vdCBtZWV0IHlvdXIgbmVlZHMsIHlvdSBjYW4gc3BlY2lmeVxuLy8vIHRoZSBuYW1lIG9mIGEgY3VzdG9tIGhhbmRsZXIg4oCTIGVpdGhlciBidWlsdCBpbiBvciBieSB3cml0aW5nIHlvdXIgb3duXG4vLy8gZnVuY3Rpb24uXG4vLy9cbi8vLyBJZiB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gaGFuZGxlciwgZW5zdXJlIHRoYXQgaXQgcmV0dXJucyBhIHN0cmluZyB3cmFwcGVkXG4vLy8gd2l0aCBgdXJsKClgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBSYWlscyBhc3NldCBoYW5kbGluZ1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnZm9udC11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS53b2ZmJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQ29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSByZXBvcyAoZ292dWtfZWxlbWVudHMsIGdvdnVrX2Zyb250ZW5kX3Rvb2traXQgYW5kXG4vLy8gZ292dWtfdGVtcGxhdGUpIHNldHRpbmdzXG4vLy9cbi8vLyBXZSBkZWZhdWx0IHRoZXNlIHNldHRpbmdzIHRvIGB0cnVlYCBzbyB0aGF0IGlmIHRoZXkgYXJlIG1pc3NlZCB3ZSBvcHQgZm9yIGFcbi8vLyBtaWxkIHBlcmZvcm1hbmNlIGhpdCBvdmVyIGEgcG90ZW50aWFsIGJyb2tlbiBleHBlcmllbmNlIGZvciB0aGUgZW5kLXVzZXIuXG4vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29tcGF0aWJpbGl0eVxuLy8vL1xuXG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXRcbi8vL1xuLy8vIFRydWUgaWYgdXNlZCBpbiBhIHByb2plY3QgdGhhdCBhbHNvIGluY2x1ZGVzIGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtmcm9udGVuZHRvb2xraXQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ29tcGF0aWJpbGl0eSBNb2RlOiBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZVxuLy8vXG4vLy8gVHJ1ZSBpZiB1c2VkIGluIGEgcHJvamVjdCB0aGF0IGFsc28gaW5jbHVkZXMgYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzXG4vLy9cbi8vLyBUcnVlIGlmIHVzZWQgaW4gYSBwcm9qZWN0IHRoYXQgYWxzbyBpbmNsdWRlcyBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgUHJvZHVjdCBNYXBcbi8vL1xuLy8vIE1hcHMgcHJvZHVjdCBuYW1lcyB0byB0aGVpciBzZXR0aW5ncyB0aGF0IHdlIGNhbiB1c2UgdG8gbG9va3VwIHN0YXRlcyBmcm9tXG4vLy8gd2l0aGluIHRoZSBgQGdvdnVrLWNvbXBhdGliaWxpdHlgIG1peGluLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstY29tcGF0aWJpbGl0eTogKFxuICBnb3Z1a19mcm9udGVuZF90b29sa2l0OiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCxcbiAgZ292dWtfdGVtcGxhdGU6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUsXG4gIGdvdnVrX2VsZW1lbnRzOiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzLFxuKTtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvZ2xvYmFsLXN0eWxlc1xuLy8vL1xuXG4vLy8gSW5jbHVkZSAnZ2xvYmFsJyBzdHlsZXNcbi8vL1xuLy8vIFdoZXRoZXIgdG8gc3R5bGUgcGFyYWdyYXBocyAoYDxwPmApIGFuZCBsaW5rcyAoYDxhPmApIHdpdGhvdXQgZXhwbGljaXRseVxuLy8vIGhhdmluZyB0byBhcHBseSB0aGUgYGdvdnVrLWJvZHlgIGFuZCBgZ292dWstbGlua2AgY2xhc3Nlcy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2llOFxuLy8vL1xuXG4vLy8gV2hldGhlciB0aGUgc3R5bGVzaGVldCBiZWluZyBidWlsdCBpcyB0YXJnZXRpbmcgSW50ZXJuZXQgRXhwbG9yZXIgOC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaXMtaWU4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHRvIHVzZSBhcyB0aGUgdGFyZ2V0IHdoZW4gcmFzdGVyaXppbmcgbWVkaWFcbi8vLyBxdWVyaWVzXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaWU4LWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL21lZGlhLXF1ZXJpZXNcbi8vLy9cblxuLy8vIEJyZWFrcG9pbnQgZGVmaW5pdGlvbnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1icmVha3BvaW50czogKFxuICBtb2JpbGU6ICAzMjBweCxcbiAgdGFibGV0OiAgNjQxcHgsXG4gIGRlc2t0b3A6IDc2OXB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBhY3RpdmUgYnJlYWtwb2ludCBpbiB0b3AtcmlnaHQgY29ybmVyLlxuLy8vXG4vLy8gT25seSB1c2UgdGhpcyBkdXJpbmcgbG9jYWwgZGV2ZWxvcG1lbnQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXNob3ctYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbi8vLyBDb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCAkY29sb3VyIC0gUmVwcmVzZW50YXRpb24gZm9yIHRoZSBnaXZlbiAkY29sb3VyLCB3aGVyZSAkY29sb3VyIGlzIHRoZVxuLy8vICAgZnJpZW5kbHkgbmFtZSBmb3IgdGhlIGNvbG91ciAoZS5nLiBcInJlZFwiOiAjZmYwMDAwKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzOiAoXG4gIFwicHVycGxlXCI6ICMyZTM1OGIsXG4gIFwibGlnaHQtcHVycGxlXCI6ICM2ZjcyYWYsXG4gIFwiYnJpZ2h0LXB1cnBsZVwiOiAjOTEyYjg4LFxuICBcInBpbmtcIjogI2Q1Mzg4MCxcbiAgXCJsaWdodC1waW5rXCI6ICNmNDk5YmUsXG4gIFwicmVkXCI6ICNiMTBlMWUsXG4gIFwiYnJpZ2h0LXJlZFwiOiAjZGYzMDM0LFxuICBcIm9yYW5nZVwiOiAjZjQ3NzM4LFxuICBcImJyb3duXCI6ICNiNTg4NDAsXG4gIFwieWVsbG93XCI6ICNmZmJmNDcsXG4gIFwibGlnaHQtZ3JlZW5cIjogIzg1OTk0YixcbiAgXCJncmVlblwiOiAjMDA2NDM1LFxuICBcInR1cnF1b2lzZVwiOiAjMjhhMTk3LFxuICBcImxpZ2h0LWJsdWVcIjogIzJiOGNjNCxcbiAgXCJibHVlXCI6ICMwMDVlYTUsXG5cbiAgXCJibGFja1wiOiAjMGIwYzBjLFxuICBcImdyZXktMVwiOiAjNmY3NzdiLFxuICBcImdyZXktMlwiOiAjYmZjMWMzLFxuICBcImdyZXktM1wiOiAjZGVlMGUyLFxuICBcImdyZXktNFwiOiAjZjhmOGY4LFxuICBcIndoaXRlXCI6ICNmZmZmZmZcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIE9yZ2FuaXNhdGlvbiBjb2xvdXJzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRvcmdhbmlzYXRpb24uY29sb3VyIC0gQ29sb3VyIGZvciB0aGUgZ2l2ZW4gYCRvcmdhbmlzYXRpb25gXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXItd2Vic2FmZSAtIFdlYnNhZmUgY29sb3VyIGZvciB0aGUgZ2l2ZW5cbi8vLyAgIGAkb3JnYW5pc2F0aW9uYC4gV2UgdXNlIGB3ZWJzYWZlYCB0byBtZWFuIHN0cm9uZyBlbm91Z2ggY29udHJhc3QgYWdhaW5zdFxuLy8vICAgd2hpdGUgdG8gYmUgdXNlZCBmb3IgY29weSBhbmQgbWVldCB0aGUgQUFBIChsYXJnZSB0ZXh0KSBhbmQgQUEgKHNtYWxsZXJcbi8vLyAgIGNvcHkpIFdDQUcgZ3VpZGVsaW5lcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnM6IChcbiAgXCJhdHRvcm5leS1nZW5lcmFscy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzlmMTg4OCxcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwM2E4OFxuICApLFxuICBcImNhYmluZXQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDVhYmIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJjaXZpbC1zZXJ2aWNlXCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1idXNpbmVzcy1pbm5vdmF0aW9uLXNraWxsc1wiOiAoXG4gICAgY29sb3VyOiAjMDAzNDc5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY29tbXVuaXRpZXMtYW5kLWxvY2FsLWdvdmVybm1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwODU3ZSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODM2ZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWN1bHR1cmUtbWVkaWEtc3BvcnRcIjogKFxuICAgIGNvbG91cjogI2Q0MDA3MixcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwMzE1NVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWVkdWNhdGlvblwiOiAoXG4gICAgY29sb3VyOiAjMDAzYTY5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3Y2E5XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZW52aXJvbm1lbnQtZm9vZC1ydXJhbC1hZmZhaXJzXCI6IChcbiAgICBjb2xvdXI6ICMwMGEzM2IsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg5MzhcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLWRldmVsb3BtZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDI4NzgsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDVlOWFcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLXRyYWRlXCI6IChcbiAgICBjb2xvdXI6ICNjZjEwMmQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci10cmFuc3BvcnRcIjogKFxuICAgIGNvbG91cjogIzAwNmM1NixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM5ODM3M1xuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXdvcmstcGVuc2lvbnNcIjogKFxuICAgIGNvbG91cjogIzAwYmViNyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODA3YlxuICApLFxuICBcImRlcGFydG1lbnQtb2YtZW5lcmd5LWNsaW1hdGUtY2hhbmdlXCI6IChcbiAgICBjb2xvdXI6ICMwMDlkZGIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMyYjdjYWNcbiAgKSxcbiAgXCJkZXBhcnRtZW50LW9mLWhlYWx0aFwiOiAoXG4gICAgY29sb3VyOiAjMDBhZDkzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzZlXG4gICksXG4gIFwiZm9yZWlnbi1jb21tb253ZWFsdGgtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDNlNzQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDZlOTdcbiAgKSxcbiAgXCJnb3Zlcm5tZW50LWVxdWFsaXRpZXMtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICAjOTMyNWIyXG4gICksXG4gIFwiaG0tZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA3NmMwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiaG0tcmV2ZW51ZS1jdXN0b21zXCI6IChcbiAgICBjb2xvdXI6ICMwMDkzOTAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg2NzBcbiAgKSxcbiAgXCJobS10cmVhc3VyeVwiOiAoXG4gICAgY29sb3VyOiAjYWYyOTJlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjODMyMzIyXG4gICksXG4gIFwiaG9tZS1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzkzMjViMixcbiAgICBjb2xvdXItd2Vic2FmZTogIzk0NDBiMlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWRlZmVuY2VcIjogKFxuICAgIGNvbG91cjogIzRkMjk0MixcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWp1c3RpY2VcIjogKFxuICAgIGNvbG91cjogIzIzMWYyMCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm5vcnRoZXJuLWlyZWxhbmQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzZTU5OGNcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWFkdm9jYXRlLWdlbmVyYWwtZm9yLXNjb3RsYW5kXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtY29tbW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMzE3MDIzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMDA1ZjhmXG4gICksXG4gIFwib2ZmaWNlLW9mLXRoZS1sZWFkZXItb2YtdGhlLWhvdXNlLW9mLWxvcmRzXCI6IChcbiAgICBjb2xvdXI6ICM5YzEzMmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICNjMjM5NWRcbiAgKSxcbiAgXCJzY290bGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWM4YVxuICApLFxuICBcInVrLWV4cG9ydC1maW5hbmNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDU3NDcsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ1ay10cmFkZS1pbnZlc3RtZW50XCI6IChcbiAgICBjb2xvdXI6ICNjODA2NTEsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ3YWxlcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogI2EzMzAzOCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzdhMjQyYVxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZW5lcmljXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEJyYW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyYW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gQ2FudmFzIGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGJ5IHRoZSBmb290ZXIgY29tcG9uZW50IGFuZCB0ZW1wbGF0ZSB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JleS0zXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXIgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBVc2UgJ3RydWUgYmxhY2snIHRvIGF2b2lkIHByaW50ZXJzIHVzaW5nIGNvbG91ciBpbmsgdG8gcHJpbnQgYm9keSB0ZXh0XG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcHJpbnQtdGV4dC1jb2xvdXI6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vLyBTZWNvbmRhcnkgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yICdtdXRlZCcgdGV4dCwgaGVscCB0ZXh0LCBldGMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIikgIWRlZmF1bHQ7XG5cbi8vLyBGb2N1cyBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIG91dGxpbmUgKGFuZCBiYWNrZ3JvdW5kLCB3aGVyZSBhcHByb3ByaWF0ZSkgd2hlbiBpbnRlcmFjdGl2ZVxuLy8vIGVsZW1lbnRzIChsaW5rcywgZm9ybSBjb250cm9scykgaGF2ZSBrZXlib2FyZCBmb2N1cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy1jb2xvdXI6IGdvdnVrLWNvbG91cihcInllbGxvd1wiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzZWQgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIEVuc3VyZSB0aGF0IHRoZSBjb250cmFzdCBiZXR3ZWVuIHRoZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG91ciBwYXNzZXNcbi8vLyBXQ0FHIExldmVsIEFBIGNvbnRyYXN0IHJlcXVpcmVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBFcnJvciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgdG8gaGlnaGxpZ2h0IGVycm9yIG1lc3NhZ2VzIGFuZCBmb3JtIGNvbnRyb2xzIGluIGFuIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZXJyb3ItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJyZWRcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcywga2V5bGluZXMgZXRjLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGZvcm0gaW5wdXRzIGFuZCBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gTGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFZpc2l0ZWQgbGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyICFkZWZhdWx0O1xuXG4vLy8gTGluayBob3ZlciBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2NvbG91clxuLy8vL1xuXG4vLy8gR2V0IGNvbG91clxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb2xvdXIgLSBOYW1lIG9mIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vICAgKGAkZ292dWstY29sb3Vyc2ApXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBuYW1lZCBjb2xvdXJcbi8vLyBAdGhyb3cgaWYgYCRjb2xvdXJgIGlzIG5vdCBhIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1jb2xvdXIoJGNvbG91cikge1xuICAkY29sb3VyOiBxdW90ZSgkY29sb3VyKTtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBjb2xvdXIgYCN7JGNvbG91cn1gXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWNvbG91cnMsICRjb2xvdXIpO1xufVxuXG4vLy8gR2V0IHRoZSBjb2xvdXIgZm9yIGEgZ292ZXJubWVudCBvcmdhbmlzYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3JnYW5pc2F0aW9uIC0gT3JnYW5pc2F0aW9uIG5hbWUsIGxvd2VyY2FzZSwgaHlwaGVuYXRlZFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdlYnNhZmUgW3RydWVdIC0gQnkgZGVmYXVsdCBhICd3ZWJzYWZlJyB2ZXJzaW9uIG9mIHRoZVxuLy8vICAgY29sb3VyIHdpbGwgYmUgcmV0dXJuZWQgd2hpY2ggbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIC4gSWYgeW91IHdhbnQgdG9cbi8vLyAgIHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiB5b3UgY2FuIHNldCB0aGlzIHRvIGBmYWxzZWAgYnV0IHlvdXIgc2hvdWxkXG4vLy8gICBlbnN1cmUgdGhhdCB5b3Ugc3RpbGwgbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIGZvciBhY2Nlc3NpYmlsaXR5IC0gZm9yXG4vLy8gICBleGFtcGxlLCBkb24ndCB1c2UgdGhlIG5vbi13ZWJzYWZlIHZlcnNpb24gZm9yIHRleHQuXG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvdXJ9IFJlcHJlc2VudGF0aW9uIG9mIGNvbG91ciBmb3Igb3JnYW5pc2F0aW9uXG4vLy8gQHRocm93IGlmIGAkb3JnYW5pc2F0aW9uYCBpcyBub3QgYSBrbm93biBvcmdhbmlzYXRpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstb3JnYW5pc2F0aW9uLWNvbG91cigkb3JnYW5pc2F0aW9uLCAkd2Vic2FmZTogdHJ1ZSkge1xuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIG9yZ2FuaXNhdGlvbiBgI3skb3JnYW5pc2F0aW9ufWBcIjtcbiAgfVxuXG4gICRvcmctY29sb3VyOiBtYXAtZ2V0KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pO1xuXG4gIEBpZiAoJHdlYnNhZmUgYW5kIG1hcC1oYXMta2V5KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG9yZy1jb2xvdXIsIGNvbG91ci13ZWJzYWZlKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXIpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3NwYWNpbmdcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlcy4gQWNjZXNzIHVzaW5nIGBnb3Z1ay1zcGFjaW5nKClgXG4vLy8gKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcG9pbnRzOiAoXG4gIDA6IDAsXG4gIDE6IDVweCxcbiAgMjogMTBweCxcbiAgMzogMTVweCxcbiAgNDogMjBweCxcbiAgNTogMjVweCxcbiAgNjogMzBweCxcbiAgNzogNDBweCxcbiAgODogNTBweCxcbiAgOTogNjBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZyBtYXBzXG4vLy9cbi8vLyBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcgdGhhdCBhZGFwdHNcbi8vLyBhY2NvcmRpbmcgdG8gdGhlIGJyZWFrcG9pbnRzIChzZWUgJ2hlbHBlcnMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxuLy8vIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUgdG8gc3RhbmRhcmRpc2UgcmVzcG9uc2l2ZSBzcGFjaW5nLlxuLy8vXG4vLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcbi8vLyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4vLy9cbi8vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxuLy8vIGBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmdgIG1peGlucyAoc2VlIGBoZWxwZXJzL3NwYWNpbmdgKS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlOiAoXG4gIDA6IChcbiAgICBudWxsOiAwLFxuICAgIHRhYmxldDogMFxuICApLFxuICAxOiAoXG4gICAgbnVsbDogNXB4LFxuICAgIHRhYmxldDogNXB4XG4gICksXG4gIDI6IChcbiAgICBudWxsOiAxMHB4LFxuICAgIHRhYmxldDogMTBweFxuICApLFxuICAzOiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDE1cHhcbiAgKSxcbiAgNDogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAyMHB4XG4gICksXG4gIDU6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjVweFxuICApLFxuICA2OiAoXG4gICAgbnVsbDogMjBweCxcbiAgICB0YWJsZXQ6IDMwcHhcbiAgKSxcbiAgNzogKFxuICAgIG51bGw6IDI1cHgsXG4gICAgdGFibGV0OiA0MHB4XG4gICksXG4gIDg6IChcbiAgICBudWxsOiAzMHB4LFxuICAgIHRhYmxldDogNTBweFxuICApLFxuICA5OiAoXG4gICAgbnVsbDogNDBweCxcbiAgICB0YWJsZXQ6IDYwcHhcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVhc3VyZW1lbnRzXG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZ2UgbGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFdpZHRoIG9mIG1haW4gY29udGFpbmVyXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcGFnZS13aWR0aDogOTYwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXAgb2YgZ3JpZCBjb2x1bW4gd2lkdGhzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcbiAgb25lLXRoaXJkOiAzMy4zMzMzJSxcbiAgb25lLWhhbGY6IDUwJSxcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXG4gIHRocmVlLXF1YXJ0ZXJzOiA3NSUsXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBoYWxmIHRoZSBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXItaGFsZjogJGdvdnVrLWd1dHRlciAvIDI7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gU3RhbmRhcmQgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vLyBXaWRlIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC13aWRlOiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9uIG1vYmlsZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1tb2JpbGU6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgTlRBICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yXG4vLy8gR09WLlVLKVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGE6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLy8gTGlzdCBvZiBmb250IGZhbWlsaWVzIHRvIHVzZSBpZiB1c2luZyB0aGUgJ3RhYnVsYXIgbnVtYmVycycgc3Vic2V0IG9mIE5UQVxuLy8vICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yIEdPVi5VSylcbi8vL1xuLy8vIEJlY2F1c2UgbnRhdGFidWxhcm51bWJlcnMgb25seSBpbmNsdWRlcyB0aGUgZGlnaXRzIDAtMTAsIGFsbCBvdGhlciBnbHlwaHNcbi8vLyB3aWxsICdmYWxsLXRocm91Z2gnIHRoZSBzdGFjayB0byBOVEEuXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LW50YS10YWJ1bGFyOiBcIm50YXRhYnVsYXJudW1iZXJzXCIsICRnb3Z1ay1mb250LWZhbWlseS1udGE7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktbnRhICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2Ugd2hlbiBkaXNwbGF5aW5nIHRhYnVsYXIgbnVtYmVyc1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyOiAkZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXIgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBJbmNsdWRlIHRoZSBkZWZhdWx0IEBmb250LWZhY2UgZGVjbGFyYXRpb25zXG4vLy9cbi8vLyBJZiB5b3UgaGF2ZSBzZXQgJGdvdnVrLWZvbnQtZmFtaWx5IHRvIHNvbWV0aGluZyBvdGhlciB0aGFuICRnb3Z1ay1mb250LWZhbWlseS1udGEgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC5cbi8vL1xuLy8vIElmIHlvdSBhcmUgdXNpbmcgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSB0aGlzIG9wdGlvbiBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbmNsdWRlLWRlZmF1bHQtZm9udC1mYWNlOiAoXG4gICRnb3Z1ay1mb250LWZhbWlseSA9PSAkZ292dWstZm9udC1mYW1pbHktbnRhIGFuZFxuICBub3QoJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSlcbiApICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgd2VpZ2h0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IHdlaWdodCBmb3IgcmVndWxhciB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBib2xkIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtYm9sZDogNzAwICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBXaGV0aGVyIG9yIG5vdCB0byBkZWZpbmUgZm9udCBzaXplcyBpbiByZW0sIGltcHJvdmluZyBhY2Nlc3NpYmlsaXR5IGJ5XG4vLy8gYWxsb3dpbmcgdXNlcnMgdG8gYWRqdXN0IHRoZSBiYXNlIGZvbnQtc2l6ZS4gVGhpcyBpcyBjdXJyZW50bHkgb2ZmIGJ5XG4vLy8gZGVmYXVsdCwgYnV0IHdpbGwgYmUgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBwcm9qZWN0cyB0aGF0IGRvIG5vdCB1c2Vcbi8vLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuLy8vXG4vLy8gSWYgdGhpcyBpcyBlbmFibGVkLCB5b3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0ICRnb3Z1ay1yb290LWZvbnQtc2l6ZSBpcyBzZXRcbi8vLyBjb3JyZWN0bHkgZm9yIHlvdXIgcHJvamVjdFxuLy8vXG4vLy8gSWYgYW55IG9mIHRoZSBjb21wYXRpYmlsaXR5IHZhcmlhYmxlcyBhcmUgc2V0LCB0aGVuIGRlZmF1bHRcbi8vLyByZXNwb25zaXZlIHR5cG9ncmFwaHkgdG8gb2ZmLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW06IGlmKChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksIGZhbHNlLCB0cnVlKSAhZGVmYXVsdDtcblxuLy8vIFJvb3QgZm9udCBzaXplXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHJlbSBzaXplcyBmb3IgdGhlIHR5cG9ncmFwaHksIGFuZCBzaG91bGQgbWF0Y2ggdGhlXG4vLy8gX2VmZmVjdGl2ZV8gZm9udC1zaXplIG9mIHlvdXIgcm9vdCAob3IgaHRtbCkgZWxlbWVudC5cbi8vL1xuLy8vIElkZWFsbHkgeW91IHNob3VsZCBub3QgYmUgc2V0dGluZyB0aGUgZm9udC1zaXplIG9uIHRoZSBodG1sIG9yIHJvb3QgZWxlbWVudFxuLy8vIGluIG9yZGVyIHRvIGFsbG93IGl0IHRvIHNjYWxlIHdpdGggdXNlci1wcmVmZXJlbmNlLCBpbiB3aGljaCBjYXNlIHRoaXNcbi8vLyBzaG91bGQgYmUgc2V0IHRvIDE2cHguXG4vLy9cbi8vLyBJZiB5b3UgYXJlIGludGVncmF0aW5nIEZyb250ZW5kIGludG8gYW4gZXhpc3RpbmcgcHJvamVjdCB0aGF0IGFsc28gdXNlc1xuLy8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JVxuLy8vICgxMHB4KSBiYXNlIGZvbnQgc2l6ZSB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vIERpc2FibGUgaW5kZW50YXRpb24gbGludGluZyBpbiB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb25cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKGdldC1mdW5jdGlvbigkZ292dWstZm9udC11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstZm9udHMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbmRpdGlvbmFsbHkgaW5jbHVkZSBydWxlcyBvbmx5IGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIGNvbXBpbGluZyBhIHN0eWxlc2hlZXRcbi8vLyAgIHRoYXQgdGFyZ2V0cyBJRTggKGlmIGAkZ292dWstaXMtaWU4YCBpcyB0cnVlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBtaW4td2lkdGg6IDEwMHB4O1xuLy8vICAgICAvLyBTcGVjaWZ5IHdpZHRoIGZvciBJRTggb25seVxuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWlmLWllOCB7XG4gIEBpZiAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQ29uZGl0aW9uYWxseSBleGNsdWRlIHJ1bGVzIGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIG5vdCBjb21waWxpbmcgYVxuLy8vICAgc3R5bGVzaGVldCB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgZmFsc2UpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8vXG4vLy8gICAgIC8vIEVuaGFuY2UgZm9vIG9ubHkgZm9yIG1vZGVybiBicm93c2VycyAobm90IElFOClcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4vLy8gICAgICAgZm9udC1mYW1pbHk6IFwiQ29taWMgU2FucyBNU1wiLCBcIkN1cmx6IE1UXCIgY3Vyc2l2ZSwgc2Fucy1zZXJpZjtcbi8vLyAgICAgICBjb2xvcjogI0ZGNjlCNDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW5vdC1pZTgge1xuICBAaWYgbm90ICRnb3Z1ay1pcy1pZTgge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBTeW50YWN0aWMgc3VnYXIgYXJvdW5kIFNhc3MnIGJ1aWx0LWluIGBpZmAgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdCByZXF1aXJlXG4vLy8geW91IHRvIHBhc3MgYSB2YWx1ZSBmb3IgYCRpZi1mYWxzZWAuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjb25kaXRpb24gLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgdmFsdWUgb2YgYCRpZi10cnVlYFxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRpZi10cnVlIC0gVmFsdWUgdG8gcmV0dXJuIGlmIGAkY29uZGl0aW9uYCBpcyB0cnV0aHlcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVmFsdWUgb2YgYCRpZi10cnVlYCBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5LCBlbHNlIG51bGxcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gaWZmKCRjb25kaXRpb24sICRpZi10cnVlKSB7XG4gIEByZXR1cm4gaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLyBEaXNhYmxlIGluZGVudGF0aW9uIGxpbnRpbmcgaW4gdGhpcyBmaWxlIG9ubHlcbi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uXG5cbi8vLyBJbWFnZSBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGltYWdlLXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pIHRoZW5cbi8vLyBpdCB3aWxsIGJlIGNhbGxlZCwgb3RoZXJ3aXNlIGEgdXJsIHdpbGwgYmUgcmV0dXJuZWQgd2l0aCB0aGUgZmlsZW5hbWVcbi8vLyBhcHBlbmRlZCB0byB0aGUgaW1hZ2UgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSBGaWxlbmFtZSBmb3IgdGhlIGltYWdlIHRvIGxvYWRcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IFVSTCBmb3IgdGhlIGZpbGVuYW1lLCB3cmFwcGVkIGluIGB1cmwoKWBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstaW1hZ2UtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb25cbiAgICBhbmQgZnVuY3Rpb24tZXhpc3RzKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstaW1hZ2VzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbnRleHQtZm9udC1zaXplIC0gRm9udCBzaXplIG9mIGVsZW1lbnRcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiBlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZW0oJHZhbHVlLCAkY29udGV4dC1mb250LXNpemUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cbiAgQGlmICh1bml0bGVzcygkY29udGV4dC1mb250LXNpemUpKSB7XG4gICAgJGNvbnRleHQtZm9udC1zaXplOiAkY29udGV4dC1mb250LXNpemUgKiAxcHg7XG4gIH1cbiAgQHJldHVybiAkdmFsdWUgLyAkY29udGV4dC1mb250LXNpemUgKiAxZW07XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byByZW1cbi8vL1xuLy8vIFRoZSAkZ292dWstcm9vdC1mb250LXNpemUgKGRlZmluZWQgaW4gc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzKVxuLy8vIG11c3QgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGUgZm9udC1zaXplIG9mIHlvdXIgcm9vdCAoaHRtbCkgZWxlbWVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiByZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAvICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAqIDFyZW07XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJjb2xvdXJcIjtcbkBpbXBvcnQgXCJkZXZpY2UtcGl4ZWxzXCI7XG5AaW1wb3J0IFwiZm9jdXNhYmxlXCI7XG5AaW1wb3J0IFwiZm9udC1mYWNlc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcIm1lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJzaGFwZS1hcnJvd1wiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmlzdWFsbHktaGlkZGVuXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENsZWFyIGZsb2F0ZWQgY29udGVudCB3aXRoaW4gYSBjb250YWluZXIgdXNpbmcgYSBwc2V1ZG8gZWxlbWVudFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBNZWRpYSBxdWVyeSBmb3IgcmV0aW5hIGltYWdlcyAoZGV2aWNlLXBpeGVsLXJhdGlvKVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYXRpbyBbMl0gLSBEZXZpY2UgcGl4ZWwgcmF0aW9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCB3aWxsIGJlIG91dHB1dHRlZCB3aXRoaW4gdGhlIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUHJvdmlkaW5nIGEgQDJ4IGltYWdlIGZvciBzY3JlZW5zIHRoYXQgc3VwcG9ydCBpdFxuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNpbmcgYSBjdXN0b20gcmF0aW9cbi8vLyAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLnBuZ1wiKTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtMngucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oMykge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0zeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvKCRyYXRpbzogMikge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgbWluLXJlc29sdXRpb246ICN7KCRyYXRpbyo5Nil9ZHBpKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogI3skcmF0aW99ZHBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBGb2N1c2FibGUgaGVscGVyXG4vLy9cbi8vLyBQcm92aWRlcyBhbiBhZGRpdGlvbmFsIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpc1xuLy8vIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSBlbGVtZW50cyB3aGljaCB0aGVtc2VsdmVzIGhhdmUgc29tZSBiYWNrZ3JvdW5kXG4vLy8gb3IgYm9yZGVyLCBzdWNoIGFzIG1vc3QgZm9ybSBlbGVtZW50cy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgfVxufVxuXG4vLy8gRm9jdXNhYmxlIHdpdGggZmlsbCBoZWxwZXJcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSBhbmQgYmFja2dyb3VuZCBjb2xvdXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSB0ZXh0LWJhc2VkIGVsZW1lbnRzIHN1Y2hcbi8vLyBhcyBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUtZmlsbCB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLyBEaXNhYmxlcyBsaW50aW5nIGZvciB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY3NzLWNvbW1lbnRzLCBuby1kdXBsaWNhdGUtcHJvcGVydGllcywgcHJvcGVydHktc29ydC1vcmRlciwgaW5kZW50YXRpb25cblxuQGltcG9ydCBcIi4uL3Rvb2xzL2V4cG9ydHNcIjtcblxuLy8vIEZvbnQgRmFjZSAtIE5UQVxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgZm9udC1mYWNlIGRlY2xhcmF0aW9uIGZvciBOVEEgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1udGEge1xuICBAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvaGVscGVycy9mb250LWZhY2VcIikge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqL1xuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC0yYzAzN2NmN2UxLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LTJjMDM3Y2Y3ZTEtdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LWYzOGFkNDA0NTYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC00NThmOGVhODFjLXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLWZiMjY3NjQ2MmEtdjEuZW90XCIpO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1mYjI2NzY0NjJhLXYxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWEyNDUyY2I2NmYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWYzOGM3OTJhYzItdjEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhdGFidWxhcm51bWJlcnNcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNDk4ZWE4ZmZlMi12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC10YWJ1bGFyLTQ5OGVhOGZmZTItdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItODUxYjEwY2NkZC12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNjJjYzZmMGEyOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC10YWJ1bGFyLWI4OTIzOGQ4NDAtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItNzg0YzIxYWZiOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFBlcmNlbnRhZ2Ugd2lkdGhcbi8vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZ3JpZC13aWR0aCgka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZSAoYWxpYXMpXG4vLy9cbi8vLyBAYWxpYXMgZ292dWstZ3JpZC13aWR0aFxuLy8vIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgaW4gdjMuMCwgcmVwbGFjZWQgYnkgZ292dWstZ3JpZC13aWR0aFxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJGtleSkge1xuICBAcmV0dXJuIGdvdnVrLWdyaWQtd2lkdGgoJGtleSk7XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIHJvdyBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIHJvdyBjbGFzcyB3aXRoIGEgc3RhbmRhcmRpc2VkIG1hcmdpbi5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtcm93XSBDU1MgY2xhc3MgbmFtZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLXJvdyhcImFwcC1ncmlkXCIpO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZGVwcmVjYXRlZCBUbyBiZSByZW1vdmVkIGluIHYzLjAsIHJlcGxhY2VkIGJ5IHRoZSBnb3Z1ay1ncmlkLXJvdyBjbGFzc1xuXG5AbWl4aW4gZ292dWstZ3JpZC1yb3coJGNsYXNzOiBcImdvdnVrLWdyaWQtcm93XCIpIHtcbiAgLiN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiB3aXRoIHN0YW5kYXJkIGd1dHRlciBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuLy8vXG4vLy8gSWYgYSBgJGNsYXNzYCBpcyBwcm92aWRlZCAod2hpY2ggaXMgdGhlIGRlZmF1bHQsIGJ1dCBkZXByZWNhdGVkIGJlaGF2aW91ciksXG4vLy8gdGhlIGdlbmVyYXRlZCBydWxlcyB3aWxsIGJlIHdyYXBwZWQgaW4gYSBwcmVkZWZpbmVkIHNlbGVjdG9yIGluIHRoZSBmb3JtYXRcbi8vLyBgJGNsYXNzLSR3aWR0aGAgKGUuZy4gYGdvdnVrLWdyaWQtY29sdW1uLWZ1bGxgKS4gVGhpcyBiZWhhdmlvdXIgaXNcbi8vLyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjMuMFxuLy8vXG4vLy8gR3JpZCB3aWR0aHMgYXJlIGRlZmluZWQgaW4gdGhlIGAkZ292dWstZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlIGNvbHVtbiB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlXG4vLy8gJ3RhYmxldCcgYnJlYWtwb2ludCwgYnV0IG90aGVyIGJyZWFrcG9pbnRzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIGAkYXRgXG4vLy8gcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbZnVsbF0gbmFtZSBvZiBhIGdyaWQgd2lkdGggZnJvbSAkZ292dWstZ3JpZC13aWR0aHNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtY29sdW1uXSBDU1MgY2xhc3MgbmFtZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRjbGFzczogZmFsc2UpXG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGYtYXQtZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQsICRjbGFzczogZmFsc2UpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lIChkZXByZWNhdGVkKVxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRjbGFzczogXCJ0ZXN0LWNvbHVtblwiKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGg6IGZ1bGwsICRmbG9hdDogbGVmdCwgJGF0OiB0YWJsZXQsICRjbGFzczogXCJnb3Z1ay1ncmlkLWNvbHVtblwiKSB7XG4gIEBpZiAoJGNsYXNzKSB7XG4gICAgLiN7JGNsYXNzfS0jeyR3aWR0aH0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkZmxvYXQsICRhdCwgJGNsYXNzOiBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xuICAgICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICAgIGZsb2F0OiAkZmxvYXQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbn1cblxuLy8vIERlZmF1bHQgbGluayBzdHlsZSBtaXhpblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgbGlua3MuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay12aXNpdGVkLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWFjdGl2ZS1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIE11dGVkIHN0eWxlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIFVzZWQgZm9yIHNlY29uZGFyeSBsaW5rcyBvbiBhIHBhZ2UgLSB0aGUgbGluayB3aWxsIGFwcGVhciBpbiBtdXRlZCBjb2xvdXJzXG4vLy8gcmVnYXJkbGVzcyBvZiB2aXNpdGVkIHN0YXRlLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50IHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBnb3Z1ay1saW5rLWNvbW1vbiBtaXhpbiBpbiBvcmRlciB0byBnZXQgdGhlIGZvY3VzIHN0YXRlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3IgZGVzaWduZWRcbiAgLy8gdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBUZXh0IHN0eWxlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIE92ZXJyaWRlcyB0aGUgY29sb3VyIG9mIGxpbmtzIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG91ci4gR2VuZXJhbGx5IHVzZWQgYnlcbi8vLyBuYXZpZ2F0aW9uIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnJlYWRjcnVtYnMgb3IgdGhlIGJhY2sgbGluay5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtdGV4dCB7XG4gIC8vIE92ZXJyaWRlIGxpbmsgY29sb3VyIHRvIHVzZSB0ZXh0IGNvbG91clxuICAmOmxpbmssXG4gICY6dmlzaXRlZCxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3IgZGVzaWduZWRcbiAgLy8gdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIE5vIHZpc2l0ZWQgc3RhdGUgbGluayBtaXhpblxuLy8vXG4vLy8gVXNlZCBpbiBjYXNlcyB3aGVyZSBpdCBpcyBub3QgaGVscGZ1bCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHZpc2l0ZWQgYW5kXG4vLy8gbm9uLXZpc2l0ZWQgbGlua3MuXG4vLy9cbi8vLyBGb3IgZXhhbXBsZSwgbmF2aWdhdGlvbiBsaW5rcyB0byBwYWdlcyB3aXRoIGR5bmFtaWMgY29udGVudCBsaWtlIGFkbWluXG4vLy8gZGFzaGJvYXJkcy4gVGhlIGNvbnRlbnQgb24gdGhlIHBhZ2UgaXMgY2hhbmdpbmcgYWxsIHRoZSB0aW1lLCBzbyB0aGUgZmFjdFxuLy8vIHRoYXQgeW914oCZdmUgdmlzaXRlZCBpdCBiZWZvcmUgaXMgbm90IGltcG9ydGFudC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZSB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWFjdGl2ZS1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFByaW50IGZyaWVuZGx5IGxpbmsgbWl4aW5cbi8vL1xuLy8vIFdoZW4gcHJpbnRpbmcsIGFwcGVuZCB0aGUgdGhlIGRlc3RpbmF0aW9uIFVSTCB0byB0aGUgbGluayB0ZXh0LCBhcyBsb25nXG4vLy8gYXMgdGhlIFVSTCBzdGFydHMgd2l0aCBlaXRoZXIgYC9gLCBgaHR0cDovL2Agb3IgYGh0dHBzOi8vYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXByaW50LWZyaWVuZGx5IHtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG5cbiAgICAmW2hyZWZePVwiL1wiXSxcbiAgICAmW2hyZWZePVwiaHR0cDovL1wiXSxcbiAgICAmW2hyZWZePVwiaHR0cHM6Ly9cIl0ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG5cbiAgICAgICAgLy8gQmVjYXVzZSB0aGUgVVJMcyBtYXkgYmUgdmVyeSBsb25nLCBlbnN1cmUgdGhhdCB0aGV5IG1heSBiZSBicm9rZW5cbiAgICAgICAgLy8gYXQgYXJiaXRyYXJ5IHBvaW50cyBpZiB0aGVyZSBhcmUgbm8gb3RoZXJ3aXNlIGFjY2VwdGFibGUgYnJlYWtcbiAgICAgICAgLy8gcG9pbnRzIGluIHRoZSBsaW5lXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBXcmFuZ2xlIHNhc3MtbXEgY29uZmlnLi4uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUGFzcyBvdXIgYnJlYWtwb2ludHMgYW5kIHN0YXRpYyBicmVha3BvaW50IGRlZmluaXRpb25zIHRocm91Z2ggdG8gc2Fzcy1tcS5cbiRtcS1icmVha3BvaW50czogaWYodmFyaWFibGUtZXhpc3RzKGdvdnVrLWJyZWFrcG9pbnRzKSwgJGdvdnVrLWJyZWFrcG9pbnRzLCAoKSk7XG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGlmKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1pZTgtYnJlYWtwb2ludCksICRnb3Z1ay1pZTgtYnJlYWtwb2ludCwgZGVza3RvcCk7XG5cbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcblxuQGlmICh2YXJpYWJsZS1leGlzdHMoZ292dWstc2hvdy1icmVha3BvaW50cykgYW5kICRnb3Z1ay1zaG93LWJyZWFrcG9pbnRzKSB7XG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiBtYXAta2V5cygkZ292dWstYnJlYWtwb2ludHMpO1xufVxuXG4vLyBXaGVuIGJ1aWxkaW5nIGEgc3R5bGVzaGVldCBmb3IgSUU4LCBzZXQgJG1xLXJlc3BvbnNpdmUgdG8gZmFsc2UgaW4gb3JkZXIgdG9cbi8vICdyYXN0ZXJpemUnIGFueSBtZWRpYSBxdWVyaWVzLlxuXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZTtcbkBpZiAodmFyaWFibGUtZXhpc3RzKGdvdnVrLWlzLWllOCkgYW5kICRnb3Z1ay1pcy1pZTgpIHtcbiAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xufVxuXG4vLyBUaGlzIGlzIGEgaG9ycmlibGUsIGhvcnJpYmxlIGhhY2sgdG8gcHJldmVudCB0aGUgJ2RldiBtb2RlJyBDU1MgdG8gZGlzcGxheVxuLy8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBmcm9tIGJlaW5nIGluY2x1ZGVkIG11bHRpcGxlIHRpbWVzLlxuLy9cbi8vIFdlIGNhbid0IHVzZSB0aGUgYGV4cG9ydHNgIG1peGluIGZvciB0aGlzIGJlY2F1c2UgaW1wb3J0IGRpcmVjdGl2ZXMgY2Fubm90IGJlXG4vLyB1c2VkIHdpdGhpbiBjb250cm9sIGRpcmVjdGl2ZXMg8J+YoFxuJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiAkc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkIHtcbiAgJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpO1xufVxuXG5AaW1wb3J0IFwiLi4vdmVuZG9yL3Nhc3MtbXFcIjtcblxuJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZDogdHJ1ZTtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBNZWRpYSBRdWVyeVxuLy8vXG4vLy8gVGhpcyBpcyBhIGN1cnJlbnRseSBhIHdyYXBwZXIgZm9yIHNhc3MtbXEgLSBhYnN0cmFjdGVkIHNvIHRoYXQgd2UgY2FuXG4vLy8gcmVwbGFjZSBpdCBpbiB0aGUgZnV0dXJlIGlmIHdlIHNvIGNob29zZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkZ292dWstYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFthbGxdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgbXEgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ292dWstYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskZ292dWstaWU4LWJyZWFrcG9pbnRdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge0Jvb2xlYW59ICRyZXNwb25zaXZlIFskZ292dWstaXMtaWU4XVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1tZWRpYS1xdWVyeSgkYXJncy4uLikge1xuICBAaW5jbHVkZSBtcSgkYXJncy4uLikge1xuICAgIEBjb250ZW50O1xuICB9O1xufVxuIiwiLy8gbXEoKSB2NC4wLjJcbi8vIHNhc3MtbXEvc2Fzcy1tcVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlLWFsbFxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIGhlaWdodCBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZVxuLy8vXG4vLy8gTXVsdGlwbHlpbmcgaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlIGJ5IHRoZVxuLy8vIHNxdWFyZSByb290IG9mIHRocmVlIGdpdmVzIHVzIGl0cyBoZWlnaHQuIFdlIHVzZSAxLjczMiBhcyBhbiBhcHByb3hpbWF0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSBiYXNlIG9mIHRoZSB0cmlhbmdsZVxuLy8vIEByZXR1cm4ge051bWJlcn0gQ2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZ292dWstZXF1aWxhdGVyYWwtaGVpZ2h0KCRiYXNlKSB7XG4gICRzcXVhcmUtcm9vdC1vZi10aHJlZTogMS43MzI7XG5cbiAgQHJldHVybiAoJGJhc2UgLyAyKSAqICRzcXVhcmUtcm9vdC1vZi10aHJlZTtcbn1cblxuLy8vIEFycm93IG1peGluXG4vLy9cbi8vLyBHZW5lcmF0ZSBBcnJvd3MgKHRyaWFuZ2xlcykgYnkgdXNpbmcgYSBtaXggb2YgdHJhbnNwYXJlbnQgKDEpIGFuZCBjb2xvdXJlZFxuLy8vIGJvcmRlcnMuIFRoZSBjb2xvdXJlZCBib3JkZXJzIGluaGVyaXQgdGhlIHRleHQgY29sb3VyIG9mIHRoZSBlbGVtZW50ICgyKS5cbi8vL1xuLy8vIEVuc3VyZSB0aGUgYXJyb3cgaXMgcmVuZGVyZWQgY29ycmVjdGx5IGlmIGJyb3dzZXIgY29sb3VycyBhcmUgb3ZlcnJpZGRlbiBieVxuLy8vIHByb3ZpZGluZyBhIGNsaXAgcGF0aCAoMykuIFdpdGhvdXQgdGhpcyB0aGUgdHJhbnNwYXJlbnQgYm9yZGVycyBhcmVcbi8vLyBvdmVycmlkZGVuIHRvIGJlY29tZSB2aXNpYmxlIHdoaWNoIHJlc3VsdHMgaW4gYSBzcXVhcmUuXG4vLy9cbi8vLyBXZSBuZWVkIGJvdGggYmVjYXVzZSBvbGRlciBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjbGlwLXBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiAtIERpcmVjdGlvbiBmb3IgYXJyb3c6IHVwLCByaWdodCwgZG93biwgbGVmdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIHRyaWFuZ2xlICdiYXNlJyBzaWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgW251bGxdIC0gSGVpZ2h0IG9mIHRyaWFuZ2xlLiBPbWl0IGZvciBlcXVpbGF0ZXJhbC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXSAtIENTUyBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBhcnJvd1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb24sICRiYXNlLCAkaGVpZ2h0OiBudWxsLCAkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG5cbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyAxXG5cbiAgJHBlcnBlbmRpY3VsYXI6ICRiYXNlIC8gMjtcblxuICBAaWYgKCRoZWlnaHQgPT0gbnVsbCkge1xuICAgICRoZWlnaHQ6IF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpO1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ1cFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6IDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyICRoZWlnaHQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBhcnJvdyBkaXJlY3Rpb246IGV4cGVjdGVkIGB1cGAsIGByaWdodGAsIGBkb3duYCBvciBgbGVmdGAsIGdvdCBgI3skZGlyZWN0aW9ufWBcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBTaW5nbGUgcG9pbnQgc3BhY2luZ1xuLy8vXG4vLy8gUmV0dXJucyBtZWFzdXJlbWVudCBjb3JyZXNwb25kaW5nIHRvIHRoZSBzcGFjaW5nIHBvaW50IHJlcXVlc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSBzcGFjaW5nIHNjYWxlIChzZXQgaW4gYHNldHRpbmdzL19zcGFjaW5nLnNjY3NgKVxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gU3BhY2luZyBNZWFzdXJlbWVudCBlZy4gMTBweFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDUpO1xuLy8vICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMikgIWltcG9ydGFudDsgLy8gaWYgYCFpbXBvcnRhbnRgIGlzIHJlcXVpcmVkXG4vLy8gICB9XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpIHtcblxuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiXG4gICAgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyB2YXJpYWJsZSBgI3skc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpO1xufVxuXG4vLy8gUmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgc3BhY2luZyAoZWl0aGVyIHBhZGRpbmcgb3IgbWFyZ2luLCBkZXBlbmRpbmcgb24gYCRwcm9wZXJ0eWApXG4vLy8gYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lc1xuLy8vIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBUbyBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcsIHVzZSAnZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4nIG9yXG4vLy8gJ2dvdnVrLXJlc3BvbnNpdmUtcGFkZGluZycgbWl4aW5zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyAgIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gUHJvcGVydHkgdG8gYWRkIHNwYWNpbmcgdG8gKGUuZy4gJ21hcmdpbicpXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkcHJvcGVydHksICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcblxuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCIgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyBwb2ludCBgI3skcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgXCJcbiAgICArIFwicmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC5cIjtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSByZXR1cm4gdmFsdWUgZnJvbSBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AgaXMgYSBtYXAuXG4gICRzY2FsZS1tYXA6IG1hcC1nZXQoJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gICRhY3R1YWwtbWFwLXR5cGU6IHR5cGUtb2YoJHNjYWxlLW1hcCk7XG4gIEBpZiAkYWN0dWFsLW1hcC10eXBlICE9IFwibWFwXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiXG4gICAgKyBcIiN7JGFjdHVhbC1tYXAtdHlwZX0uIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgbWFwIHRvIHNldCB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYClcIjtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtdmFsdWUgaW4gJHNjYWxlLW1hcCB7XG5cbiAgICBAaWYgKCRhZGp1c3RtZW50KSB7XG4gICAgICAkYnJlYWtwb2ludC12YWx1ZTogJGJyZWFrcG9pbnQtdmFsdWUgKyAkYWRqdXN0bWVudDtcbiAgICB9XG5cbiAgICAvLyBUaGUgJ251bGwnIGJyZWFrcG9pbnQgaXMgZm9yIG1vYmlsZS5cbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG5cbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVzcG9uc2l2ZSBtYXJnaW5cbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBtYXJnaW4gYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJtYXJnaW5cIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vLy8gUmVzcG9uc2l2ZSBwYWRkaW5nXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgcGFkZGluZyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcInBhZGRpbmdcIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB0aGUgdXNlciBpcyB1c2luZyB0aGUgZGVmYXVsdCBOVEEgZm9udCB3ZSBuZWVkIHRvIGluY2x1ZGUgdGhlIGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMuXG4gIC8vIFdlIGRvIG5vdCBuZWVkIHRvIGluY2x1ZGUgdGhlIE5UQSBmb250LWZhY2UgZGVjbGFyYXRpb25zIGlmIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGlzIGJlaW5nIHVzZWQgc2luY2UgdGhleSB3aWxsIGFscmVhZHkgYmUgaW5jbHVkZWQuXG4gIEBpZiAoJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2UpIHtcbiAgICBAaW5jbHVkZSBfZ292dWstZm9udC1mYWNlLW50YTtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktcHJpbnQ7XG4gIH1cbn1cblxuLy8vIFRleHQgY29sb3VyIGhlbHBlclxuLy8vXG4vLy8gU2V0cyB0aGUgdGV4dCBjb2xvdXIsIGluY2x1ZGluZyBhIHN1aXRhYmxlIG92ZXJyaWRlIGZvciBwcmludC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgY29sb3I6ICRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gUmVndWxhciBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXIgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xufVxuXG4vLy8gQm9sZCBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xufVxuXG4vLy8gQ29udmVydCBsaW5lLWhlaWdodHMgc3BlY2lmaWVkIGluIHBpeGVscyBpbnRvIGEgcmVsYXRpdmUgdmFsdWUsIHVubGVzc1xuLy8vIHRoZXkgYXJlIGFscmVhZHkgdW5pdC1sZXNzIChhbmQgdGh1cyBhbHJlYWR5IHRyZWF0ZWQgYXMgcmVsYXRpdmUgdmFsdWVzKVxuLy8vIG9yIHRoZSB1bml0cyBkbyBub3QgbWF0Y2ggdGhlIHVuaXRzIHVzZWQgZm9yIHRoZSBmb250IHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IExpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgRm9udCBzaXplXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgbGluZSBoZWlnaHQgYXMgZWl0aGVyIGEgcmVsYXRpdmUgdmFsdWUgb3IgdW5tb2RpZmllZFxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gX2dvdnVrLWxpbmUtaGVpZ2h0KCRsaW5lLWhlaWdodCwgJGZvbnQtc2l6ZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRsaW5lLWhlaWdodCkgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSB1bml0KCRmb250LXNpemUpIHtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCAvICRmb250LXNpemU7XG4gIH1cblxuICBAcmV0dXJuICRsaW5lLWhlaWdodDtcbn1cblxuLy8vIFJlc3BvbnNpdmUgdHlwb2dyYXBoeSBoZWxwZXJcbi8vL1xuLy8vIFRha2VzIGEgJ2ZvbnQgbWFwJyBhcyBhbiBhcmd1bWVudCBhbmQgdXNlcyBpdCB0byBjcmVhdGUgZm9udC1zaXplIGFuZFxuLy8vIGxpbmUtaGVpZ2h0IGRlY2xhcmF0aW9ucyBmb3IgZGlmZmVyZW50IGJyZWFrcG9pbnRzLCBhbmQgZm9yIHByaW50LlxuLy8vXG4vLy8gRXhhbXBsZSBmb250IG1hcDpcbi8vL1xuLy8vICRteS1mb250LW1hcDogKFxuLy8vICAgbnVsbDogKFxuLy8vICAgICBmb250LXNpemU6IDE2cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4vLy8gICApLFxuLy8vICAgdGFibGV0OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTlweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbi8vLyAgICksXG4vLy8gICBwcmludDogKFxuLy8vICAgICBmb250LXNpemU6IDE0cHQsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4vLy8gICApXG4vLy8gKTtcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkZm9udC1tYXAgLSBGb250IG1hcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3ZlcnJpZGUtbGluZS1oZWlnaHQgW2ZhbHNlXSAtIE5vbiByZXNwb25zaXZlIGN1c3RvbSBsaW5lXG4vLy8gICBoZWlnaHQuIE9taXQgdG8gdXNlIHRoZSBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250IG1hcC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemUsICRvdmVycmlkZS1saW5lLWhlaWdodDogZmFsc2UsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIGZvbnQgc2l6ZSBgI3skc2l6ZX1gIC0gZXhwZWN0ZWQgYSBwb2ludCBmcm9tIHRoZSB0eXBvZ3JhcGh5IHNjYWxlLlwiO1xuICB9XG5cbiAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSk7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LW1hcCBpbiAkZm9udC1tYXAge1xuICAgICRmb250LXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImZvbnQtc2l6ZVwiKTtcbiAgICAkZm9udC1zaXplLXJlbTogZ292dWstcHgtdG8tcmVtKCRmb250LXNpemUpO1xuXG4gICAgJGxpbmUtaGVpZ2h0OiBfZ292dWstbGluZS1oZWlnaHQoXG4gICAgICAkbGluZS1oZWlnaHQ6IGlmKCRvdmVycmlkZS1saW5lLWhlaWdodCxcbiAgICAgICAgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJsaW5lLWhlaWdodFwiKVxuICAgICAgKSxcbiAgICAgICRmb250LXNpemU6ICRmb250LXNpemVcbiAgICApO1xuXG4gICAgLy8gTWFyayBydWxlcyBhcyAhaW1wb3J0YW50IGlmICRpbXBvcnRhbnQgaXMgdHJ1ZSAtIHRoaXMgd2lsbCByZXN1bHQgaW5cbiAgICAvLyB0aGVzZSB2YXJpYWJsZXMgYmVjb21pbmcgc3RyaW5ncywgc28gdGhpcyBuZWVkcyB0byBoYXBwZW4gKmFmdGVyKiB0aGV5XG4gICAgLy8gYXJlIHVzZWQgaW4gY2FsY3VsYXRpb25zXG4gICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgJGZvbnQtc2l6ZS1yZW06ICRmb250LXNpemUtcmVtIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICBAaWYgJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yZW07IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH0gQGVsc2VpZiAkYnJlYWtwb2ludCA9PSBcInByaW50XCIge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBGb250IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gU2l6ZSBvZiB0aGUgZm9udCBhcyBpdCB3b3VsZCBhcHBlYXIgb24gZGVza3RvcCAtXG4vLy8gICB1c2VzIHRoZSByZXNwb25zaXZlIGZvbnQgc2l6ZSBtYXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodCBbcmVndWxhcl0gLSBXZWlnaHQ6IGBib2xkYCBvciBgcmVndWxhcmBcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR0YWJ1bGFyIFtmYWxzZV0gLSBXaGV0aGVyIHRvIHVzZSB0YWJ1bGFyIG51bWJlcnMgb3Igbm90XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBbZmFsc2VdIC0gTGluZS1oZWlnaHQsIGlmIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb250KCRzaXplLCAkd2VpZ2h0OiByZWd1bGFyLCAkdGFidWxhcjogZmFsc2UsICRsaW5lLWhlaWdodDogZmFsc2UpIHtcbiAgQGlmICR0YWJ1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gIH1cblxuICBAaWYgJHdlaWdodCA9PSByZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIEBpZiAkc2l6ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gSGlkZSBhbiBlbGVtZW50IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4vLy9cbi8vLyBAbGluayBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuLy8vICAgLSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eSwgSm9uYXRoYW4gU25vb2ssIEZlYnJ1YXJ5IDIwMTFcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iLzlmMTM2OTVkMjFmZjkyYzU1Yzc4ZGZhOWYxNmJiMDJhMWI2ZTkxMWYvc3JjL2Nzcy9tYWluLmNzcyNMMTIxLUwxNThcbi8vLyAgIC0gaDVicC9odG1sNS1ib2lsZXJwbGF0ZSAtIFRoYW5rcyFcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICB3aWR0aDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgaGVpZ2h0OiAxcHggaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICBwYWRkaW5nOiAwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIGJvcmRlcjogMCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgLy8gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAgLy8gY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMgd2hpbHN0XG4vLy8gYWxsb3dpbmcgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNlZCB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkIChlLmcuXG4vLy8gZm9yIHRoZSBza2lwIGxpbmspXG4vLy9cbi8vLyBUaGlzIGlzIHNsaWdodGx5IGxlc3Mgb3BpbmlvbmF0ZWQgYWJvdXQgYm9yZGVycyBhbmQgcGFkZGluZyB0byBtYWtlIGl0XG4vLy8gZWFzaWVyIHRvIHN0eWxlIHRoZSBmb2N1c3NlZCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICB3aWR0aDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgaGVpZ2h0OiAxcHggaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIG92ZXJmbG93OiBoaWRkZW4gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgLy8gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAgLy8gY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICAgd2lkdGg6IGF1dG8gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgIGhlaWdodDogYXV0byBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgbWFyZ2luOiBpbmhlcml0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIG92ZXJmbG93OiB2aXNpYmxlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICBjbGlwOiBhdXRvIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IG5vbmUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJsaXN0c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInNlY3Rpb24tYnJlYWtcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcblxuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgLy8gTGlzdHMgd2l0aG91dCBudW1iZXJzIG9yIGJ1bGxldHMgc2hvdWxkIGFsd2F5cyBoYXZlIGV4dHJhIHNwYWNlIGJldHdlZW5cbiAgICAvLyBsaXN0IGl0ZW1zLiBMaXN0cyB3aXRoIG51bWJlcnMgb3IgYnVsbGV0cyBvbmx5IGhhdmUgdGhpcyBleHRyYSBzcGFjZSBvblxuICAgIC8vIHRhYmxldCBhbmQgYWJvdmVcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWxpc3Qge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3Q7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLW51bWJlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQgPiBsaSxcbiAgJWdvdnVrLWxpc3QtLW51bWJlciA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1idWxsZXQ7XG4gIH1cblxuICAuZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1udW1iZXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS90ZW1wbGF0ZVwiKSB7XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgPGh0bWw+IGVsZW1lbnRcbiAgLmdvdnVrLXRlbXBsYXRlIHtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgcGFnZSBiYWNrZ3JvdW5kIGNvbG91ciB0byB0aGUgc2FtZSBjb2xvdXIgYXMgdXNlZCBieSB0aGVcbiAgICAvLyBmb290ZXIgdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2YgYSBsb25nIGZvb3Rlci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuXG4gICAgLy8gUHJldmVudCBhdXRvbWF0aWMgdGV4dCBzaXppbmcsIGFzIHdlIGFscmVhZHkgY2F0ZXIgZm9yIHNtYWxsIGRldmljZXMgYW5kXG4gICAgLy8gd291bGQgbGlrZSB0aGUgYnJvd3NlciB0byBzdGF5IG9uIDEwMCUgdGV4dCB6b29tIGJ5IGRlZmF1bHQuXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgIC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXG4gICAgLy8gRm9yY2UgdGhlIHNjcm9sbGJhciB0byBhbHdheXMgZGlzcGxheSBpbiBJRSwgdG8gcHJldmVudCBob3Jpem9udGFsIHBhZ2VcbiAgICAvLyBqdW1wcyBhcyBjb250ZW50IGhlaWdodCBjaGFuZ2VzIChlLmcuIGF1dG9jb21wbGV0ZSByZXN1bHRzIG9wZW4pLlxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIHRoZSA8Ym9keT4gZWxlbWVudFxuICAuZ292dWstdGVtcGxhdGVfX2JvZHkge1xuICAgIC8vIFRoZSBkZWZhdWx0IG1hcmdpbnMgc2V0IGJ5IHVzZXItYWdlbnRzIGFyZSBub3QgcmVxdWlyZWQgc2luY2Ugd2UgaGF2ZSBvdXJcbiAgICAvLyBvd24gY29udGFpbmVycy5cbiAgICBtYXJnaW46IDA7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIGJvZHkgb2YgdGhlIHBhZ2UgYmFjayB0byB0aGUgdHlwaWNhbCBiYWNrZ3JvdW5kIGNvbG91ci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3R5cG9ncmFwaHlcIikge1xuXG4gIC8vIEhlYWRpbmdzXG5cbiAgJWdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXhsO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1sO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1tO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1zO1xuICB9XG5cbiAgLy8gQ2FwdGlvbnMgdG8gYmUgdXNlZCBpbnNpZGUgaGVhZGluZ3NcblxuICAuZ292dWstY2FwdGlvbi14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjcpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBCb2R5IChwYXJhZ3JhcGhzKVxuXG4gICVnb3Z1ay1ib2R5LWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAlZ292dWstYm9keS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktcztcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LXhzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkteHMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHkteHM7XG4gIH1cblxuICAvLyBVc2FnZSBhbGlhc2VzXG5cbiAgLy8gVXNpbmcgZXh0ZW5kIHRvIGFsaWFzIG1lYW5zIHdlIGFsc28gaW5oZXJpdCBhbnkgY29udGV4dHVhbCBhZGp1c3RtZW50cyB0aGF0XG4gIC8vIHJlZmVyIHRvIHRoZSAnb3JpZ2luYWwnIGNsYXNzIG5hbWVcblxuICAuZ292dWstYm9keS1sZWFkIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAuZ292dWstYm9keSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgLy8gQ29udGV4dHVhbCBhZGp1c3RtZW50c1xuICAvLyBBZGQgdG9wIHBhZGRpbmcgdG8gaGVhZGluZ3MgdGhhdCBhcHBlYXIgZGlyZWN0bHkgYWZ0ZXIgcGFyYWdyYXBocy5cblxuICAlZ292dWstYm9keS1sICArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWJvZHktbSAgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstYm9keS1zICArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQsIFwidG9wXCIpO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1zIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3NlY3Rpb24tYnJlYWtcIikge1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLy8gZml4IGRvdWJsZS13aWR0aCBzZWN0aW9uIGJyZWFrIGFuZCBmb3JjZWQgdmlzaWJsZSBzZWN0aW9uIGJyZWFrXG4gICAgLy8gd2hlbiBjb21iaW5lZCB3aXRoIHN0eWxlcyBmcm9tIGFscGhhZ292L2VsZW1lbnRzXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a19lbGVtZW50cykge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrO1xuICB9XG5cbiAgLy8gU2l6ZXNcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW07XG4gIH1cblxuICAvLyBWaXNpYmxlIHZhcmlhbnRcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5cbkBtaXhpbiBnb3Z1ay1nbG9iYWwtc3R5bGVzIHtcbiAgYSB7XG4gICAgQGV4dGVuZCAlZ292dWstbGluaztcbiAgfVxuXG4gIHAge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS9nbG9iYWwtc3R5bGVzXCIpIHtcblxuICBAaWYgJGdvdnVrLWdsb2JhbC1zdHlsZXMgPT0gdHJ1ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZ2xvYmFsLXN0eWxlcztcbiAgfVxufVxuIiwiQGltcG9ydCBcImZvcm0tZ3JvdXBcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwibWFpbi13cmFwcGVyXCI7XG5AaW1wb3J0IFwid2lkdGgtY29udGFpbmVyXCI7XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZm9ybS1ncm91cFwiKSB7XG5cbiAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBsYXN0IGl0ZW0gaW4gbmVzdGVkIGdyb3Vwc1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgIC8vIFJlc2V0IGVycm9yIHN0eWxlcyBpbiBuZXN0ZWQgZm9ybSBncm91cHMgdGhhdCBtaWdodCBoYXZlIGVycm9yIGNsYXNzXG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuXG4gIC5nb3Z1ay1ncmlkLXJvdyB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICB9XG5cbiAgQGVhY2ggJHdpZHRoIGluIG1hcC1rZXlzKCRnb3Z1ay1ncmlkLXdpZHRocykge1xuICAgIC5nb3Z1ay1ncmlkLWNvbHVtbi0jeyR3aWR0aH0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkY2xhc3M6IGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoZXNlICptdXN0KiBiZSBkZWZpbmVkIGluIGEgc2VwYXJhdGUgbG9vcCBhcyB0aGV5IGhhdmUgdGhlIHNhbWVcbiAgLy8gc3BlY2lmaWNpdHkgYXMgdGhlIG5vbi1icmVha3BvaW50IHNwZWNpZmljIGNsYXNzZXMsIHNvIG5lZWQgdG8gYXBwZWFyIGFmdGVyXG4gIC8vIHRoZW0gaW4gdGhlIG91dHB1dHRlZCBDU1NcbiAgQGVhY2ggJHdpZHRoIGluIG1hcC1rZXlzKCRnb3Z1ay1ncmlkLXdpZHRocykge1xuICAgIC5nb3Z1ay1ncmlkLWNvbHVtbi0jeyR3aWR0aH0tZnJvbS1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCwgJGF0OiBkZXNrdG9wLCAkY2xhc3M6IGZhbHNlKVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uL2hlbHBlcnMvYWxsXCI7XG5cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPCEtLSBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rcyBhcmUgcGxhY2VkIGluIGhlcmUuIC0tPlxuLy8gICA8ZGl2IGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aG91dCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIj5cbi8vICAgICAgIDwhLS0gV3JhcHBlciBmb3IgdGhlIG1haW4gY29udGVudCBvZiB5b3VyIHBhZ2Ugd2hpY2ggYXBwbGllcyBwYWRkaW5nXG4vLyAgICAgICAgICAgIHRvIHRoZSB0b3AgLyBib3R0b20gLS0+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG5cblxuQG1peGluIGdvdnVrLW1haW4td3JhcHBlciB7XG4gIC8vIEluIElFMTEgdGhlIGBtYWluYCBlbGVtZW50IGNhbiBiZSB1c2VkLCBidXQgaXMgbm90IHJlY29nbml6ZWQgIOKAk1xuICAvLyBtZWFuaW5nIGl0J3Mgbm90IGRlZmluZWQgaW4gSUUncyBkZWZhdWx0IHN0eWxlIHNoZWV0LFxuICAvLyBzbyBpdCB1c2VzIENTUyBpbml0aWFsIHZhbHVlLCB3aGljaCBpcyBpbmxpbmUuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg0KTtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIC8vIFRoaXMgc3BhY2luZyBpcyBtYW51YWxseSBhZGp1c3RlZCB0byByZXBsaWNhdGUgdGhlIG1hcmdpbiBvZlxuICAgIC8vIGdvdnVrLWhlYWRpbmcteGwgKDUwcHgpIG1pbnVzIHRoZSBzcGFjaW5nIG9mIGJhY2sgbGluayBhbmRcbiAgICAvLyBicmVhZGNydW1icyAoMTBweClcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg3KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg3KTtcbiAgfVxufVxuXG4vLyBVc2UgZ292dWstbWFpbi13cmFwcGVyLS1sIHdoZW4geW91IHBhZ2UgZG9lcyBub3QgaGF2ZSBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycyBvciBiYWNrIGxpbmtzXG5AbWl4aW4gZ292dWstbWFpbi13cmFwcGVyLS1sIHtcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDgsIFwidG9wXCIpO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy9tYWluLXdyYXBwZXJcIikge1xuICAuZ292dWstbWFpbi13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tYWluLXdyYXBwZXI7XG4gIH1cblxuICAuZ292dWstbWFpbi13cmFwcGVyLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tYWluLXdyYXBwZXItLWw7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2FsbFwiO1xuXG5AbWl4aW4gZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgLy8gTGltaXQgdGhlIHdpZHRoIG9mIHRoZSBjb250YWluZXIgdG8gdGhlIHBhZ2Ugd2lkdGhcbiAgbWF4LXdpZHRoOiAkZ292dWstcGFnZS13aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luOiAwICRnb3Z1ay1ndXR0ZXItaGFsZjtcblxuICAvLyBSZXNwZWN0ICdkaXNwbGF5IGN1dG91dCcgc2FmZSBhcmVhIChhdm9pZHMgbm90Y2hlcyBhbmQgcm91bmRlZCBjb3JuZXJzKVxuICBAc3VwcG9ydHMgKG1hcmdpbjogdW5xdW90ZShcIm1heChjYWxjKDBweCkpXCIpKSB7XG4gICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICRndXR0ZXItc2FmZS1hcmVhLWxlZnQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XG5cbiAgICAvLyBVc2UgbWF4KCkgdG8gcGljayBsYXJnZXN0IG1hcmdpbiwgZGVmYXVsdCBvciB3aXRoIHNhZmUgYXJlYVxuICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICBtYXJnaW4tcmlnaHQ6IHVucXVvdGUoXCJtYXgoI3skZ292dWstZ3V0dGVyLWhhbGZ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgbWFyZ2luLWxlZnQ6IHVucXVvdGUoXCJtYXgoI3skZ292dWstZ3V0dGVyLWhhbGZ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgfVxuXG4gIC8vIE9uIHRhYmxldCwgYWRkIGZ1bGwgd2lkdGggZ3V0dGVyc1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luOiAwICRnb3Z1ay1ndXR0ZXI7XG5cbiAgICAvLyBSZXNwZWN0ICdkaXNwbGF5IGN1dG91dCcgc2FmZSBhcmVhIChhdm9pZHMgbm90Y2hlcyBhbmQgcm91bmRlZCBjb3JuZXJzKVxuICAgIEBzdXBwb3J0cyAobWFyZ2luOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgICRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAgICRndXR0ZXItc2FmZS1hcmVhLWxlZnQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XG5cbiAgICAgIC8vIFVzZSBtYXgoKSB0byBwaWNrIGxhcmdlc3QgbWFyZ2luLCBkZWZhdWx0IG9yIHdpdGggc2FmZSBhcmVhXG4gICAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgICBtYXJnaW4tcmlnaHQ6IHVucXVvdGUoXCJtYXgoI3skZ292dWstZ3V0dGVyfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHVucXVvdGUoXCJtYXgoI3skZ292dWstZ3V0dGVyfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gICAgfVxuICB9XG5cbiAgLy8gQXMgc29vbiBhcyB0aGUgdmlld3BvcnQgaXMgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSBwbHVzIHRoZVxuICAvLyBndXR0ZXJzLCBqdXN0IGNlbnRyZSB0aGUgY29udGVudCBpbnN0ZWFkIG9mIGFkZGluZyBndXR0ZXJzLlxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkYW5kOiBcIihtaW4td2lkdGg6ICN7KCRnb3Z1ay1wYWdlLXdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLy8gU2luY2UgYSBzYWZlIGFyZWEgbWF5IGhhdmUgcHJldmlvdXNseSBiZWVuIHNldCBhYm92ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIGR1cGxpY2F0ZSB0aGlzIG1hcmdpbiB0aGF0IGNlbnRlcnMgdGhlIHBhZ2UuXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICB3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG4gICAgLy8gU2luY2UgbWVkaWEgcXVlcmllcyBhcmUgbm90IHN1cHBvcnRlZCBpbiBJRTgsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcImFjY29yZGlvbi9hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCJiYWNrLWxpbmsvYmFjay1saW5rXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJidXR0b24vYnV0dG9uXCI7XG5AaW1wb3J0IFwiY2hlY2tib3hlcy9jaGVja2JveGVzXCI7XG5AaW1wb3J0IFwiY2hhcmFjdGVyLWNvdW50L2NoYXJhY3Rlci1jb3VudFwiO1xuQGltcG9ydCBcInN1bW1hcnktbGlzdC9zdW1tYXJ5LWxpc3RcIjtcbkBpbXBvcnQgXCJkYXRlLWlucHV0L2RhdGUtaW5wdXRcIjtcbkBpbXBvcnQgXCJkZXRhaWxzL2RldGFpbHNcIjtcbkBpbXBvcnQgXCJlcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJlcnJvci1zdW1tYXJ5L2Vycm9yLXN1bW1hcnlcIjtcbkBpbXBvcnQgXCJmaWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcImZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkXCI7XG5AaW1wb3J0IFwiZm9vdGVyL2Zvb3RlclwiO1xuQGltcG9ydCBcImhpbnQvaGludFwiO1xuQGltcG9ydCBcImhlYWRlci9oZWFkZXJcIjtcbkBpbXBvcnQgXCJpbnB1dC9pbnB1dFwiO1xuQGltcG9ydCBcImluc2V0LXRleHQvaW5zZXQtdGV4dFwiO1xuQGltcG9ydCBcImxhYmVsL2xhYmVsXCI7XG5AaW1wb3J0IFwicGFuZWwvcGFuZWxcIjtcbkBpbXBvcnQgXCJwaGFzZS1iYW5uZXIvcGhhc2UtYmFubmVyXCI7XG5AaW1wb3J0IFwidGFicy90YWJzXCI7XG5AaW1wb3J0IFwidGFnL3RhZ1wiO1xuQGltcG9ydCBcInJhZGlvcy9yYWRpb3NcIjtcbkBpbXBvcnQgXCJzZWxlY3Qvc2VsZWN0XCI7XG5AaW1wb3J0IFwic2tpcC1saW5rL3NraXAtbGlua1wiO1xuQGltcG9ydCBcInRhYmxlL3RhYmxlXCI7XG5AaW1wb3J0IFwidGV4dGFyZWEvdGV4dGFyZWFcIjtcbkBpbXBvcnQgXCJ3YXJuaW5nLXRleHQvd2FybmluZy10ZXh0XCI7XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2FjY29yZGlvblwiKSB7XG5cbiAgLmdvdnVrLWFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAvLyBCb3JkZXJzIGJldHdlZW4gYWNjb3JkaW9uIHNlY3Rpb25zXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBPdmVycmlkZSBicm93c2VyIGRlZmF1bHRcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBicm93c2VyIGRlZmF1bHRcbiAgfVxuXG4gIC8vIEJ1dHRvbnMgd2l0aGluIHRoZSBzZWN0aW9ucyBkb27igJl0IG5lZWQgZGVmYXVsdCBzdHlsaW5nXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnkge1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgYm90dG9tIG1hcmdpbiBmcm9tIHRoZSBsYXN0IGl0ZW0gaW5zaWRlIHRoZSBjb250ZW50XG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5qcy1lbmFibGVkIHtcblxuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEJvcmRlcnMgYmV0d2VlbiBhY2NvcmRpb24gc2VjdGlvbnNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJ0b3BcIik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJib3R0b21cIik7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHN0eWxlZCB0byBsb29rIGxpa2UgYSBsaW5rIG5vdCBhIGJ1dHRvblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX29wZW4tYWxsIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlY3Rpb24gaGVhZGVycyBoYXZlIGEgcG9pbnRlciBjdXJzb3IgYXMgYW4gYWRkaXRpb25hbCBhZmZvcmRhbmNlXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gU2FmZSBhcmVhIG9uIHRoZSByaWdodCB0byBhdm9pZCBjbGFzaGluZyB3aXRoIGljb25cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gU2VjdGlvbiBoZWFkZXJzIGhhdmUgYSBncmV5IGJhY2tncm91bmQgb24gaG92ZXIgYXMgYW4gYWRkaXRpb25hbCBhZmZvZGFuY2VcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTRcIik7XG4gICAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGNhbid0IGhvdmVyIHN1Y2ggYXMgdG91Y2ggZGV2aWNlcyxcbiAgICAgIC8vIHJlbW92ZSBob3ZlciBzdGF0ZSBhcyBpdCBjYW4gYmUgc3R1Y2sgaW4gdGhhdCBzdGF0ZSAoaU9TKS5cbiAgICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXR0aW5nIGZvY3VzIHN0eWxlcyBvbiBoZWFkZXIgc28gdGhhdCBzdW1tYXJ5IHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJ1dHRvbiBpcyBpbmNsdWRlZCBpbiBmb2N1c1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyLS1mb2N1c2VkIHtcbiAgICAgIC8vIFRoZXNlIHJlcGxpY2F0ZSBAbWl4aW4gZ292dWstZm9jdXNhYmxlICh0aGUgbWl4aW4gY2FuJ3QgYmUgdXNlZCBhcyB0aGUgaGVhZGVyIGRvZXNuJ3QgZ2V0IHRoZSBmb2N1cylcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9ucyB3aXRoaW4gdGhlIGhlYWRlcnMgZG9u4oCZdCBuZWVkIGRlZmF1bHQgc3R5bGluZ1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIC8vIEhlYWRpbmdzIGluIHNlY3Rpb24gaGVhZGVycyBoYXZlIGxpbmsgY29sb3VycyBhcyBhbiBhZGRpdGlvbmFsIGFmZm9kYW5jZVxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHRlbmQgdGhlIHRvdWNoIGFyZWEgb2YgdGhlIGJ1dHRvbiB0byBzcGFuIHRoZSBzZWN0aW9uIGhlYWRlclxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fY29udHJvbHMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLy8gRGlzcGxheSBhbiBpY29uIHRvIHRoZSByaWdodCBvZiBlYWNoIGhlYWRlciB0byBpbmRpY2F0ZSBvcGVuL2Nsb3NlZCBzdGF0dXMsXG4gICAgLy8gYW5kIGFzIGFuIGFkZGl0aW9uYWwgYWZmb3JkYW5jZS5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjphZnRlcixcbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgYmFyIHNob3VsZCBiZSBoaWRkZW4gd2hlbiBzZWN0aW9uIGlzIG9wZW4sIHRvIGRpc3BsYXkgYSAnLScgaWNvblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYmFjay1saW5rXCIpIHtcblxuICAuZ292dWstYmFjay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gQWxsb3cgc3BhY2UgZm9yIHRoZSBhcnJvd1xuICAgIHBhZGRpbmctbGVmdDogMTRweDtcblxuICAgIC8vIFVzZSBib3JkZXItYm90dG9tIHJhdGhlciB0aGFuIHRleHQtZGVjb3JhdGlvbiBzbyB0aGF0IHRoZSBhcnJvdyBpc1xuICAgIC8vIHVuZGVybGluZWQgYXMgd2VsbC5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG5cbiAgICAvLyBVbmRlcmxpbmUgaXMgcHJvdmlkZWQgYnkgYSBib3R0b20gYm9yZGVyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGFycm93XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogbGVmdCwgJGJhc2U6IDEwcHgsICRoZWlnaHQ6IDZweCk7XG5cbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIC8vIFZlcnRpY2FsbHkgYWxpZ24gd2l0aCB0aGUgcGFyZW50IGVsZW1lbnRcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG5cbiAgLmdvdnVrLWJhY2stbGluazpiZWZvcmUge1xuICAgICRvZmZzZXQ6IDFweDtcblxuICAgIHRvcDogJG9mZnNldCAqIC0xO1xuICAgIGJvdHRvbTogJG9mZnNldDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnJlYWRjcnVtYnNcIikge1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogN3B4O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiBib3JkZXJcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgLy8gQ29sb3VyIG9mIGNoZXZyb25cbiAgJGNoZXZyb24tYm9yZGVyLWNvbG91cjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAvLyBDYWxjdWxhdGVkIGFsdGl0dWRlICjilrPihpUpIG9mIHRoZSByaWdodC1hbmdsZWQgaXNvc2NlbGVzIGNoZXZyb24gd2l0aCBzaWRlc1xuICAvLyBvZiBsZW5ndGggOCAoN3B4ICsgMXB4IGJvcmRlcik6XG4gIC8vXG4gIC8vIOKImig4wrIgKyA4wrIpICogMC41IOKJhSA1LjY1NVxuICAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkOiA1LjY1NXB4O1xuXG4gIC5nb3Z1ay1icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWRkIGJvdGggbWFyZ2luIGFuZCBwYWRkaW5nIHN1Y2ggdGhhdCB0aGUgY2hldnJvbiBhcHBlYXJzIGNlbnRyYWxseVxuICAgIC8vIGJldHdlZW4gZWFjaCBicmVhZGNydW1iIGl0ZW1cbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMikgKyAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkO1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBDcmVhdGUgYSBjaGV2cm9uIHVzaW5nIGEgYm94IHdpdGggYm9yZGVycyBvbiB0d28gc2lkZXMsIHJvdGF0ZWQgNDVkZWcuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgICAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJldmVydGVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0XG4gICAgICAvLyBiYXNlbGluZVxuXG4gICAgICAvLyB0b3A6IDA7XG4gICAgICAvLyBib3R0b206IDA7XG5cbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogMXB4O1xuXG4gICAgICAvLyBFbmQgYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG5cbiAgICAgIC8vIE9mZnNldCBieSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB3aWR0aCBvZiB0aGUgbm9uLXJvdGF0ZWQgc3F1YXJlXG4gICAgICAvLyBhbmQgaXRzIHdpZHRoIHdoZW4gcm90YXRlZFxuICAgICAgbGVmdDogKCgkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkICogLTIpICsgJGNoZXZyb24tc2l6ZSArICRjaGV2cm9uLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgYm9yZGVyOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLXdpZHRoICRjaGV2cm9uLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIEZhbGwgYmFjayB0byBhIGdyZWF0ZXIgdGhhbiBzaWduIGZvciBJRThcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMDNlXCI7IC8vIEdyZWF0ZXIgdGhhbiBzaWduICg+KVxuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHNlZW0gdG8gbGlrZSByZW5kZXJpbmcgcHNldWRvLWVsZW1lbnRzIHVzaW5nIEBmb250LWZhY2VzLFxuICAgICAgICAvLyBzbyBmYWxsIGJhY2sgdG8gdXNpbmcgYW5vdGhlciBzYW5zLXNlcmlmIGZvbnQgdG8gcmVuZGVyIHRoZSBjaGV2cm9uLlxuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9idXR0b25cIikge1xuXG4gICRnb3Z1ay1idXR0b24tY29sb3VyOiAjMDA4MjNiO1xuICAkZ292dWstYnV0dG9uLWhvdmVyLWNvbG91cjogZGFya2VuKCRnb3Z1ay1idXR0b24tY29sb3VyLCA1JSk7XG4gICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjogZGFya2VuKCRnb3Z1ay1idXR0b24tY29sb3VyLCAxNSUpO1xuICAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyBCZWNhdXNlIHRoZSBzaGFkb3cgKHMwKSBpcyB2aXN1YWxseSAncGFydCBvZicgdGhlIGJ1dHRvbiwgd2UgbmVlZCB0byByZWR1Y2VcbiAgLy8gdGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uIHRvIGNvbXBlbnNhdGUgYnkgYWRqdXN0aW5nIGl0cyBwYWRkaW5nIChzMSkgYW5kXG4gIC8vIGluY3JlYXNlIHRoZSBib3R0b20gbWFyZ2luIHRvIGluY2x1ZGUgaXQgKHMyKS5cbiAgJGJ1dHRvbi1zaGFkb3ctc2l6ZTogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMTlweCk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIiwgJGFkanVzdG1lbnQ6ICRidXR0b24tc2hhZG93LXNpemUpOyAvLyBzMlxuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpKSBnb3Z1ay1zcGFjaW5nKDIpOyAvLyBzMVxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAgIC8vIHNvIHRoYXQgdW52aXNpdGVkIGxpbmtzIHN0eWxlZCBhcyBidXR0b25zIGRvIG5vdCBlbmQgdXAgd2l0aCBkYXJrIGJsdWVcbiAgICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4IHVud2FudGVkIGJ1dHRvbiBwYWRkaW5nIGluIEZpcmVmb3hcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRvcDogJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBhZGp1c3RtZW50cyBkbyBub3Qgd29yayBmb3IgPGlucHV0IHR5cGU9XCJidXR0b25cIj4gYXNcbiAgICAvLyBub24tY29udGFpbmVyIGVsZW1lbnRzIGNhbm5vdCBpbmNsdWRlIHBzZXVkbyBlbGVtZW50cyAoaS5lLiA6OmJlZm9yZSkuXG5cbiAgICAvLyBVc2UgYSBwc2V1ZG8gZWxlbWVudCB0byBleHBhbmQgdGhlIGNsaWNrIHRhcmdldCBhcmVhIHRvIGluY2x1ZGUgdGhlXG4gICAgLy8gYnV0dG9uJ3Mgc2hhZG93IGFzIHdlbGwsIGluIGNhc2UgdXNlcnMgdHJ5IHRvIGNsaWNrIGl0LlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgdG9wOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tZGlzYWJsZWQsXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXSxcbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6ICguNSk7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1zdGFydCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDI0LCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IDEpO1xuXG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNyk7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJpY29uLXBvaW50ZXIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiaWNvbi1wb2ludGVyLTJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAxOXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuICAvLyBGb3IgdGhlIDFweCBhZGRpdGlvbiBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZC9wdWxsLzM2NSNkaXNjdXNzaW9uX3IxNTQzNDk0MjhcblxuICAkb2Zmc2V0OiAyO1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSArICRvZmZzZXQpOyAvLyBzMVxuICAgIHBhZGRpbmctYm90dG9tOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSAtICRvZmZzZXQgKyAxKTsgLy8gczFcbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBwYWRkaW5nLXRvcDogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgKyAkb2Zmc2V0KTsgLy8gczFcbiAgICBwYWRkaW5nLWJvdHRvbTogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgLSAkb2Zmc2V0ICsgMSk7IC8vIHMxXG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvY2hlY2tib3hlc1wiKSB7XG4gICRnb3Z1ay1jaGVja2JveGVzLXNpemU6IGdvdnVrLXNwYWNpbmcoNyk7XG4gICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMCAwIDAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06bGFzdC1jaGlsZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4IGRvZXNu4oCZdCBzdXBwb3J0IHBzZXVkb2VsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmUgZWxlbWVudHMgdGhlcmUuXG4gICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0IGVsZW1lbnQgZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0ICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgLy8gcGFkZGluZy1ib3R0b206IDFweDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMXB4O1xuICAgIGxlZnQ6IDlweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDdweDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwICRnb3Z1ay1ib3JkZXItd2lkdGggJGdvdnVrLWJvcmRlci13aWR0aDtcbiAgICAvLyBGaXggYnVnIGluIElFMTEgY2F1c2VkIGJ5IHRyYW5zZm9ybSByb3RhdGUgKC00NWRlZykuXG4gICAgLy8gU2VlOiBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy9pc3N1ZXMvNTE4XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBTaW5jZSBib3gtc2hhZG93cyBhcmUgcmVtb3ZlZCB3aGVuIHVzZXJzIGN1c3RvbWlzZSB0aGVpciBjb2xvdXJzXG4gICAgLy8gV2Ugc2V0IGEgdHJhbnNwYXJlbnQgb3V0bGluZSB0aGF0IGlzIHNob3duIGluc3RlYWQuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJGdvdnVrLWZvY3VzLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICB9XG5cbiAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTtcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIGNoZWNrYm94LlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstY2hlY2tib3hlcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgY2hlY2tib3hcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAuanMtZW5hYmxlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLW1lc3NhZ2VcIikge1xuICAuZ292dWstZXJyb3ItbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWVsZHNldFwiKSB7XG4gIC5nb3Z1ay1maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIC8vIEZpeCBsZWdlbmQgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRVxuICAgIC8vIDEuIElFOS0xMSAmIEVkZ2UgMTItMTNcbiAgICAvLyAyLiBJRTgtMTFcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7ICAgICAgICAgLy8gMlxuICAgIG1heC13aWR0aDogMTAwJTsgICAgICAgIC8vIDFcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gSGFjayB0byBsZXQgbGVnZW5kcyBvciBlbGVtZW50cyB3aXRoaW4gbGVnZW5kcyBoYXZlIG1hcmdpbnMgaW4gd2Via2l0IGJyb3dzZXJzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7ICAgIC8vIDFcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGVnZW5kcyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsZWdlbmQgY29udGFpbnMgYW4gSDEsIHdlIHdhbnQgdGhlIEgxIHRvIGluaGVyaXQgYWxsIHN0eWxlcyBmcm9tXG4gIC8vIHRoZSBsZWdlbmQuIEVmZmVjdGl2ZWx5IHdlIHdhbnQgdG8gYmUgYWJsZSB0byB0cmVhdCB0aGUgaGVhZGluZyBhcyBpZiBpdCBpc1xuICAvLyBub3QgdGhlcmUuXG4gIC5nb3Z1ay1maWVsZHNldF9faGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGludFwiKSB7XG4gIC5nb3Z1ay1oaW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgbWFyZ2luLWJvdHRvbSBvZiBoaW50IHdoZW4gdXNlZCBhZnRlciB0aGUgZGVmYXVsdCBsYWJlbCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWxhYmVsLS1zIGZvciBiZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50LlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIHdoZW4gdGhlIGxhYmVsIGlzIGluc2lkZSB0aGUgPGgxPiwgaG93ZXZlciBpdFxuICAvLyBpcyB1bmxpa2VseSB0aGF0IHRoZSBkZWZhdWx0IG9yIGdvdnVrLWxhYmVsLS1zIGNsYXNzIHdvdWxkIGJlIHVzZWQgaW4gdGhpc1xuICAvLyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLiBcbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLiBcbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQ6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwpOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIHZpc3VhbCBzcGFjaW5nIG9mIGxlZ2VuZCB3aGVuIHRoZXJlIGlzIGEgaGludFxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQsXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi10b3A6IC0oZ292dWstc3BhY2luZygxKSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2xhYmVsXCIpIHtcbiAgLmdvdnVrLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxhYmVscyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG5cbiAgLmdvdnVrLWxhYmVsLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGFiZWwgaXMgbmVzdGVkIGluc2lkZSBhIGhlYWRpbmcsIG92ZXJyaWRlIHRoZSBoZWFkaW5nIHNvIHRoYXQgaXRcbiAgLy8gZG9lcyBub3QgaGF2ZSBhIG1hcmdpbi4gRWZmZWN0aXZlbHkgd2Ugd2FudCB0byBiZSBhYmxlIHRvIHRyZWF0IHRoZSBoZWFkaW5nXG4gIC8vIGFzIGlmIGl0IGlzIG5vdCB0aGVyZS5cbiAgLy9cbiAgLy8gVGhpcyBicmVha3MgQkVNIGNvbnZlbnRpb25zIGJlY2F1c2UgaXQgZXhpc3RzIGFzIGEgcGFyZW50IG9mIHRoZSAnYmxvY2snLFxuICAvLyBzbyB3ZSBjYW4ndCByZWFsbHkgY29uc2lkZXIgYW4gZWxlbWVudC5cbiAgLmdvdnVrLWxhYmVsLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoYXJhY3Rlci1jb3VudFwiKSB7XG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXAsXG4gICAgLmdvdnVrLXRleHRhcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIC0gMjsgLy8gU3RvcCBhIFwianVtcFwiIHdoZW4gd2lkdGggb2YgYm9yZGVyIGNoYW5nZXNcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlLS1kaXNhYmxlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zdW1tYXJ5LWxpc3RcIikge1xuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgLy8gUmVxdWlyZWQgdG8gYWxsb3cgdXMgdG8gd3JhcCB3b3JkcyB0aGF0IG92ZXJmbG93LlxuICAgIH1cbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUge1xuICAgIC8vIEF1dG9tYXRpYyB3cmFwcGluZyBmb3IgdW5icmVha2FibGUgdGV4dCAoZS5nLiBVUkxzKVxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgLy8gRmFsbGJhY2sgZm9yIG9sZGVyIGJyb3dzZXJzIG9ubHlcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgcGFkZGluZzogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tcmlnaHQ6ICBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBJbiBvbGRlciBicm93c2VycyBzdWNoIGFzIElFOCwgOmxhc3QtY2hpbGQgaXMgbm90IGF2YWlsYWJsZSxcbiAgLy8gc28gb25seSBzaG93IHRoZSBib3JkZXIgZGl2aWRlciB3aGVyZSBpdCBpcyBhdmFpbGFibGUuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdC0tbm8tYm9yZGVyIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyxcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbnB1dFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGF0ZS1pbnB1dFwiKSB7XG4gIC5nb3Z1ay1kYXRlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAvLyBmb250LXNpemU6IDAgcmVtb3ZlcyB3aGl0ZXNwYWNlIGNhdXNlZCBieSBpbmxpbmUtYmxvY2tcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2lucHV0XCIpIHtcbiAgLmdvdnVrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgLy8gc2V0dGluZyBhbnkgYmFja2dyb3VuZC1jb2xvciBtYWtlcyB0ZXh0IGludmlzaWJsZSB3aGVuIGNoYW5naW5nIGNvbG91cnMgdG8gZGFyayBiYWNrZ3JvdW5kcyBpbiBGaXJlZm94IChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM1NDc2KVxuICAgIC8vIGFzIGJhY2tncm91bmQtY29sb3IgYW5kIGNvbG9yIG5lZWQgdG8gYWx3YXlzIGJlIHNldCB0b2dldGhlciwgY29sb3Igc2hvdWxkIG5vdCBiZSBzZXQgZWl0aGVyXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gRGlzYWJsZSBpbm5lciBzaGFkb3cgYW5kIHJlbW92ZSByb3VuZGVkIGNvcm5lcnNcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgLy8gVGhlIGV4IG1lYXN1cmVtZW50cyBhcmUgYmFzZWQgb24gdGhlIG51bWJlciBvZiBXJ3MgdGhhdCBjYW4gZml0IGluc2lkZSB0aGUgaW5wdXRcbiAgLy8gRXh0cmEgc3BhY2UgaXMgbGVmdCBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIHRvIGFsbG93IGZvciB0aGUgU2FmYXJpIHByZWZpbGwgaWNvblxuICAvLyBMaW5lYXIgcmVncmVzc2lvbiBlc3RpbWF0aW9uIGJhc2VkIG9uIHZpc3VhbCB0ZXN0czogeSA9IDEuNzYgKyAxLjgxeFxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMzAge1xuICAgIG1heC13aWR0aDogNTZleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogMzhleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMTAge1xuICAgIG1heC13aWR0aDogMjBleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNSB7XG4gICAgbWF4LXdpZHRoOiAxMC44ZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTQge1xuICAgIG1heC13aWR0aDogOWV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0zIHtcbiAgICBtYXgtd2lkdGg6IDcuMmV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IDUuNGV4O1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuXG4gIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAvLyBNYWtlIHRoZSBmb2N1cyBvdXRsaW5lIHNocmluay13cmFwIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHN1bW1hcnlcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBBYnNvbHV0ZWx5IHBvc2l0aW9uIHRoZSBtYXJrZXIgYWdhaW5zdCB0aGlzIGVsZW1lbnRcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWxsb3cgZm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBtYXJrZXIgYW5kIGFsaWduIHdpdGggZGlzY2xvc2VkIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgKyAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgLy8gU3R5bGUgdGhlIHN1bW1hcnkgdG8gbG9vayBsaWtlIGEgbGluay4uLlxuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLy8gLi4uYnV0IG9ubHkgdW5kZXJsaW5lIHRoZSB0ZXh0LCBub3QgdGhlIGFycm93XG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyB7XG4gICAgLy8gLTFweCBvZmZzZXQgZml4ZXMgZ2FwIGJldHdlZW4gYmFja2dyb3VuZCBhbmQgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgb3V0bGluZTogKCRnb3Z1ay1mb2N1cy13aWR0aCArIDFweCkgc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAvLyBlbnN1cmUgaXQgZGlzcGxheXMgaW4gRmlyZWZveCAoc2VlIGltcGxlbWVudGF0aW9uLm1kIGZvciBkZXRhaWxzKVxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFwcGVuZCBvdXIgb3duIG9wZW4gLyBjbG9zZWQgbWFya2VyIHVzaW5nIGEgcHNldWRvLWVsZW1lbnRcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAuZ292dWstZGV0YWlsc1tvcGVuXSA+ICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDE0cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vY29yZS9saXN0c1wiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLXN1bW1hcnlcIikge1xuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZSBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHkge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENyb3NzLWNvbXBvbmVudCBjbGFzcyAtIGFkanVzdHMgc3R5bGluZyBvZiBsaXN0IGNvbXBvbmVudFxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbGluayBzdHlsaW5nIHRvIHVzZSBlcnJvciBjb2xvdXJcbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpbGUtdXBsb2FkXCIpIHtcbiAgLmdvdnVrLWZpbGUtdXBsb2FkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuICB9XG5cbiAgLmdvdnVrLWZpbGUtdXBsb2FkLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvdHlwb2dyYXBoeVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG5cbiAgJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstZm9vdGVyLWJvcmRlci10b3A6ICNhMWFjYjI7XG4gICRnb3Z1ay1mb290ZXItYm9yZGVyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTJcIik7XG4gICRnb3Z1ay1mb290ZXItdGV4dDogIzQ1NGE0YztcbiAgJGdvdnVrLWZvb3Rlci1saW5rOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICRnb3Z1ay1mb290ZXItbGluay1ob3ZlcjogIzE3MTgxOTtcblxuICAvLyBCYXNlZCBvbiB0aGUgZ292dWstY3Jlc3QtMngucG5nIGltYWdlIGRpbWVuc2lvbnMuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGgtMng6IDI1MHB4O1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodC0yeDogMjA0cHg7XG4gIC8vIEhhbGYgdGhlIDJ4IGltYWdlIHNvIHRoYXQgaXQgZml0cyB0aGUgcmVndWxhciAxeCBzaXplLlxuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeCAvIDIpO1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4IC8gMik7XG5cbiAgLmdvdnVrLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyO1xuICAgIH1cblxuICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbi1icmVhayB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBgPGhyPmAgZGVmYXVsdCBtYXJnaW5zXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgYm9yZGVyOiAwOyAvLyBSZXNldCBgPGhyPmAgZGVmYXVsdCBib3JkZXJzXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAzMjBweDtcbiAgICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzIwcHg7XG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMyMHB4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19jb3B5cmlnaHQtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0ICsgZ292dWstc3BhY2luZygyKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiZ292dWstY3Jlc3QucG5nXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC0yeC5wbmdcIik7XG4gICAgfVxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aCAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWN1c3RvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDcsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX25hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLy8gRW5zdXJlIGNvbHVtbnMgdGFrZSB1cCBlcXVhbCB3aWR0aCAodHlwaWNhbGx5IG9uZS1oYWxmOm9uZS1oYWxmKVxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1mbGV4LXNocmluazogMTtcbiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIC8vIE1ha2Ugc3VyZSBjb2x1bW5zIGRvIG5vdCBkcm9wIGJlbG93IDIwMHB4IGluIHdpZHRoXG4gICAgICAvLyBXaWxsIHR5cGljYWxseSByZXN1bHQgaW4gd3JhcHBpbmcsIGFuZCBlbmQgdXAgaW4gYSBzaW5nbGUgY29sdW1uIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAgICAgIC13ZWJraXQtZmxleC1iYXNpczogMjAwcHg7XG4gICAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDIwMHB4O1xuICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC8vIFNlY3Rpb25zIHR3by10aGlyZDpvbmUtdGhpcmQgb24gZGVza3RvcFxuICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDI7XG4gICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMjtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAkZ292dWstZ3V0dGVyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gIH1cblxuICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19saXN0LS1jb2x1bW5zLTIge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMyB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvdHlwb2dyYXBoeVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hlYWRlclwiKSB7XG5cbiAgJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAkZ292dWstaGVhZGVyLXRleHQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbms6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstaG92ZXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlOiAjMWQ4ZmViO1xuICAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjogIzJlMzEzMztcblxuICAuZ292dWstaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBib3JkZXItYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kO1xuXG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXItLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLWZhbGxiYWNrLWltYWdlIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZS1maWxsO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1ob21lcGFnZSB7XG4gICAgLy8gRm9udCBzaXplIG5lZWRzIHRvIGJlIHNldCBvbiB0aGUgbGluayBzbyB0aGF0IHRoZSBib3ggc2l6aW5nIGlzIGNvcnJlY3RcbiAgICAvLyBpbiBGaXJlZm94XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDsgLy8gV2UgZG9uJ3QgaGF2ZSBhIG1peGluIHRoYXQgcHJvZHVjZXMgMzBweCBmb250IHNpemVcbiAgICBsaW5lLWhlaWdodDogMzBweDtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gTmVnYXRlIHRoZSBhZGRlZCBib3JkZXJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAvLyBPbWl0dGluZyBjb2xvdXIgd2lsbCB1c2UgZGVmYXVsdCB2YWx1ZSBvZiBjdXJyZW50Q29sb3Ig4oCTIGlmIHdlXG4gICAgICAvLyBzcGVjaWZpZWQgY3VycmVudENvbG9yIGV4cGxpY2l0bHkgSUU4IHdvdWxkIGlnbm9yZSB0aGlzIHJ1bGUuXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0tc2VydmljZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg4KTtcblxuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IHRhYmxldCkge1xuICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uLS1vcGVuIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDIsIFwiYm90dG9tXCIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuanMtZW5hYmxlZCB7XG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLWVuZCB7XG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1uby1zZXJ2aWNlLW5hbWUge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbS0tYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rLWFjdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBpbnZlcnRlZCBjcm93biB3aGVuIHByaW50aW5nIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBTVkcuXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG8gbm90IGFwcGVuZCBsaW5rIGhyZWYgdG8gR09WLlVLIGxpbmsgd2hlbiBwcmludGluZyAoZS5nLiAnKC8pJylcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bixcbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7XG4gIH1cblxuICAuZ292dWstaGVhZGVyIHtcbiAgICAkb2Zmc2V0OiAzcHg7XG4gICAgcGFkZGluZy10b3A6ICRvZmZzZXQ7XG4gIH1cbiAgLy8gRW5kIGFkanVzdG1lbnRzXG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA+IDpvbmx5LWNoaWxkLFxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhbmVsXCIpIHtcblxuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbC0tY29uZmlybWF0aW9uIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNik7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi90YWcvdGFnXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGhhc2UtYmFubmVyXCIpIHtcbiAgLmdvdnVrLXBoYXNlLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWdcIikge1xuICAuZ292dWstdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIC8vIFNpbmNlIE5ldyBUcmFuc3BvcnQgc2l0cyBzbGlnaHRseSBoaWdoZXIgdGhhbiBvdGhlciBjb21tb24gZm9udHMuXG4gICAgLy8gV2UgdXNlIGludGVudGlvbmFsbHkgdW5ldmVuIHBhZGRpbmcgdG8gbWFrZSBpdCBiYWxhbmNlZCwgdGhpcyBjYW4gYmVcbiAgICAvLyByZW1vdmVkIHVzaW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBmb250IHRoYXQgaGFzIGEgbW9yZSBjb21tb24gdmVydGljYWwgc3BhY2luZy5cbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuXG4gICAgLy8gV2hlbiBhIHVzZXIgY3VzdG9taXNlcyB0aGVpciBjb2xvdXJzIG9mdGVuIHRoZSBiYWNrZ3JvdW5kIGlzIHJlbW92ZWQsXG4gICAgLy8gYnkgYWRkaW5nIGEgb3V0bGluZSB3ZSBlbnN1cmUgdGhhdCB0aGUgdGFnIGNvbXBvbmVudCBzdGlsbCBrZWVwcyBpdCdzIG1lYW5pbmcuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYnNcIikge1xuXG4gIC5nb3Z1ay10YWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMSwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstdGFic19fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFwiOyAvLyBcIuKAlCBcIlxuICAgICAgbWFyZ2luLWxlZnQ6IC0gZ292dWstc3BhY2luZyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcblxuICAgICZbYXJpYS1jdXJyZW50ID0gXCJ0cnVlXCJdIHtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5qcy1lbmFibGVkIHtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcblxuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS00XCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmLS1zZWxlY3RlZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAgICAgICAvLyAxcHggaXMgY29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSAxcHggc2hpZnQpXG4gICAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMykgLSAxcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKSArIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAxcHg7XG5cbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg2KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3JhZGlvc1wiKSB7XG4gICRnb3Z1ay1yYWRpb3Mtc2l6ZTogZ292dWstc3BhY2luZyg3KTtcbiAgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIC8vIFdoZW4gdGhlIGRlZmF1bHQgZm9jdXMgd2lkdGggaXMgdXNlZCBvbiBhIGN1cnZlZCBlZGdlIGl0IGxvb2tzIHZpc3VhbGx5IHNtYWxsZXIuXG4gIC8vIFNvIGZvciB0aGUgY2lyY3VsYXIgcmFkaW9zIHdlIGJ1bXAgdGhlIGRlZmF1bHQgdG8gbWFrZSBpdCBsb29rIHZpc3VhbGx5IGNvbnNpc3RlbnQuXG4gICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGg6ICRnb3Z1ay1mb2N1cy13aWR0aCArIDFweDtcblxuICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMCAwIDAgJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4IGRvZXNu4oCZdCBzdXBwb3J0IHBzZXVkb2VsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmUgZWxlbWVudHMgdGhlcmUuIERvdWJsZSBjb2xvbnMgZ2V0IG9tbWl0ZWQgYnkgSUU4LlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBhZGQgZm9jdXMgb3V0bGluZSB0byBpbnB1dCBlbGVtZW50IGZvciBJRThcbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBib3JkZXI6IGdvdnVrLXNwYWNpbmcoMikgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBTaW5jZSBib3gtc2hhZG93cyBhcmUgcmVtb3ZlZCB3aGVuIHVzZXJzIGN1c3RvbWlzZSB0aGVpciBjb2xvdXJzXG4gICAgLy8gV2Ugc2V0IGEgdHJhbnNwYXJlbnQgb3V0bGluZSB0aGF0IGlzIHNob3duIGluc3RlYWQuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJGdvdnVrLWZvY3VzLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyBJbmxpbmUgdmFyaWFudFxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnQgaW5saW5lIG1vZGlmaWVyIGJlaW5nIHVzZWQgd2l0aCBjb25kaXRpb25hbCByZXZlYWxzXG4gICAgJi5nb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgICRnb3Z1ay1kaXZpZGVyLXNpemU6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgd2lkdGg6ICRnb3Z1ay1kaXZpZGVyLXNpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTtcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIHJhZGlvcy5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgcmFkaW9zXG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7IC8vIHdhcyA1cHggNHB4IDRweCAtIHNpemUgb2YgaXQgc2hvdWxkIGJlIGFkanVzdGVkIHRvIG1hdGNoIG90aGVyIGZvcm0gZWxlbWVudHNcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246YWN0aXZlLFxuICAuZ292dWstc2VsZWN0IG9wdGlvbjpjaGVja2VkLFxuICAuZ292dWstc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdC0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9za2lwLWxpbmtcIikge1xuICAuZ292dWstc2tpcC1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChwYWRkaW5nOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgICRwYWRkaW5nLXNhZmUtYXJlYS1yaWdodDogY2FsYygje2dvdnVrLXNwYWNpbmcoMyl9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJHBhZGRpbmctc2FmZS1hcmVhLWxlZnQ6IGNhbGMoI3tnb3Z1ay1zcGFjaW5nKDMpfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgICAvLyBVc2UgbWF4KCkgdG8gcGljayBsYXJnZXN0IHBhZGRpbmcsIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVucXVvdGUoXCJtYXgoI3tnb3Z1ay1zcGFjaW5nKDMpfSwgI3skcGFkZGluZy1zYWZlLWFyZWEtcmlnaHR9KVwiKTtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZShcIm1heCgje2dvdnVrLXNwYWNpbmcoMyl9LCAjeyRwYWRkaW5nLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJsZVwiKSB7XG4gIC5nb3Z1ay10YWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAvLyBHT1YuVUsgRWxlbWVudHMgc2V0cyB0aGUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodCBmb3IgYWxsIGhlYWRlcnMgYW5kIGNlbGxzXG4gICAgLy8gaW4gdGFibGVzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfZWxlbWVudHMpIHtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2VsbC0tbnVtZXJpYyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR0YWJ1bGFyOiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLS1udW1lcmljLFxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXI6bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXRhYmxlX19jZWxsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90ZXh0YXJlYVwiKSB7XG4gIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gc2hvdWxkIHRoaXMgYmUgZ2xvYmFsP1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstdGV4dGFyZWEtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3dhcm5pbmctdGV4dFwiKSB7XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2Fzc2lzdGl2ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9faWNvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgbWluLWhlaWdodDogMjlweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDsgLy8gSGFsZiB0aGUgaGVpZ2h0IG9mIHRoZSBjaXJjbGUgKGFkanVzdGVkIGZvciBOVEEpXG4gICAgcGFkZGluZy10b3A6IDNweDtcblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgd2lsbCBvZnRlbiBiZSByZW1vdmVkLlxuICAgIC8vIEFkZGluZyBhIGJvcmRlciB0byB0aGUgY29tcG9uZW50IGtlZXBzIGl0J3Mgc2hhcGUgYXMgYSBjaXJjbGUuXG4gICAgYm9yZGVyOiAzcHggc29saWQgZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIFByZXZlbnQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgZnJvbSBiZWluZyBpbmNsdWRlZCB3aGVuIHRoZSB3YXJuaW5nIHRleHRcbiAgICAvLyBpcyBjb3BpZWQsIGZvciBleGFtcGxlLlxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X190ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJjbGVhcmZpeFwiO1xuQGltcG9ydCBcInZpc3VhbGx5LWhpZGRlblwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL3V0aWxpdGllcy9jbGVhcmZpeFwiKSB7XG4gIC5nb3Z1ay1jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvdmlzdWFsbHktaGlkZGVuXCIpIHtcbiAgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xuICB9XG5cbiAgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcImRpc3BsYXlcIjtcbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcIndpZHRoXCI7XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vaGVscGVycy9hbGxcIjtcblxuLy8vL1xuLy8vIEBncm91cCBvdmVycmlkZXNcbi8vLy9cblxuLy8vIERpcmVjdGlvbnMgZm9yIHNwYWNpbmdcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX3NwYWNpbmctZGlyZWN0aW9uczogKFxuICBcInRvcFwiLFxuICBcInJpZ2h0XCIsXG4gIFwiYm90dG9tXCIsXG4gIFwibGVmdFwiXG4pICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBvdmVycmlkZSBjbGFzc2VzXG4vLy9cbi8vLyBHZW5lcmF0ZSBzcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSAoZS5nLiBtYXJnaW4pXG4vLy8gZm9yIGVhY2ggcG9pbnQgaW4gdGhlIHNwYWNpbmcgc2NhbGUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gUHJvcGVydHkgdG8gYWRkIHNwYWNpbmcgdG8gKGUuZy4gJ21hcmdpbicpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstXFwhLW1hcmdpbi0wIHtcbi8vLyAgICAgIG1hcmdpbjogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAuZ292dWstXFwhLW1hcmdpbi10b3AtMSB7XG4vLy8gICAgIG1hcmdpbi10b3A6IFt3aGF0ZXZlciBzcGFjaW5nIHBvaW50IDEgaXMuLi5dXG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcygkcHJvcGVydHkpIHtcbiAgLy8gRm9yIGVhY2ggcG9pbnQgaW4gdGhlIHNwYWNpbmcgc2NhbGUgKGRlZmluZWQgaW4gc2V0dGluZ3MpLCBjcmVhdGUgYW5cbiAgLy8gb3ZlcnJpZGUgdGhhdCBhZmZlY3RzIGFsbCBkaXJlY3Rpb25zLi4uXG4gIEBlYWNoICRzY2FsZS1wb2ludCwgJHNjYWxlLW1hcCBpbiAkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlIHtcblxuICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JHNjYWxlLXBvaW50fSB7XG5cbiAgICAgIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHNjYWxlLXBvaW50LCAkcHJvcGVydHksIFwiYWxsXCIsIHRydWUpO1xuICAgIH1cblxuICAgIC8vIC4uLiBhbmQgdGhlbiBhbiBvdmVycmlkZSBmb3IgZWFjaCBpbmRpdmlkdWFsIGRpcmVjdGlvblxuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gJF9zcGFjaW5nLWRpcmVjdGlvbnMge1xuXG4gICAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259LSN7JHNjYWxlLXBvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHNjYWxlLXBvaW50LCAkcHJvcGVydHksICRkaXJlY3Rpb24sIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3NwYWNpbmdcIikge1xuICBAaW5jbHVkZSBfZ292dWstZ2VuZXJhdGUtc3BhY2luZy1vdmVycmlkZXMoXCJtYXJnaW5cIik7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcInBhZGRpbmdcIik7XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy90eXBvZ3JhcGh5XCIpIHtcbiAgLy8gRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodFxuXG4gIC8vIEdlbmVyYXRlIHR5cG9ncmFwaHkgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgZWFjaCByZXNwb25zaXZlIGZvbnQgbWFwIGluIHRoZVxuICAvLyB0eXBvZ3JhcGh5IHNjYWxlIGVnIC5nb3Z1ay1cXCEtZm9udC1zaXplLTgwXG4gIEBlYWNoICRzaXplIGluIG1hcC1rZXlzKCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlKSB7XG4gICAgLmdvdnVrLVxcIS1mb250LXNpemUtI3skc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZWlnaHRzXG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1yZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1ib2xkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy93aWR0aFwiKSB7XG4gIC5nb3Z1ay1cXCEtd2lkdGgtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtdGhyZWUtcXVhcnRlcnMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10d28tdGhpcmRzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDY2LjY2JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLWhhbGYge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtdGhpcmQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzMuMzMlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIlxyXG4kbGEtYmx1ZTogIzE3NTRCOTsiLCIvLyBSZWNvbW1lbmRlZCAtIFVzZSB0aGVzZSBzdHlsZXMgZm9yIHRoZSBjaGVjayB5b3VyIGFuc3dlcnMgcGF0dGVyblxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzIHtcclxuXHJcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxOSk7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcbn1cclxuXHJcbi5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnMtLXNob3J0IHtcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgLy8gdG8gbWFrZSBncm91cCBvZiBxJmEgbGluZSB1cCBob3Jpem9udGFsbHkgKHVubGVzcyB0aGVyZSBpcyBqdXN0IG9uZSBncm91cClcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gcmVjb21tZW5kZWQgZm9yIG1vc3RseSBzaG9ydCBxdWVzdGlvbnNcclxuICAgIC5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnNfX3F1ZXN0aW9uIHtcclxuICAgICAgd2lkdGg6IDMwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnMtLWxvbmcge1xyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICAvLyB0byBtYWtlIGdyb3VwIG9mIHEmYSBsaW5lIHVwIGhvcml6b250YWxseSAodW5sZXNzIHRoZXJlIGlzIGp1c3Qgb25lIGdyb3VwKVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyByZWNvbW1lbmRlZCBmb3IgbW9zdGx5IGxvbmcgcXVlc3Rpb25zXHJcbiAgICAuZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19xdWVzdGlvbiB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19jb250ZW50cyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19jb250ZW50czpmaXJzdC1jaGlsZCAuZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19xdWVzdGlvbixcclxuLmdvdnVrLWNoZWNrLXlvdXItYW5zd2Vyc19fY29udGVudHM6Zmlyc3QtY2hpbGQgLmdvdnVrLWNoZWNrLXlvdXItYW5zd2Vyc19fYW5zd2VyLFxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19jb250ZW50czpmaXJzdC1jaGlsZCAuZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19jaGFuZ2Uge1xyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnNfX3F1ZXN0aW9uLFxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19hbnN3ZXIsXHJcbi5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnNfX2NoYW5nZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XHJcbiAgICBwYWRkaW5nOiBnb3Z1ay1lbSgxMiwgMTkpIGdvdnVrLWVtKDIwLCAxOSkgZ292dWstZW0oOSwgMTkpIDA7IC8vIGNvcGllZCBmcm9tIEVsZW1lbnRzJyB0ZCBwYWRkaW5nXHJcbiAgfVxyXG59XHJcblxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19xdWVzdGlvbiB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbWFyZ2luOiBnb3Z1ay1lbSgxMiwgMTkpIDRlbSBnb3Z1ay1lbSg0LDE5KSAwO1xyXG4gIC8vIHRvcDogZnJvbSBFbGVtZW50cycgdGRcclxuICAvLyByaWdodDogZHVlIHRvIGxlbmd0aCBvZiBcImNoYW5nZVwiIGxpbmsgKGFkanVzdCBpZiB5b3UgY2hhbmdlIHRoZSBsaW5rIHRvIGJlIG11Y2ggbG9uZ2VyKVxyXG4gIC8vIGJvdHRvbTogYnkgZXllXHJcbiAgLy8gdXNpbmcgbWFyZ2luIGluc3RlYWQgb2YgcGFkZGluZyBiZWNhdXNlIG9mIGVhc2llciBhYnNvbHV0ZWx5IHBvc2l0aW9uaW5nIG9mIC5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnNfX2NoYW5nZVxyXG59XHJcblxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19hbnN3ZXIge1xyXG4gIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1lbSg5LCAxOSk7IC8vIGZyb20gRWxlbWVudHMnIHRkXHJcbn1cclxuXHJcbi5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnNfX2NoYW5nZSB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxufVxyXG4iLCIvLyBUYXNrIGxpc3QgcGF0dGVyblxyXG5cclxuLy8gT3ZlcnJpZGUgY29sdW1uIHdpZHRoIGZvciB0YWJsZXQgYW5kIHVwXHJcbi5hcHAtY29sdW1uLW1pbmltdW0ge1xyXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcclxuICAgIG1pbi13aWR0aDogNjAwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTcGFjaW5nIHRvIHRoZSBsZWZ0IG9mIHRoZSB0YXNrIGxpc3RcclxuJHRhc2stbGlzdC1pbmRlbnQ6IDM1cHg7XHJcblxyXG4uYXBwLXRhc2stbGlzdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi10b3A6ICRnb3Z1ay1ndXR0ZXI7XHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xyXG4gICAgbWFyZ2luLXRvcDogKCRnb3Z1ay1ndXR0ZXIgKiAyKTtcclxuICB9XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X19zZWN0aW9uIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuXHJcbiAgQGluY2x1ZGUgZ292dWstZm9udCgyNCwgJHdlaWdodDogYm9sZCk7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAoJGdvdnVrLWd1dHRlciAvIDYpO1xyXG59XHJcblxyXG4uYXBwLXRhc2stbGlzdF9fc2VjdGlvbi1udW1iZXIge1xyXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgcGFkZGluZy1yaWdodDogKCRnb3Z1ay1ndXR0ZXIgLyA2KTtcclxuXHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xyXG4gICAgbWluLXdpZHRoOiAkdGFzay1saXN0LWluZGVudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmFwcC10YXNrLWxpc3RfX2l0ZW1zIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGdvdnVrLWd1dHRlcjtcclxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAoJGdvdnVrLWd1dHRlciAqIDIpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkdGFzay1saXN0LWluZGVudDtcclxuICB9XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X19pdGVtIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XHJcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XHJcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XHJcbiAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X190YXNrLW5hbWUge1xyXG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xyXG4gIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xyXG4gIHdpZHRoOiA2MCU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi50YXNrLWxpc3QtZGVhY3RpdmF0ZWQtaXRlbSB7XHJcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XHJcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XHJcbn1cclxuXHJcbi5hcHAtdGFzay1saXN0X190YXNrLWNvbXBsZXRlZCB7XHJcbiAgbWFyZ2luLXRvcDogM3B4O1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG4iLCIuYWRtaW4tc2lnbi1pbiB7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi5zaWduLWluIHtcclxuXHRtYXJnaW46IDIwcHggMjBweDtcclxuXHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcdG1hcmdpbjogODBweCBhdXRvIDA7XHRcdFxyXG5cdH1cclxufSIsIi8qIE92ZXJyaWRlcyBmb3IgdGhlIGFkbWluIHRoZW1lICovXHJcbkBpbXBvcnQgXCJwYXR0ZXJucy9hZG1pbi10eXBvZ3JhcGh5XCI7XHJcbkBpbXBvcnQgXCJwYXR0ZXJucy9hZG1pbi1mb3Jtc1wiO1xyXG5AaW1wb3J0IFwicGF0dGVybnMvYWRtaW4taGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJwYXR0ZXJucy9hZG1pbi1zaWRlLW5hdlwiO1xyXG5AaW1wb3J0IFwicGF0dGVybnMvYWRtaW4tc2VhcmNoXCI7XHJcbkBpbXBvcnQgXCJwYXR0ZXJucy9hZG1pbi10YWJsZXNcIjtcclxuQGltcG9ydCBcInBhdHRlcm5zL2FkbWluLWxheW91dFwiO1xyXG5AaW1wb3J0IFwicGF0dGVybnMvYWRtaW4tY2FyZFwiO1xyXG5AaW1wb3J0IFwicGF0dGVybnMvX3JlbGF0ZWQtaXRlbXNcIjtcclxuQGltcG9ydCBcInBhdHRlcm5zL2dvdnVrLW92ZXJyaWRlc1wiO1xyXG5AaW1wb3J0IFwicGF0dGVybnMvZ2MtY29yZVwiO1xyXG5AaW1wb3J0IFwicGF0dGVybnMvX3Rhc2stbGlzdFwiO1xyXG5cclxuLmh0bWwtYWRtaW4ge1xyXG5cdGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cdGJvZHkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLnN1Y2Nlc3MtcGFuZWwge1xyXG5cdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoZ292dWstY29sb3VyKHR1cnF1b2lzZSksIDAuOCk7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0cGFkZGluZzogMCA2MHB4O1xyXG5cdG1hcmdpbjogLTMwcHggMCA2MHB4IC02MHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHAge1xyXG5cdFx0Y29sb3I6IHdoaXRlO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luOiBnb3Z1ay1zcGFjaW5nKDQpO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IC00cHg7XHJcblx0XHR3aWR0aDogNjAlO1xyXG5cdH1cclxuXHQuc3VjY2Vzcy1wYW5lbF9fY2xvc2Uge1xyXG5cdFx0Y29sb3I6IHdoaXRlO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAtNHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHR3aWR0aDogNDAlO1xyXG5cdH1cclxuXHQmLnNpZ24taW4tc3VjY2VzcyB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwIDMwcHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbi5kaXNhYmxlLXNpZGUtYmFyLXllcyB7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5tb2JpbGUtZ3JpZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyIC8gMjtcclxufVxyXG5cclxuLm1vYmlsZS1ncmlkLWNlbGwge1xyXG5cdGZsZXg6IDE7XHJcblx0cGFkZGluZzogMCAxNXB4O1xyXG5cdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNXB4KTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0fVxyXG5cdCY6bGFzdC1jaGlsZCB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCk7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0fVxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0LmFsaWduLWJvdHRvbSAmIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHR9XHJcblx0XHJcblx0Ji5ncmlkLWNlbGwtMS0zIHtcclxuXHRcdGZsZXgtYmFzaXM6IDMzLjMlO1xyXG5cdH1cclxuXHQmLmdyaWQtY2VsbC0xLTIge1xyXG5cdFx0ZmxleC1iYXNpczogNTAlO1xyXG5cdH1cclxuXHQmLmdyaWQtY2VsbC0yLTMge1xyXG5cdFx0ZmxleC1iYXNpczogNjYuNiU7XHJcblx0fVxyXG59XHJcblxyXG4uZW5mb3JjZXItdmlldy1pbWFnZSB7XHJcblx0ZmxleDogMTtcclxuXHRpbWcge1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgZ292dWstY29sb3VyKGdyZXktMik7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5lbmZvcmNlci12aWV3IHtcclxuXHQuaGlkZS1lbmZvcmNlciB7XHJcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4ubGFiZWxzLXdpdGgtaGVhZGluZyB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdC5sYWJlbC13aXRoLWhlYWRpbmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHQubGFiZWwsIC5oZWFkaW5nIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdCAgICBtYXJnaW46IDA7XHJcblx0ICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0fVxyXG5cdC5sYWJlbCB7XHJcblx0XHRjb2xvcjogZ292dWstY29sb3VyKGdyZXktMSk7XHJcblx0XHRmb250LXNpemU6IDR2dztcclxuXHRcdG1hcmdpbjogMC42MzE1OGVtIDAgMC4yMTA1M2VtIDA7XHJcblx0fVxyXG5cdC5oZWFkaW5nIHtcclxuXHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMzYsICR3ZWlnaHQ6IGJvbGQpO1xyXG5cdFx0Zm9udC1zaXplOiA1LjV2dztcclxuXHR9XHJcbn1cclxuXHJcbiNhZG1pblRoZW1lIHtcclxuXHQuZ292dWstcGhhc2UtYmFubmVyIHtcclxuXHRcdG1hcmdpbi10b3A6IC0yMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcdCAgICBtYXJnaW4tdG9wOiAtNDBweDtcclxuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVhZGVyLXdyYXBwZXIge1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdH1cclxuXHQjZ2xvYmFsLWhlYWRlciAuaGVhZGVyLXByb3Bvc2l0aW9uIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdH1cclxuXHQjZ2xvYmFsLWhlYWRlciAuaGVhZGVyLXByb3Bvc2l0aW9uICNwcm9wb3NpdGlvbi1uYW1lIHtcclxuXHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQjZ2xvYmFsLWhlYWRlci53aXRoLXByb3Bvc2l0aW9uIC5oZWFkZXItd3JhcHBlciAuaGVhZGVyLXByb3Bvc2l0aW9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHQuZ292dWstZmllbGRzZXRfX2xlZ2VuZCB7XHJcblx0XHRAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkKTtcclxuXHR9XHJcblx0LmdvdnVrLWxhYmVsLFxyXG5cdC5nb3Z1ay1oaW50LFxyXG5cdC5nb3Z1ay1maWVsZHNldF9faGludCxcclxuXHQuZ292dWstc2VsZWN0LFxyXG5cdC5nb3Z1ay1ib2R5LFxyXG5cdC5nb3Z1ay1saXN0LFxyXG5cdC5nb3Z1ay1maWxlLXVwbG9hZFxyXG5cdHtcclxuXHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpO1xyXG5cdH1cclxuXHQuZW5mb3JjZXItdmlldyB7XHJcblx0XHRAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG5cdFx0XHQuZ292dWstbGFiZWwsXHJcblx0XHRcdC5nb3Z1ay1oaW50LFxyXG5cdFx0XHQuZ292dWstYnV0dG9uIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE5cHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LmdvdnVrLWlucHV0IHtcclxuXHRcdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiA1NXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5kZXRhaWwtc21hbGwtZm9udCB7XHJcblx0XHRkZXRhaWxzLCBzdW1tYXJ5LCBkZXRhaWxzIHAsIC5nb3Z1ay1idXR0b24ge1xyXG5cdFx0XHRAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuXHRcdH1cclxuXHRcdGRldGFpbHMgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcblx0fVxyXG5cdC5nb3Z1ay1lcnJvci1tZXNzYWdlIHtcclxuXHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpO1xyXG5cdH1cclxuXHQvLyAuZmllbGRzZXQtd2l0aC1pbnB1dHMgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xyXG5cdC8vIFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHQvLyB9XHJcblx0LmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdH1cclxuXHQuZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19xdWVzdGlvbntcclxuXHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpO1xyXG5cdH1cclxuXHQuZ292dWstY2hlY2steW91ci1hbnN3ZXJzX19hbnN3ZXIsXHJcblx0LmdvdnVrLWNoZWNrLXlvdXItYW5zd2Vyc19fY2hhbmdlIHtcclxuXHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpO1xyXG5cdFx0aW1nIHtcclxuXHRcdFx0b3V0bGluZTogMnB4IHNvbGlkIGdvdnVrLWNvbG91cihncmV5LTIpO1xyXG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcclxuXHRcdFx0d2lkdGg6IDhyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cdC5lbmZvcmNlci12aWV3IHtcclxuXHRcdEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcblx0XHRcdC5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnNfX3F1ZXN0aW9ue1xyXG5cdFx0XHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5nb3Z1ay1jaGVjay15b3VyLWFuc3dlcnNfX2Fuc3dlcixcclxuXHRcdFx0LmdvdnVrLWNoZWNrLXlvdXItYW5zd2Vyc19fY2hhbmdlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2VhcmNoLWZpbHRlciB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cdHRoZWFkIHRyIHtcclxuXHQgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBnb3Z1ay1jb2xvdXIoZ3JleS0zKTtcclxuXHR9XHJcblx0dGQge1xyXG5cdFx0QGluY2x1ZGUgZ292dWstZm9udCgxNik7XHJcblx0XHRib3JkZXItY29sb3I6IGdvdnVrLWNvbG91cihncmV5LTMpO1xyXG5cdFx0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdHRoIHtcclxuXHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpO1xyXG5cdH1cclxuXHQuYmFjay1saW5rLWNvbnRhaW5lciB7XHJcblx0XHRtYXJnaW4tdG9wOiAtMTVweDtcclxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogLTMwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zeXN0ZW0tZXJyb3Ige1xyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XHJcblx0XHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnVuaWZvcm0tbGlua3Mge1xyXG5cdCAgcCwgZGV0YWlscywgc3VtbWFyeSB7XHJcblx0IFx0bWFyZ2luOiAwOyAgIFxyXG5cdCAgfVxyXG5cdCAgcCwgc3VtbWFyeSB7XHJcblx0ICBcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0ICB9XHJcblx0fVxyXG59XHJcblxyXG4uZ292dWstdGFibGVfX2NlbGwtLWhhcy10YWcge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0LmdvdnVrLXRhZyB7XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5hcHBsaWNhdGlvbi1zdGF0dXMtY2hhbmdlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdGgyIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHR9XHJcblx0ZmllbGRzZXQge1xyXG5cdFx0bWFyZ2luLXRvcDogMTVweDtcclxuXHR9XHJcblx0LmdvdnVrLXRhZyB7XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5jaGVjay1hbnN3ZXJzLWhlYWRpbmctd2l0aC1jaGFuZ2Uge1xyXG5cdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcdC5jaGVjay1hbnN3ZXJzLWhlYWRpbmcge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiA2MCU7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogLTRweDtcclxuXHRcdH1cclxuXHRcdC5jaGVjay1hbnN3ZXJzLWNoYW5nZSB7XHJcblx0XHRcdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiA0MCU7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogLTRweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYWRtaW4td2lkdGgtY29udGFpbmVyIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDMwcHg7IFxyXG5cdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbi5hZG1pbi1wYWdlLWhlYWRlciB7XHJcblx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHR9XHJcbn1cclxuXHJcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbiAgVHlwb2dyYXBoeVxyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaDEge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMzYsICR3ZWlnaHQ6IGJvbGQpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4uc3VidGl0bGUge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxuICBjb2xvcjogZ292dWstY29sb3VyKGdyZXktMSk7XHJcbn1cclxuXHJcbi5jb3VudCB7XHJcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxOSk7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoZ3JleS0xKTtcclxuICBtYXJnaW46IDA7XHJcbiAgbWFyZ2luLWxlZnQ6IDVweDtcclxufVxyXG5cclxuLmNvbHVtbi10d28tdGhpcmRzIGgyOmZpcnN0LWNoaWxkLFxyXG4uY29sdW1uLW9uZS10aGlyZCBoMjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufSIsIiIsIlxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxyXG4gIEhlYWRlclxyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLy8gR09WLlVLIEZyb250ZW5kIHRvb2xraXQgb3ZlcmlkZXNcclxuI2FkbWluVGhlbWUge1xyXG4gICNnbG9iYWwtaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihibGFjayk7XHJcbiAgICBoMyxcclxuICAgIGEsIFxyXG4gICAgcCB7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTsgXHJcbiAgICB9XHJcbiAgICBhOnZpc2l0ZWQge1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXByb3Bvc2l0aW9uICNwcm9wb3NpdGlvbi1tZW51IHtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuaGVhZGVyLXdyYXBwZXIge1xyXG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnQ7ICBcclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgICAgcGFkZGluZzogMTVweCAzMHB4ICFpbXBvcnRhbnQ7ICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oZWFkZXItcHJvcG9zaXRpb24ge1xyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbXBvbmVudCBzdHlsZXNodHRwOi8vbG9jYWxob3N0OjMwMDAvXHJcblxyXG4gIC8vIC5wcm9wb3NpdGlvbiB7XHJcbiAgLy8gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgLy8gICA+ICoge1xyXG4gIC8vICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcclxuICAvLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIC8vICAgICBtYXJnaW46IDA7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICAucHJvcG9zaXRpb25fX3NlcnZpY2UtbmFtZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogNjAwOyBcclxuICB9XHJcblxyXG4gIC5wcm9wb3NpdGlvbl9fYXV0aG9yaXR5IHtcclxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9wb3NpdGlvbl9fdmVyc2lvbiB7XHJcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgfVxyXG5cclxuXHJcbiAgLnVzZXItbWVudSB7XHJcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHAge1xyXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbiAgU2lkZSBuYXZpZ2F0aW9uXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vLyBDb21wb25lbnQgc3R5bGVzXHJcblxyXG4uc2lkZS1uYXYge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihncmV5LTMpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGNvbG9yOiAkbGEtYmx1ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0NXB4KTtcclxuICB9XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gICYub3BlbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZS1uYXYgYSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gICY6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZS1uYXZfX2l0ZW0ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBhIHtcclxuICAgICAgcGFkZGluZzogMTJweCAyMHB4IDExcHggMzBweDsgIFxyXG4gICAgfVxyXG4gICAgLmNvdW50ZXIge1xyXG4gICAgICB0b3A6IDExcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5vcGVuICYge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gICYuYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbGEtYmx1ZSwxNSUpO1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgIC8vICY6YWZ0ZXIge1xyXG4gICAgICAvLyAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAvLyAgIHdpZHRoOiAwO1xyXG4gICAgICAvLyAgIGhlaWdodDogMDtcclxuICAgICAgLy8gICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAvLyAgIGJvcmRlci13aWR0aDogN3B4IDhweCA3cHggMDtcclxuICAgICAgLy8gICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAvLyAgIHJpZ2h0OiAwOyB0b3A6IDUwJTtcclxuICAgICAgLy8gICBtYXJnaW4tdG9wOiAtN3B4O1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGE6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGxhLWJsdWU7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAvLyAmOmFmdGVyIHtcclxuICAgIC8vICAgY29udGVudDogJyc7XHJcbiAgICAvLyAgIHdpZHRoOiAwO1xyXG4gICAgLy8gICBoZWlnaHQ6IDA7XHJcbiAgICAvLyAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAvLyAgIGJvcmRlci13aWR0aDogN3B4IDhweCA3cHggMDtcclxuICAgIC8vICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgIHJpZ2h0OiAwOyB0b3A6IDUwJTtcclxuICAgIC8vICAgbWFyZ2luLXRvcDogLTdweDtcclxuICAgIC8vIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLnNpZGUtbmF2X19pdGVtX19zdWIge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBhIHtcclxuICAgICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKGdyZXktNCk7XHJcbiAgICAgIHBhZGRpbmc6IDEycHggMjBweCAxMXB4IDQwcHg7ICBcclxuICAgIH1cclxuICAgIC5jb3VudGVyIHtcclxuICAgICAgdG9wOiAxMXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAub3BlbiAmIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICAmLmFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGEtYmx1ZTtcclxuICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogN3B4IDhweCA3cHggMDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwOyB0b3A6IDUwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGE6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGxhLWJsdWU7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci13aWR0aDogN3B4IDhweCA3cHggMDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwOyB0b3A6IDUwJTtcclxuICAgICAgbWFyZ2luLXRvcDogLTdweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb3VudGVyIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAxNXB4OyB0b3A6IDEycHg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGJhY2tncm91bmQ6IGRhcmtlbihnb3Z1ay1jb2xvdXIoZ3JleS00KSwxNSUpO1xyXG4gIHBhZGRpbmc6IDVweCA1cHggMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBtaW4td2lkdGg6IDE2cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgLmFjdGl2ZSAmLCBhOmhvdmVyICYge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRsYS1ibHVlLDI1JSk7XHJcbiAgfVxyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcclxuICBTZWFyY2hcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qVGVzdGluZyovXHJcblxyXG4uc2VhcmNoLWJveC1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQ6Z292dWstY29sb3VyKGdyZXktMyk7XHJcbiAgbWFyZ2luLXRvcDogMjVweDtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4uc2VhcmNoLWZpbHRlci1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAuZ292dWstZm9ybS1ncm91cCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBzZWxlY3Qge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgZ292dWstY29sb3VyKGdyZXktMyk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5pbmxpbmUtc2VhcmNoLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnNlYXJjaC1ib3gge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcclxuICBcdHBhZGRpbmc6IDlweCAxNXB4IDZweDtcclxuICBcdGJvcmRlcjogMnB4IHNvbGlkIGdvdnVrLWNvbG91cihncmV5LTEpO1xyXG4gIFx0b3V0bGluZTogbm9uZTtcclxuICBcdHdpZHRoOiA5MCU7XHJcbiAgXHQmOmZvY3VzIHtcclxuICBcdFx0Ym9yZGVyOiAycHggc29saWQgZ292dWstY29sb3VyKHllbGxvdyk7XHJcbiAgXHR9XHJcbiAgfVxyXG4gIC5pbmxpbmUtc2VhcmNoLWJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlYXJjaC5zdmcnKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA1cHggdG9wIDE4cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7IHdpZHRoOiAzMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxyXG4gICAgcmlnaHQ6IDVweDsgdG9wOiA1MCU7XHJcbiAgfVxyXG59XHJcblxyXG4uc2VhcmNoLWJveF9fb3B0aW9ucyB7XHJcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNik7XHJcbiAgZmxvYXQ6IHJpZ2h0OyBcclxuICBwIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIH1cclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbiAgVGFibGVzXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZ292dWstdGFibGVfX2hlYWRlciB7XHJcbiAgJi0tc29ydCwgJi0tc29ydGVkLWFzYywgJi0tc29ydGVkLWRlc2Mge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy90YWJsZS1hcnJvd3Muc3ZnJykgbm8tcmVwZWF0IDZweCA0cHg7XHJcbiAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtLXNvcnRlZC1hc2M6OmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDZweCAtMTMwcHg7XHJcbiAgfVxyXG4gICYtLXNvcnRlZC1kZXNjOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2cHggLTU5cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZXN1bHRzIHBlciBwYWdlXHJcbi5yZXN1bHRzLXBlci1wYWdlLFxyXG4ucGFnaW5hdGlvbiB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICBwLFxyXG4gIHVsLFxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICBsaSB7XHJcbiAgICAvLyBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIH1cclxuICAucGFnZS1hY3RpdmUge1xyXG4gICAgcGFkZGluZzogM3B4IDhweDtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDRweCA4cHggMnB4O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihibHVlKTtcclxuICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBQYWdpbmF0aW9uc1xyXG4ucGFnaW5hdGlvbiB7XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gIH1cclxufSIsIiNhZG1pblRoZW1lIHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLy8gYm9keSB7XHJcbi8vICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8gfVxyXG5cclxuYSxcclxuYTp2aXNpdGVkIHtcclxuXHRjb2xvcjogJGxhLWJsdWU7XHJcbn1cclxuXHJcbiNhZG1pbkNvbnRlbnQge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgcGFkZGluZzogMjBweCAxNXB4O1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW46IDA7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xyXG4gICAgcGFkZGluZzogNDdweCA2MHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4gIFxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcbiAgXHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgbWF4LXdpZHRoOiA3MCU7XHJcbiAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiIsIiRibGFjazogIzBiMGMwYztcclxuJGdyZXktMTogIzZmNzc3YjtcclxuJGdyZXktMjogI2JmYzFjMztcclxuJGdyZXktMzogI2RlZTBlMjtcclxuJGdyZXktNDogI2Y4ZjhmODtcclxuJHdoaXRlOiAjZmZmO1xyXG4keWVsbG93OiAjZmZiZjQ3O1xyXG5cclxuXHJcbi5nYy1wYW5lbC1jYXJkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS00O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktMjtcclxuICAgIGJveC1zaGFkb3c6IDJweCAycHggOHB4IDBweCAkZ3JleS0xO1xyXG4gIH1cclxuXHJcbiAgLmdjLXBhbmVsLWNhcmQtLW5vc2hhZG93eyBib3gtc2hhZG93OiBub25lOyBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS0yfVxyXG5cclxuICAuZ2MtcGFuZWwtY2FyZC0taGlzdG9yeXtcclxuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JleS0yO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLmdjLXBhbmVsLWNhcmQtbWluLWhlaWdodHtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICB9XHJcbiAgXHJcbiAgLmdjLXBhbmVsLWNhcmRfX2xpbmstd3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS00O1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuICBcclxuICAuZ2MtcGFuZWwtY2FyZF9fbWV0YSB7XHJcbiAgICBmb250LXNpemU6IDEycHQgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuXHJcbiAgLmdjLXBhbmVsLWNhcmRfX2NvbnRlbnQge1xyXG4gICAgcGFkZGluZzogNXB4IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuZ2MtcGFuZWwtY2FyZF9fY291bnR7Zm9udC1zaXplOiA1MHB0O31cclxuICBcclxuICAuZ2MtcGFuZWwtY2FyZF9fbGluay13cmFwcGVyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LTQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggJHllbGxvdztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLmdjLXBhbmVsLWNhcmRfX2xpbmstd3JhcHBlcjpob3ZlciAuZ2MtcGFuZWwtY2FyZF9faGVhZGluZyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcblxyXG4gIC5nYy1wYW5lbC1jYXJkLS1oaXN0b3J5IC5nYy1wYW5lbC1jYXJkX19oZWFkaW5nLCBcclxuICAuZ2MtcGFuZWwtY2FyZC0taGlzdG9yeSAuZ2MtcGFuZWwtY2FyZF9fZGVzY3JpcHRpb24sXHJcbiAgLmdjLXBhbmVsLWNhcmQtLWhpc3RvcnkgLmdjLXBhbmVsLWNhcmRfX21ldGF7XHJcbmNvbG9yOiAkZ3JleS0xICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuIiwiLy8gVGhpcyBpcyBhIEdPVi5VSyBQdWJsaXNoaW5nIHNwZWNpZmljIGNvbXBvbmVudCB0aGF0XG4vLyBjYW4gYmUgc2VlbiBhdCBodHRwOi8vZ292dWstc3RhdGljLmhlcm9rdWFwcC5jb20vY29tcG9uZW50LWd1aWRlL3JlbGF0ZWRfaXRlbXNcblxuLmFwcC1yZWxhdGVkLWl0ZW1zIHtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbn1cblxuLmFwcC1yZWxhdGVkLWl0ZW1zIC5nb3Z1ay1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuIiwiQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0MC4wNmVtKSB7XHJcbiAgICAuanMtZW5hYmxlZCAuZ292dWstdGFic19fcGFuZWwge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmpzLWVuYWJsZWQgLmdvdnVrLXRhYnNfX3BhbmVsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbn0iLCIuZ2MtcHVsbC1yaWdodHtmbG9hdDogcmlnaHQ7fVxyXG4uZ2MtY2xlYXItbGVmdHtjbGVhcjogbGVmdCAhaW1wb3J0YW50O31cclxuXHJcbi5nYy10YWd7XHJcbiAgICBcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDAuODdyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwMDVlYTU7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxuICAgIGNvbG9yOiAjMDA1ZWE1O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjQwLjA2ZW0pe1xyXG4uZ2MtdGFnIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG59XHJcbn1cclxuXHJcbi5nYy1idXR0b24tc2Vjb25kYXJ5e1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggZ292dWstY29sb3VyKGdyZXktMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoZ3JleS0yKTtcclxuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nYy1idXR0b24tc2Vjb25kYXJ5OmhvdmVye1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggZ292dWstY29sb3VyKGdyZXktMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE5MSwgMTkzLCAxOTUsIDAuNyk7XHJcbn0iLCIuY3JvcHByLWNvbnRhaW5lciAqIHtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmNyb3Bwci1jb250YWluZXIgaW1nIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNyb3BwciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmNyb3Bwci1vdmVybGF5IHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAxO1xyXG4gIGN1cnNvcjogY3Jvc3NoYWlyO1xyXG59XHJcblxyXG4uY3JvcHByLXJlZ2lvbiB7XHJcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMztcclxuICBjdXJzb3I6IG1vdmU7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4uY3JvcHByLWltYWdlQ2xpcHBlZCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAyO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uY3JvcHByLWhhbmRsZSB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgd2lkdGg6IDEwcHg7XHJcbiAgaGVpZ2h0OiAxMHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiA0O1xyXG4gIHRvcDogMDtcclxufSIsIi8vIEZpbGUgdXBsb2FkXHJcbi5maWxlLXVwbG9hZF9faW5wdXQge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5nb3Z1ay1saW5rIHtcclxuXHQmLmZha2UtbGluayB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG59XHJcblxyXG4uaGlkZS1uby1qcyB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICAuanMtZW5hYmxlZCAmIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJi5oaWRkZW4ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFwcC10YXNrLWxpc3RfX3Rhc2stbmFtZS5hcHAtdGFzay1saXN0LS1pbmFjdGl2ZWxpbmsge1xyXG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoYmxhY2spO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5qcy1oaWRkZW4ge1xyXG4gIC5qcy1lbmFibGVkICYge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5oaWRkZW4ge2Rpc3BsYXk6IG5vbmU7fVxyXG5cclxuLnJlc3BvbnNpdmUtaW1hZ2Uge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnBhc3Nwb3J0LXBob3RvIHtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIG1heC13aWR0aDogMTUwcHg7XHJcbn1cclxuXHJcbi5wYXNzcG9ydC1oZWxwLXBob3RvIHtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4uc3VtbWFyeS10cmlnZ2VyIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcclxuICBpbWcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gIH1cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZ292dWstY2hlY2steW91ci1hbnN3ZXJzLm5vLWJvcmRlciB7XHJcbiAgLmdvdnVrLWNoZWNrLXlvdXItYW5zd2Vyc19fY29udGVudHMsIGRkIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbiAgLmdvdnVrLXRhYmxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uc3VtbWFyeS10cmlnZ2VyICsgLmdvdnVrLWRldGFpbHMgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jb3VudGRvd24tdGltZXIge1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoODApO1xyXG4gIGZvbnQtc2l6ZTogMTIwcHggIWltcG9ydGFudDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5pbnB1dC1jYXBpdGFscyB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLmdvdnVrLWJ1dHRvbi5nb3Z1ay1idXR0b24tLXNlY29uZGFyeXtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoZ3JleS0zKTtcclxuICBjb2xvcjogZ292dWstY29sb3VyKGJsYWNrKTtcclxuICBib3gtc2hhZG93OiBnb3Z1ay1jb2xvdXIoZ3JleS0yKSAwcHggMnB4IDBweCAwcHg7XHJcbn1cclxuXHJcbi5nb3Z1ay1kZXRhaWxzLmhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnNhdmUtcHJvZ3Jlc3MtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkKTtcclxuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xyXG4gICYuaGlkZGVuLW1vYmlsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ibHVlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTG9hZGVyXHJcbi5sb2FkaW5nIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgJl9fdGV4dCB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgfVxyXG4gICZfX3NwaW5uZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgd2lkdGg6IDc1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9sb2FkaW5nLmdpZicpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFN0eWxlcyBmb3Igd2ViY2FtIGNhcHR1cmUuIFN0YXJ0XHJcbi52aWRlby1jb250YWluZXIge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDE5MXB4O1xyXG4gIGhlaWdodDogMjU1cHg7XHJcbn1cclxuXHJcbi52aWRlby1jb250YWluZXIgdmlkZW8ge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMzYlO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xyXG59XHJcblxyXG4ucGhvdG8tY29udGFpbmVyIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMjU1cHg7XHJcbiAgd2lkdGg6IDE5MXB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnBob3RvLWNvbnRhaW5lciBpbWcge1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xyXG59XHJcblxyXG4ucGhvdG8tY29udGFpbmVyICNibGFja2JveCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMHB4O1xyXG4gIGJvdHRvbTogMTZweDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgcmlnaHQ6IDBweDtcclxuICBiYWNrZ3JvdW5kOiBibGFjaztcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcbiAgLnZpZGVvLWhlbHAtdGV4dCB7XHJcbiAgICBtYXJnaW4tdG9wOiA2OXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmhpZGRlbi10b3VjaCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICAuaXMtZGVza3RvcCAmIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG4uaGlkZGVuLW1vdXNlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIC5pcy1tb2JpbGUgJiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5oaWRkZW4tbW9iaWxlLFxyXG4uaGlkZGVuLXRhYmxldCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gIC5oaWRkZW4tbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5AaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4gIC5oaWRkZW4tdGFibGV0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLmdvdnVrLWRldGFpbHMge1xyXG5cdCYuZmlsZS11cGxvYWQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcclxuXHR9XHJcbn1cclxuXHJcbi5nb3Z1ay1saXN0IHtcclxuICBsYWJlbCAmIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4udGFzay1saXN0LWRlYWN0aXZhdGVkLWl0ZW0ge1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgKyBhIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ucmVhZC1vdXQtaW5kaXZpZHVhbGx5IGkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcclxuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5zYXRpc2ZhY3Rpb24tc2NvcmUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMzYsICR3ZWlnaHQ6IGJvbGQpO1xyXG59XHJcblxyXG4uZmVlZGJhY2stbGF5b3V0IHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDE7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgLnRvcC1oZWFkZXItcGFyYWdyYXBoIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgYm9keSB7XHJcbiAgICBmbGV4OiAxO1xyXG4gIH1cclxuICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleDogMTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICAuZ292dWstbWFpbi13cmFwcGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAuZ292dWstaGVhZGluZy1sIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi53aWRlLXNjcmVlbi10cnVlIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG59IiwiLmd1aWRhbmNlLWxheW91dCB7XHJcblx0LmdvdnVrLWJhY2stbGluayB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLmd1aWRhbmNlLWNvbnRhaW5lciB7XHJcblx0YmFja2dyb3VuZDogZ292dWstY29sb3VyKGJsdWUpO1xyXG5cdGNvbG9yOiBnb3Z1ay1jb2xvdXIod2hpdGUpO1xyXG5cdHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNik7XHJcblx0aDEsIGgyLCBoMywgcCwgdWwsIGxlZ2VuZCwgbGFiZWwge1xyXG5cdFx0Y29sb3I6IGdvdnVrLWNvbG91cih3aGl0ZSk7XHJcblx0XHRtYXgtd2lkdGg6IDQwcmVtO1xyXG5cdFx0LndpZGUtc2NyZWVuLXRydWUgJiB7XHJcblx0XHRcdG1heC13aWR0aDogNTByZW07XHJcblx0XHR9XHJcblx0fVxyXG5cdGEsIGE6dmlzaXRlZCwgYTpsaW5rIHtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogZGFya2VuKHdoaXRlLCAxMCUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwLmdvdnVrLWJvZHksIGxhYmVsLCBsaSB7XHJcblx0XHRAaW5jbHVkZSBnb3Z1ay1mb250KDI0KTtcclxuXHR9XHJcblx0Lm1pZGRsZS1zdGFydC1wYWdlIHtcclxuXHRcdHAuZ292dWstYm9keSwgbGFiZWwsIGxpIHtcclxuXHRcdFx0QGluY2x1ZGUgZ292dWstZm9udCgxOSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdGEuZ292dWstYnV0dG9uLCAuZ292dWstYnV0dG9uIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cih3aGl0ZSk7XHJcblx0XHRjb2xvcjogZ292dWstY29sb3VyKGJsdWUpO1xyXG5cdFx0Ym94LXNoYWRvdzogZGFya2VuKGdvdnVrLWNvbG91cihibHVlKSwgMjAlKSAwcHggMnB4IDBweCAwcHg7XHJcblx0XHQmOmZvY3VzLCAmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKGdvdnVrLWNvbG91cih3aGl0ZSksIDUlKTtcclxuXHRcdFx0Y29sb3I6IGdvdnVrLWNvbG91cihibHVlKTtcclxuXHRcdH1cclxuXHR9XHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pbWFnZS13aXRoLW1hcmdpbiB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xyXG5cdH1cclxuXHQuZ3VpZGFuY2UtcHVsbC1idXR0b24ge1xyXG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtNDVweDtcclxuXHRcdH1cclxuXHR9XHJcblx0LnN2Zy1jb250YWluZXIge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcclxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ndWlkYW5jZS1udW1iZXJlZC1zdGVwcyB7XHJcblx0QGluY2x1ZGUgZ292dWstZm9udCgyNCk7XHJcblx0bGkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcclxuXHR9XHJcbn1cclxuXHJcbi5ndWlkYW5jZS10aXRsZXMtd3JhcHBlciB7XHJcblx0QGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XHJcbn1cclxuXHJcbi5ndWlkYW5jZS1wYWdlLXRpdGxlLXdyYXBwZXIge1xyXG5cdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0d2lkdGg6IDYwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5ndWlkYW5jZS10aXRsZS13cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdHdpZHRoOiA0MCU7XHJcblx0fVxyXG5cdG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XHJcbn1cclxuXHJcbi5ndWlkYW5jZS10aXRsZSB7XHJcblx0QGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmd1aWRhbmNlLXN0ZXAtY291bnQge1xyXG5cdEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ucGhvdG8tZ3VpZGFuY2UtaW1hZ2VzLXdpdGgtcmVzdWx0cyB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRtYXJnaW46IDA7IHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcclxuXHRpbWcge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHRsaSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdC5yZXN1bHQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIod2hpdGUpO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGNvbG9yOiBnb3Z1ay1jb2xvdXIoYmxhY2spO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuXHRcdFx0XHRjb2xvcjogZ292dWstY29sb3VyKGJsYWNrKTtcclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnJlc3VsdCB7XHJcblx0XHQuZmFpbGVkLCAuYXBwcm92ZWQge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDhweCAyOHB4IDVweCA4cHg7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDdweCBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMThweDtcclxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxMXB4O1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDM0cHg7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDhweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDIycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5hcHByb3ZlZCB7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi10aGljay10aWNrLnN2Zyk7XHJcblx0XHR9XHJcblx0XHQuZmFpbGVkIHtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uLXRoaWNrLWNyb3NzLnN2Zyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4uc3Bpbm5lci1jb250YWluZXIge1xyXG5cdGFuaW1hdGlvbi1uYW1lOiBzcGluO1xyXG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwMG1zO1xyXG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHR3aWR0aDogNDBweDtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5sb2FkaW5nLWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxNTBweDtcclxuXHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHRcdHBhdGgge1xyXG5cdFx0XHRmaWxsOiB3aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mZWVkYmFjay1jb3VudGRvd24tY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cdC5jb3VudGRvd24tY29udGFpbmVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0LmNvdW50ZG93bi12aXN1YWwge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHR9XHJcblx0LnBhdXNlLWJ1dHRvbiwgLnBsYXktYnV0dG9uIHtcclxuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRwYXRoIHtcclxuXHRcdFx0XHRmaWxsOiB3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuYXV0b2NvbXBsZXRlX193cmFwcGVyIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX2hpbnQsXHJcbi5hdXRvY29tcGxldGVfX2lucHV0IHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYm9yZGVyOiAycHggc29saWQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMDsgLyogU2FmYXJpIDEwIG9uIGlPUyBhZGRzIGltcGxpY2l0IGJvcmRlciByb3VuZGluZy4gKi9cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDsgLyogQlVHOiBTYWZhcmkgMTAgb24gbWFjT1Mgc2VlbXMgdG8gYWRkIGFuIGltcGxpY2l0IG1hcmdpbi4gKi9cclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVuaGFuY2VkLXNlbGVjdCB7XHJcbiAgaGVpZ2h0OiAzN3B4O1xyXG4gIC5qcy1lbmFibGVkICYge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9faW5wdXQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9faGludCB7XHJcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxOSk7XHJcbiAgY29sb3I6ICNCRkMxQzM7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4uYXV0b2NvbXBsZXRlX19pbnB1dC0tZGVmYXVsdHtcclxuICBwYWRkaW5nOiA0cHg7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX2lucHV0LS1mb2N1c2VkIHtcclxuICBvdXRsaW5lLW9mZnNldDogMDtcclxuICBvdXRsaW5lOiAzcHggc29saWQgI2ZmYmY0NztcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9faW5wdXQtLXNob3ctYWxsLXZhbHVlcyB7XHJcbiAgcGFkZGluZzogNHB4IDM0cHggNHB4IDRweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX2Ryb3Bkb3duLWFycm93LWRvd257XHJcbiAgei1pbmRleDogLTE7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogOHB4O1xyXG4gIHdpZHRoOiAyNHB4O1xyXG4gIGhlaWdodDogMjRweDtcclxuICB0b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX21lbnUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzBCMEMwQztcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGNvbG9yOiAjMzQzODRCO1xyXG4gIG1hcmdpbjogMDtcclxuICBtYXgtaGVpZ2h0OiAzNDJweDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gNHB4KTtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9fbWVudS0tdmlzaWJsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX21lbnUtLWhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9fbWVudS0tb3ZlcmxheSB7XHJcbiAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1Njg2MykgMHB4IDJweCA2cHg7XHJcbiAgbGVmdDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwMDtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9fbWVudS0taW5saW5lIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX29wdGlvbiB7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgI0JGQzFDMztcclxuICBib3JkZXItd2lkdGg6IDFweCAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX29wdGlvbiA+ICoge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uYXV0b2NvbXBsZXRlX19vcHRpb246Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9fb3B0aW9uOmxhc3Qtb2YtdHlwZSB7XHJcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9fb3B0aW9uLS1vZGQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX29wdGlvbi0tZm9jdXNlZCxcclxuLmF1dG9jb21wbGV0ZV9fb3B0aW9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1RUE1O1xyXG4gIGJvcmRlci1jb2xvcjogIzAwNUVBNTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9fb3B0aW9uLS1uby1yZXN1bHRzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xyXG4gIGNvbG9yOiAjNjQ2YjZmO1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGVfX2hpbnQsXHJcbi5hdXRvY29tcGxldGVfX2lucHV0LFxyXG4uYXV0b2NvbXBsZXRlX19vcHRpb24ge1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsaW5lLWhlaWdodDogMS4yNTtcclxufVxyXG5cclxuLmF1dG9jb21wbGV0ZV9faGludCxcclxuLmF1dG9jb21wbGV0ZV9fb3B0aW9uIHtcclxuICBwYWRkaW5nOiA0cHg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xyXG4gIC5hdXRvY29tcGxldGVfX2hpbnQsXHJcbiAgLmF1dG9jb21wbGV0ZV9faW5wdXQsXHJcbiAgLmF1dG9jb21wbGV0ZV9fb3B0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjMxNTc5O1xyXG4gIH1cclxufSIsIi5waGFzZS1iYW5uZXItd3JhcHBlciArICNnbG9iYWwtaGVhZGVyLWJhciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnBoYXNlLWJhbm5lci13cmFwcGVyIC5nb3Z1ay1waGFzZS1iYW5uZXIge1xyXG5cdGJvcmRlci10b3A6IDEwcHggc29saWQgZ292dWstY29sb3VyKGJsdWUpO1xyXG59XHJcblxyXG4uaGlkZS1zZXJ2aWNlLW5hbWUteWVzIC5nb3Z1ay1oZWFkZXJfX2xpbmstLXNlcnZpY2UtbmFtZSB7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG59IiwiLmV4cGFuZGluZy1wYW5lbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xyXG5cdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XHJcblx0fVxyXG59XHJcblxyXG4uaGFzLWVycm9yIHtcclxuXHQuZ292dWstZGV0YWlsc19fdGV4dCB7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRpbnB1dCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5nb3Z1ay1pbmZvLXBhbmVsIHtcclxuXHRwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xyXG4gICAgYm9yZGVyLWxlZnQ6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XHJcbiAgICBwIHtcclxuICAgIFx0bWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgICYud2l0aC1tYXJnaW5zIHtcclxuICAgIFx0bWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcclxuICAgIFx0cCB7XHJcbiAgICBcdFx0bWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcclxuICAgIFx0fVxyXG4gICAgfVxyXG59XHJcblxyXG4uZ292dWstZGV0YWlscyB7XHJcblx0bGkgJiB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xyXG5cdC5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvciB7XHJcblx0XHRtYXJnaW4tbGVmdDogLTM3cHg7IC8qIEhhY2t5IHNvbHV0aW9uIHRvIHN0eWxlIHRoZSBlcnJvciBpbnNpZGUgdGhlIGNvbmRpdGlvbmFsIHJldmVhbCAqL1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmZvcm0tc2VjdGlvbiwgLnNwbGl0LXNlY3Rpb24ge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnb3Z1ay1jb2xvdXIoZ3JleS0zKTtcclxuXHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xyXG5cdH1cclxuXHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxufVxyXG4uc3BsaXQtc2VjdGlvbiB7XHJcblx0Ym9yZGVyOiBub25lO1xyXG59XHJcblxyXG4udXBsb2FkLWFycm93LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHR3aWR0aDogMjAlO1xyXG59XHJcblxyXG4uaWNvbi0tdXBsb2FkLWFycm93IHtcclxuXHRiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoYmx1ZSk7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRsaW5lLWhlaWdodDogMDtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG5cdFx0cGFkZGluZzogMjBweDtcclxuXHR9XHJcblx0Lmljb24tYXJyb3ctZG93biB7ZGlzcGxheTogbm9uZTt9XHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cdC5pcy1kZXNrdG9wICYge1xyXG5cdFx0Lmljb24tYXJyb3ctZG93biB7ZGlzcGxheTogYmxvY2s7fVxyXG5cdFx0LmZhLWNhbWVyYSB7ZGlzcGxheTogbm9uZTt9XHJcblx0fVxyXG5cdHBhdGgge1xyXG5cdFx0ZmlsbDogd2hpdGU7XHJcblx0fVxyXG59XHJcblxyXG4udXBsb2FkLXNlY3Rpb24tdGV4dCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0d2lkdGg6IDcwJTtcclxuXHQudXBsb2FkLWxhYmVsIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihibHVlKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0fVxyXG59XHJcblxyXG4udXBsb2FkLWZpbmlzaGVkLWJ1dHRvbiB7XHJcblx0LnVwbG9hZC1sYWJlbCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoYmx1ZSk7XHJcblx0fVxyXG59XHJcblxyXG4udGFibGV0LXVwbG9hZC10ZXh0IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdC5pcy1kZXNrdG9wICYge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lO1xyXG5cdH1cclxufVxyXG5cclxuLm1vYmlsZS11cGxvYWQtYWx0ZXJuYXRpdmUtdGV4dCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmhpZGUtdGFrZS1waG90by10ZXh0IHtcclxuXHQubW9iaWxlLXVwbG9hZC1hbHRlcm5hdGl2ZS10ZXh0IHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1x0XHJcblx0fVxyXG5cdC5tb2JpbGUtdXBsb2FkLXRleHQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5tb2JpbGUtdXBsb2FkLXRleHQsIC5tb2JpbGUtdXBsb2FkLWFsdGVybmF0aXZlLXRleHQge1xyXG5cdC5pcy1kZXNrdG9wICYge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbiNkcm9wLWFyZWEge1xyXG4gIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKGdvdnVrLWNvbG91cihibHVlKSwgMC44KTtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIHBhZGRpbmc6IDMwcHg7XHJcbiAvLyAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG5cdC8vIHBhZGRpbmc6IDQwcHg7XHJcbiAvLyAgfVxyXG4gIHAuZ292dWstYm9keSB7XHJcbiAgXHRtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICAuZHJhZy1kcm9wLXRleHQge1xyXG4gIFx0ZGlzcGxheTogbm9uZTtcclxuICBcdCAgLmlzLWRlc2t0b3AgJiB7XHJcbiAgXHRcdGRpc3BsYXk6IGlubGluZTtcclxuICBcdCAgfVxyXG4gIH1cclxufVxyXG4jZHJvcC1hcmVhLmhpZ2hsaWdodCB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xyXG4gIC5pY29uLS11cGxvYWQtYXJyb3cge1xyXG4gIFx0YmFja2dyb3VuZDogbGlnaHRlbigkZ292dWstZm9jdXMtY29sb3VyLCAxMCUpO1xyXG4gIH1cclxufVxyXG5cclxuI2dhbGxlcnksIC5kdW1teS1jb250YWluZXIge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuI2dhbGxlcnkgaW1nLCAuZHVtbXktY29udGFpbmVyIGltZyB7XHJcbiAgaW1hZ2Utb3JpZW50YXRpb246IGZyb20taW1hZ2U7XHRcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4vLyAjZmlsZUVsZW0ge1xyXG4vLyAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vIH1cclxuXHJcbi5zdmctY29udGFpbmVyLnNpbmdsZS1sZXR0ZXIge1xyXG5cdHN2ZyB7XHJcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdH1cclxufVxyXG5cclxucHJvZ3Jlc3Mge1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKGdyZXktMyk7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qIENocm9tZSAqL1xyXG5wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKGdyZXktMyk7XHJcbn1cclxuXHJcbnByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7IFxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcdFxyXG59XHJcblxyXG5wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xyXG59IiwiLmFwcC1jb29raWUtYmFubmVyIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcclxuXHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XHJcbiAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygzKTtcclxuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcclxuICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMyk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihkZXNhdHVyYXRlKGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIiksIDguNDYpLCA0Mi41NSk7XHJcbn1cclxuXHJcbi5hcHAtY29va2llLWJhbm5lcl9fbWVzc2FnZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcclxufVxyXG5cclxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XHJcbiAgLmFwcC1jb29raWUtYmFubmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBd0NZRSxBQU5BLFdBTVcsRUtKWCxDQUFDLENMRlc7RUhTWixXQUFXLEV2QkxXLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVTtFdUJNOUMsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0NHUGpDOztBVlNHLG9MQUFvTDtBQUVwTCxVQUFVO0VBQ1IsV0FBVyxFQUFFLEtBQUs7RUFDbEIsR0FBRyxFVkVDLDRDQUFrQztF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 */
