@import url("https://fonts.googleapis.com/css?family=Roboto&display=swap");
@import url("https://fonts.googleapis.com/css?family=Roboto+Slab&display=swap");

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

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

.govuk-link:focus, a:focus {
    outline-offset: 0;
}

.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: "roboto", 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%;
}

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

.govuk-heading-xl {
    color: #0b0c0c;
    font-family: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: #000;
    font-family: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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 {
    padding-top: 20px;
    padding-bottom: 20px;
    display: block;
}

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

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

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

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

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

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

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

.govuk-accordion {
    margin-bottom: 20px;
}

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

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

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

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

.govuk-accordion__section-button {
    font-family: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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%;
    }
}

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

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

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

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

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

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

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

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

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

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

.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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 5px;
}

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

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

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

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

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

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

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

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

.govuk-tabs__tab {
    font-family: "roboto", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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: "roboto", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    display: block;
    padding: 10px 15px;
}

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

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

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

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

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

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

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

.govuk-table {
    font-family: "roboto", 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", "roboto", 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: "roboto", 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: "roboto", 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: "roboto", 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;
    }
}

.app-step-nav-header {
    position: relative;
    padding: 10px;
    background: #f8f8f8;
    border-top: solid 1px #bfc1c3;
    border-bottom: solid 1px #bfc1c3;
}

@media (min-width: 40.0625em) {
    .app-step-nav-header {
        padding: 15px;
    }
}

.app-step-nav-header__part-of {
    font-family: "roboto", 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;
    display: block;
    padding-bottom: 0.2em;
}

@media print {
    .app-step-nav-header__part-of {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav-header__part-of {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav-header__part-of {
        font-size: 14pt;
        line-height: 1.2;
    }
}

.app-step-nav-header__title {
    font-family: "roboto", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
}

@media print {
    .app-step-nav-header__title {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-step-nav-header__title {
        font-size: 18pt;
        line-height: 1.15;
    }
}

.app-step-nav-related {
    border-top: 2px solid #005ea5;
    margin-bottom: 30px;
}

.app-step-nav-related__heading {
    font-family: "roboto", 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: 15px;
    margin-bottom: 10px;
}

@media print {
    .app-step-nav-related__heading {
        font-family: sans-serif;
    }
}

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

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

.app-step-nav-related__links {
    font-family: "roboto", 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;
    margin: 0;
    padding: 0;
}

@media print {
    .app-step-nav-related__links {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav-related__links {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav-related__links {
        font-size: 14pt;
        line-height: 1.2;
    }
}

.app-step-nav-related--singular {
    margin-bottom: 13px;
}

.app-step-nav-related--singular .app-step-nav-related__heading {
    font-family: "roboto", 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: 20px;
}

@media print {
    .app-step-nav-related--singular .app-step-nav-related__heading {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-step-nav-related--singular .app-step-nav-related__heading {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.app-step-nav-related--singular .app-step-nav-related__pretitle {
    margin-bottom: 5px;
}

.app-step-nav-related__pretitle {
    display: block;
    margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
    .app-step-nav-related__pretitle {
        margin-bottom: 5px;
    }
}

.app-step-nav-related__links {
    list-style: none;
}

.app-step-nav-related__link-item {
    margin-top: 15px;
}

@media (min-width: 40.0625em) {
    .app-step-nav-related__link-item {
        margin-top: 5px;
    }
}

.app-step-nav {
    font-family: "roboto", 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: 30px;
}

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

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

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

@media (min-width: 40.0625em) {
    .app-step-nav.app-step-nav--large {
        margin-bottom: 60px;
    }
}

.app-step-nav__controls {
    padding: 3px 3px 0 0;
    text-align: right;
}

.app-step-nav__button {
    color: #005ea5;
    cursor: pointer;
    background: none;
    border: 0;
    margin: 0;
}

.app-step-nav__button::-moz-focus-inner {
    border: 0;
}

.app-step-nav__button--title {
    font-family: "roboto", 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: inline-block;
    padding: 0;
    text-align: left;
    color: #0b0c0c;
}

@media print {
    .app-step-nav__button--title {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-step-nav__button--title {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.app-step-nav--large .app-step-nav__button--title {
    font-family: "roboto", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
}

@media print {
    .app-step-nav--large .app-step-nav__button--title {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__button--title {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav--large .app-step-nav__button--title {
        font-size: 18pt;
        line-height: 1.15;
    }
}

.app-step-nav__button--controls {
    font-family: "roboto", 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;
    position: relative;
    z-index: 1;
    padding: 0.5em 0;
    text-decoration: underline;
}

@media print {
    .app-step-nav__button--controls {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav__button--controls {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.42857;
    }
}

@media print {
    .app-step-nav__button--controls {
        font-size: 12pt;
        line-height: 1.2;
    }
}

.app-step-nav__button--controls:hover {
    color: #2b8cc4;
}

.app-step-nav--large .app-step-nav__button--controls {
    font-family: "roboto", 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 {
    .app-step-nav--large .app-step-nav__button--controls {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__button--controls {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav--large .app-step-nav__button--controls {
        font-size: 14pt;
        line-height: 1.2;
    }
}

.app-step-nav__steps {
    padding: 0;
    margin: 0;
}

.app-step-nav__step {
    position: relative;
    padding-left: 45px;
    list-style: none;
}

.app-step-nav__step:after {
    content: "";
    position: absolute;
    z-index: 2;
    width: 0;
    height: 100%;
    border-left: solid 2px #bfc1c3;
    background: #fff;
    left: 0;
    margin-left: 12px;
    top: 15px;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__step {
        padding-left: 60px;
    }
    .app-step-nav--large .app-step-nav__step:after {
        left: 0;
        margin-left: 16px;
        border-width: 3px;
        top: 30px;
    }
}

.app-step-nav__step:last-child:before {
    content: "";
    position: absolute;
    z-index: 6;
    bottom: 0;
    left: 0;
    margin-left: 6.5px;
    width: 13px;
    height: 0;
    border-bottom: solid 2px #bfc1c3;
}

.app-step-nav__step:last-child:after {
    height: -webkit-calc(100% - 15px);
    height: calc(100% - 15px);
}

.app-step-nav__step:last-child .app-step-nav__help:after {
    height: 100%;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__step:last-child:before {
        margin-left: 8.75px;
        width: 17.5px;
        border-width: 3px;
    }
    .app-step-nav--large .app-step-nav__step:last-child:after {
        height: calc(100% - 30px);
    }
}

.app-step-nav__step--active .app-step-nav__circle--number,
.app-step-nav__step--active .app-step-nav__help:after,
.app-step-nav__step--active .app-step-nav__substep:after,
.app-step-nav__step--active:after,
.app-step-nav__step--active:last-child:before {
    border-color: #0b0c0c;
}

.app-step-nav__circle {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    z-index: 5;
    top: 15px;
    left: 0;
    width: 26px;
    height: 26px;
    color: #0b0c0c;
    background: #fff;
    border-radius: 100px;
    text-align: center;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle {
        top: 30px;
        width: 35px;
        height: 35px;
    }
}

.app-step-nav__circle--number {
    font-family: "roboto", 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;
    line-height: 23px;
    border: solid 2px #bfc1c3;
}

@media print {
    .app-step-nav__circle--number {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav__circle--number {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav__circle--number {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav__circle--number {
        font-size: 16px;
        line-height: 23px;
    }
}

.app-step-nav--large .app-step-nav__circle--number {
    font-family: "roboto", 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;
    line-height: 23px;
}

@media print {
    .app-step-nav--large .app-step-nav__circle--number {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--number {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav--large .app-step-nav__circle--number {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--number {
        font-size: 19px;
        line-height: 30px;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--number {
        border-width: 3px;
    }
}

.app-step-nav__circle--logic {
    font-family: "roboto", 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;
    line-height: 28px;
}

@media print {
    .app-step-nav__circle--logic {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav__circle--logic {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav__circle--logic {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav__circle--logic {
        font-size: 16px;
        line-height: 28px;
    }
}

.app-step-nav--large .app-step-nav__circle--logic {
    font-family: "roboto", 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;
    line-height: 28px;
}

@media print {
    .app-step-nav--large .app-step-nav__circle--logic {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--logic {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav--large .app-step-nav__circle--logic {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--logic {
        font-size: 19px;
        line-height: 34px;
    }
}

.app-step-nav__circle-inner {
    float: right;
    min-width: 100%;
}

.app-step-nav__circle-background {
    text-shadow: 0 -0.1em 0 #fff, 0.1em 0 0 #fff, 0 0.1em 0 #fff, -0.1em 0 0 #fff;
}

.app-step-nav__header {
    padding: 15px 0;
    border-top: solid 2px #dee0e2;
}

.app-step-nav--active .app-step-nav__header {
    cursor: pointer;
}

.app-step-nav__header:hover .app-step-nav__button,
.app-step-nav__header:hover .app-step-nav__circle {
    color: #005ea5;
}

.app-step-nav__header:hover .app-step-nav__toggle-link {
    text-decoration: underline;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__header {
        padding: 30px 0;
    }
}

.app-step-nav__title {
    font-family: "roboto", 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;
    line-height: 1.4;
    margin: 0;
}

@media print {
    .app-step-nav__title {
        font-family: sans-serif;
    }
}

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

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

@media (min-width: 40.0625em) {
    .app-step-nav__title {
        font-size: 19px;
        line-height: 1.4;
    }
}

.app-step-nav--large .app-step-nav__title {
    font-family: "roboto", 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;
    line-height: 1.4;
}

@media print {
    .app-step-nav--large .app-step-nav__title {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-step-nav--large .app-step-nav__title {
        font-size: 14pt;
        line-height: 1.15;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__title {
        font-size: 24px;
        line-height: 1.4;
    }
}

.app-step-nav__toggle-link {
    font-family: "roboto", 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;
    line-height: 1.2;
    display: block;
    color: #005ea5;
}

@media print {
    .app-step-nav__toggle-link {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-step-nav__toggle-link {
        font-size: 14pt;
        line-height: 1.2;
    }
}

.app-step-nav--large .app-step-nav__toggle-link {
    font-family: "roboto", 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;
    line-height: 1.2;
}

@media print {
    .app-step-nav--large .app-step-nav__toggle-link {
        font-family: sans-serif;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__toggle-link {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.25;
    }
}

@media print {
    .app-step-nav--large .app-step-nav__toggle-link {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__toggle-link {
        font-size: 16px;
        line-height: 1.2;
    }
}

.app-step-nav__panel {
    font-family: "roboto", 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;
    line-height: 1.25;
}

@media print {
    .app-step-nav__panel {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-step-nav__panel {
        font-size: 14pt;
        line-height: 1.2;
    }
}

.js-enabled .app-step-nav__panel.js-hidden {
    display: none;
}

@media (min-width: 40.0625em) {
    .app-step-nav__panel {
        font-size: 16px;
    }
}

.app-step-nav--large .app-step-nav__panel {
    font-family: "roboto", 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 {
    .app-step-nav--large .app-step-nav__panel {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-step-nav--large .app-step-nav__panel {
        font-size: 14pt;
        line-height: 1.15;
    }
}

.app-step-nav__heading,
.app-step-nav__paragraph {
    padding-bottom: 15px;
    margin: 0;
    font-size: inherit;
}

.app-step-nav__heading + .app-step-nav__list,
.app-step-nav__paragraph + .app-step-nav__list {
    margin-top: -5px;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__heading + .app-step-nav__list,
    .app-step-nav--large .app-step-nav__paragraph + .app-step-nav__list {
        margin-top: -15px;
    }
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__heading,
    .app-step-nav--large .app-step-nav__paragraph {
        padding-bottom: 30px;
    }
}

.app-step-nav__heading {
    font-weight: bold;
}

.app-step-nav__list {
    padding: 0 0 10px;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__list {
        padding-bottom: 20px;
    }
}

.app-step-nav__list--choice {
    margin-left: 20px;
    list-style: disc;
}

.app-step-nav__list--choice .app-step-nav__list-item--active:before {
    left: -45px;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__list--choice .app-step-nav__list-item--active:before {
        left: -80px;
    }
}

.app-step-nav__list-item {
    list-style: none;
    margin-bottom: 10px;
}

.app-step-nav__list-item--active {
    position: relative;
}

.app-step-nav__list-item--active:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    position: absolute;
    z-index: 5;
    top: 0.6em;
    left: -45px;
    margin-left: 5px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: #0b0c0c;
    border: solid 2px #fff;
    border-radius: 100px;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__list-item--active:before {
        left: -60px;
        margin-left: 9.5px;
    }
}

.app-step-nav__list-item--active .app-step-nav__link {
    color: #0b0c0c;
    text-decoration: none;
}

.app-step-nav__list-item--active .app-step-nav__link:active,
.app-step-nav__list-item--active .app-step-nav__link:link,
.app-step-nav__list-item--active .app-step-nav__link:visited {
    color: #0b0c0c;
}

.app-step-nav__context {
    display: inline-block;
    font-weight: normal;
    color: #6f777b;
}

.app-step-nav__context:before {
    content: " \2013\00a0";
}

.app-step-nav__help {
    position: relative;
    padding: 15px 0;
    border-top: solid 2px #dee0e2;
}

.app-step-nav__help:after {
    content: "";
    position: absolute;
    z-index: 2;
    width: 0;
    height: 100%;
    border-left: dotted 2px #bfc1c3;
    background: #fff;
    left: 0;
    margin-left: 12px;
    z-index: 3;
    top: 0;
    left: -45px;
    height: calc(100% + 30px);
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__help:after {
        left: 0;
        margin-left: 16px;
        border-width: 3px;
        left: -60px;
        height: calc(100% + 30px + 15px);
    }
}

.app-step-nav__help-link {
    text-decoration: none;
    font-weight: bold;
}

.app-step-nav__help-link:hover {
    text-decoration: underline;
}

.app-step-nav__substep {
    position: relative;
    padding-top: 15px;
    border-top: solid 2px #dee0e2;
}

.app-step-nav__substep:after {
    content: "";
    position: absolute;
    z-index: 2;
    width: 0;
    height: 100%;
    border-left: solid 2px #bfc1c3;
    background: #fff;
    left: 0;
    margin-left: 12px;
    z-index: 3;
    top: 0;
    left: -45px;
}

@media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__substep {
        padding-top: 30px;
    }
    .app-step-nav--large .app-step-nav__substep:after {
        left: 0;
        margin-left: 16px;
        border-width: 3px;
        left: -60px;
    }
}

.app-step-nav__substep--optional:after {
    border-left-style: dotted;
}

.app-task-list {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
}

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

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

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

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

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

.app-task-list__section-number {
    display: table-cell;
}

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

.app-task-list__items {
    font-family: "roboto", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 40px;
    list-style: none;
    padding-left: 0;
}

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

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

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

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

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

.app-task-list__item {
    border-bottom: 1px solid #bfc1c3;
    margin-bottom: 0 !important;
    padding-top: 10px;
    padding-bottom: 10px;
}

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

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

.app-task-list__task-name {
    display: block;
}

@media (min-width: 28.125em) {
    .app-task-list__task-name {
        float: left;
        width: 75%;
    }
}

.app-task-list__task-completed {
    margin-top: 10px;
    margin-bottom: 5px;
}

@media (min-width: 28.125em) {
    .app-task-list__task-completed {
        float: right;
        margin-top: 0;
        margin-bottom: 0;
    }
}

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

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

.app-cookie-banner {
    font-family: "roboto", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    color: #0b0c0c;
    box-sizing: border-box;
    width: 100%;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    background-color: #d5e8f3;
}

@media print {
    .app-cookie-banner {
        font-family: sans-serif;
    }
}

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

@media print {
    .app-cookie-banner {
        font-size: 14pt;
        line-height: 1.2;
    }
}

@media print {
    .app-cookie-banner {
        color: #000000;
    }
}

.app-cookie-banner__message {
    margin: 0;
    max-width: 960px;
    margin: 0 15px;
}

@media (min-width: 40.0625em) {
    .app-cookie-banner__message {
        margin: 0 30px;
    }
}

@media (min-width: 1020px) {
    .app-cookie-banner__message {
        margin: 0 auto;
    }
}

@media print {
    .app-cookie-banner {
        display: none !important;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fYXNzZXRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbXBhdGliaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19pZTguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb2xvdXJzLXBhbGV0dGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29sb3Vycy1vcmdhbmlzYXRpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbG91cnMtYXBwbGllZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NvbG91ci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX21lYXN1cmVtZW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19leHBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2ZvbnQtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19pZmYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9faW1hZ2UtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZGV2aWNlLXBpeGVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvY3VzYWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvbnQtZmFjZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fbGlua3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdmVuZG9yL19zYXNzLW1xLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fc2hhcGUtYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fbGlzdHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL190ZW1wbGF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2Zvcm0tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fbWFpbi13cmFwcGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fd2lkdGgtY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9hY2NvcmRpb24vX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYmFjay1saW5rL19iYWNrLWxpbmsuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYnV0dG9uL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2NoZWNrYm94ZXMvX2NoZWNrYm94ZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2Vycm9yLW1lc3NhZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpZWxkc2V0L19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGludC9faGludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvbGFiZWwvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9jaGFyYWN0ZXItY291bnQvX2NoYXJhY3Rlci1jb3VudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19zdW1tYXJ5LWxpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2RhdGUtaW5wdXQvX2RhdGUtaW5wdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2lucHV0L19pbnB1dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZGV0YWlscy9fZGV0YWlscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZXJyb3Itc3VtbWFyeS9fZXJyb3Itc3VtbWFyeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvX2ZpbGUtdXBsb2FkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGVhZGVyL19oZWFkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2luc2V0LXRleHQvX2luc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3BhbmVsL19wYW5lbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvcGhhc2UtYmFubmVyL19waGFzZS1iYW5uZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RhZy9fdGFnLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWJzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9yYWRpb3MvX3JhZGlvcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvc2VsZWN0L19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3NraXAtbGluay9fc2tpcC1saW5rLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWJsZS9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RleHRhcmVhL190ZXh0YXJlYS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvd2FybmluZy10ZXh0L193YXJuaW5nLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL193aWR0aC5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1uYXZpZ2F0aW9uLnNjc3MiLCJwYXR0ZXJucy9fdGFzay1saXN0LnNjc3MiLCJwYXR0ZXJucy9fcmVsYXRlZC1pdGVtcy5zY3NzIiwiY29tcG9uZW50cy9fY29va2llLWJhbm5lci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGdsb2JhbCBzdHlsZXMgZm9yIDxhPiBhbmQgPHA+IHRhZ3NcbiRnb3Z1ay1nbG9iYWwtc3R5bGVzOiB0cnVlO1xuXG4vLyBJbXBvcnQgR09WLlVLIEZyb250ZW5kXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2FsbFwiO1xuXG4vLyBQYXR0ZXJucyB0aGF0IGFyZW4ndCBpbiBGcm9udGVuZFxuQGltcG9ydCBcInBhdHRlcm5zL3N0ZXAtYnktc3RlcC1uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwicGF0dGVybnMvdGFzay1saXN0XCI7XG5AaW1wb3J0IFwicGF0dGVybnMvcmVsYXRlZC1pdGVtc1wiO1xuXG4vLyBDb21wb25lbnRzIHRoYXQgYXJlbid0IGluIEZyb250ZW5kXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb29raWUtYmFubmVyXCI7XG5cbi8vIEFkZCBleHRyYSBzdHlsZXMgaGVyZSwgb3IgcmUtb3JnYW5pc2UgdGhlIFNhc3MgZmlsZXMgaW4gd2hpY2hldmVyIHdheSBtYWtlcyBtb3N0IHNlbnNlIHRvIHlvdVxuIiwiQGltcG9ydCBcInNldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcInRvb2xzL2FsbFwiO1xuQGltcG9ydCBcImhlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb3JlL2FsbFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsbFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FsbFwiO1xuQGltcG9ydCBcIm92ZXJyaWRlcy9hbGxcIjtcbiIsIi8vIFRoZSBvcmRlciB3ZSBpbXBvcnQgc2V0dGluZ3MgaW4gaXMgaW1wb3J0YW50LCBhcyBzb21lIHNldHRpbmdzIGZpbGVzIHJlbHkgb25cbi8vIG90aGVyc1xuXG5AaW1wb3J0IFwiYXNzZXRzXCI7XG5cbkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuQGltcG9ydCBcImllOFwiO1xuXG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuXG5AaW1wb3J0IFwiY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1hcHBsaWVkXCI7XG5cbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwibWVhc3VyZW1lbnRzXCI7XG5cbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvYXNzZXRzXG4vLy8vXG5cbi8vLyBQYXRoIHRvIHRoZSBhc3NldHMgZGlyZWN0b3J5LCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbWFnZXMgYW5kIGZvbnRzIHN1YmRpcmVjdG9yaWVzIGxpdmUuIFlvdVxuLy8vIHdpbGwgbmVlZCB0byBtYWtlIHRoaXMgZGlyZWN0b3J5IGF2YWlsYWJsZSB2aWEgeW91ciBhcHBsaWNhdGlvbiDigJMgc2VlIHRoZVxuLy8vIFJFQURNRSBmb3IgZGV0YWlscy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1hc3NldHMtcGF0aDogXCIvYXNzZXRzL1wiICFkZWZhdWx0O1xuXG4vLy8gUGF0aCB0byB0aGUgaW1hZ2VzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBmb250cyBmb2xkZXIsIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udHMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1mb250cy9cIiAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBpbWFnZSBVUkwgZnVuY3Rpb25cbi8vL1xuLy8vIElmIHRoZSBidWlsdC1pbiBpbWFnZSBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiAnaW1hZ2UtdXJsJztcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b20gYXNzZXQgaGFuZGxpbmdcbi8vL1xuLy8vICAgQGZ1bmN0aW9uIG15LXVybC1oYW5kbGVyKCRmaWxlbmFtZSkge1xuLy8vICAgICAvLyBTb21lIGN1c3RvbSBVUkwgaGFuZGxpbmdcbi8vLyAgICAgQHJldHVybiB1cmwoJ2V4YW1wbGUuanBnJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdteS11cmwtaGFuZGxlcic7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBmb250IFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGZvbnQgVVJMIGhlbHBlciBkb2VzIG5vdCBtZWV0IHlvdXIgbmVlZHMsIHlvdSBjYW4gc3BlY2lmeVxuLy8vIHRoZSBuYW1lIG9mIGEgY3VzdG9tIGhhbmRsZXIg4oCTIGVpdGhlciBidWlsdCBpbiBvciBieSB3cml0aW5nIHlvdXIgb3duXG4vLy8gZnVuY3Rpb24uXG4vLy9cbi8vLyBJZiB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gaGFuZGxlciwgZW5zdXJlIHRoYXQgaXQgcmV0dXJucyBhIHN0cmluZyB3cmFwcGVkXG4vLy8gd2l0aCBgdXJsKClgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBSYWlscyBhc3NldCBoYW5kbGluZ1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnZm9udC11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS53b2ZmJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQ29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSByZXBvcyAoZ292dWtfZWxlbWVudHMsIGdvdnVrX2Zyb250ZW5kX3Rvb2traXQgYW5kXG4vLy8gZ292dWtfdGVtcGxhdGUpIHNldHRpbmdzXG4vLy9cbi8vLyBXZSBkZWZhdWx0IHRoZXNlIHNldHRpbmdzIHRvIGB0cnVlYCBzbyB0aGF0IGlmIHRoZXkgYXJlIG1pc3NlZCB3ZSBvcHQgZm9yIGFcbi8vLyBtaWxkIHBlcmZvcm1hbmNlIGhpdCBvdmVyIGEgcG90ZW50aWFsIGJyb2tlbiBleHBlcmllbmNlIGZvciB0aGUgZW5kLXVzZXIuXG4vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29tcGF0aWJpbGl0eVxuLy8vL1xuXG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXRcbi8vL1xuLy8vIFRydWUgaWYgdXNlZCBpbiBhIHByb2plY3QgdGhhdCBhbHNvIGluY2x1ZGVzIGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtmcm9udGVuZHRvb2xraXQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ29tcGF0aWJpbGl0eSBNb2RlOiBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZVxuLy8vXG4vLy8gVHJ1ZSBpZiB1c2VkIGluIGEgcHJvamVjdCB0aGF0IGFsc28gaW5jbHVkZXMgYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzXG4vLy9cbi8vLyBUcnVlIGlmIHVzZWQgaW4gYSBwcm9qZWN0IHRoYXQgYWxzbyBpbmNsdWRlcyBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgUHJvZHVjdCBNYXBcbi8vL1xuLy8vIE1hcHMgcHJvZHVjdCBuYW1lcyB0byB0aGVpciBzZXR0aW5ncyB0aGF0IHdlIGNhbiB1c2UgdG8gbG9va3VwIHN0YXRlcyBmcm9tXG4vLy8gd2l0aGluIHRoZSBgQGdvdnVrLWNvbXBhdGliaWxpdHlgIG1peGluLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstY29tcGF0aWJpbGl0eTogKFxuICBnb3Z1a19mcm9udGVuZF90b29sa2l0OiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCxcbiAgZ292dWtfdGVtcGxhdGU6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUsXG4gIGdvdnVrX2VsZW1lbnRzOiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzLFxuKTtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvZ2xvYmFsLXN0eWxlc1xuLy8vL1xuXG4vLy8gSW5jbHVkZSAnZ2xvYmFsJyBzdHlsZXNcbi8vL1xuLy8vIFdoZXRoZXIgdG8gc3R5bGUgcGFyYWdyYXBocyAoYDxwPmApIGFuZCBsaW5rcyAoYDxhPmApIHdpdGhvdXQgZXhwbGljaXRseVxuLy8vIGhhdmluZyB0byBhcHBseSB0aGUgYGdvdnVrLWJvZHlgIGFuZCBgZ292dWstbGlua2AgY2xhc3Nlcy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2llOFxuLy8vL1xuXG4vLy8gV2hldGhlciB0aGUgc3R5bGVzaGVldCBiZWluZyBidWlsdCBpcyB0YXJnZXRpbmcgSW50ZXJuZXQgRXhwbG9yZXIgOC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaXMtaWU4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHRvIHVzZSBhcyB0aGUgdGFyZ2V0IHdoZW4gcmFzdGVyaXppbmcgbWVkaWFcbi8vLyBxdWVyaWVzXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaWU4LWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL21lZGlhLXF1ZXJpZXNcbi8vLy9cblxuLy8vIEJyZWFrcG9pbnQgZGVmaW5pdGlvbnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1icmVha3BvaW50czogKFxuICBtb2JpbGU6ICAzMjBweCxcbiAgdGFibGV0OiAgNjQxcHgsXG4gIGRlc2t0b3A6IDc2OXB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBhY3RpdmUgYnJlYWtwb2ludCBpbiB0b3AtcmlnaHQgY29ybmVyLlxuLy8vXG4vLy8gT25seSB1c2UgdGhpcyBkdXJpbmcgbG9jYWwgZGV2ZWxvcG1lbnQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXNob3ctYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbi8vLyBDb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCAkY29sb3VyIC0gUmVwcmVzZW50YXRpb24gZm9yIHRoZSBnaXZlbiAkY29sb3VyLCB3aGVyZSAkY29sb3VyIGlzIHRoZVxuLy8vICAgZnJpZW5kbHkgbmFtZSBmb3IgdGhlIGNvbG91ciAoZS5nLiBcInJlZFwiOiAjZmYwMDAwKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzOiAoXG4gIFwicHVycGxlXCI6ICMyZTM1OGIsXG4gIFwibGlnaHQtcHVycGxlXCI6ICM2ZjcyYWYsXG4gIFwiYnJpZ2h0LXB1cnBsZVwiOiAjOTEyYjg4LFxuICBcInBpbmtcIjogI2Q1Mzg4MCxcbiAgXCJsaWdodC1waW5rXCI6ICNmNDk5YmUsXG4gIFwicmVkXCI6ICNiMTBlMWUsXG4gIFwiYnJpZ2h0LXJlZFwiOiAjZGYzMDM0LFxuICBcIm9yYW5nZVwiOiAjZjQ3NzM4LFxuICBcImJyb3duXCI6ICNiNTg4NDAsXG4gIFwieWVsbG93XCI6ICNmZmJmNDcsXG4gIFwibGlnaHQtZ3JlZW5cIjogIzg1OTk0YixcbiAgXCJncmVlblwiOiAjMDA2NDM1LFxuICBcInR1cnF1b2lzZVwiOiAjMjhhMTk3LFxuICBcImxpZ2h0LWJsdWVcIjogIzJiOGNjNCxcbiAgXCJibHVlXCI6ICMwMDVlYTUsXG5cbiAgXCJibGFja1wiOiAjMGIwYzBjLFxuICBcImdyZXktMVwiOiAjNmY3NzdiLFxuICBcImdyZXktMlwiOiAjYmZjMWMzLFxuICBcImdyZXktM1wiOiAjZGVlMGUyLFxuICBcImdyZXktNFwiOiAjZjhmOGY4LFxuICBcIndoaXRlXCI6ICNmZmZmZmZcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIE9yZ2FuaXNhdGlvbiBjb2xvdXJzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRvcmdhbmlzYXRpb24uY29sb3VyIC0gQ29sb3VyIGZvciB0aGUgZ2l2ZW4gYCRvcmdhbmlzYXRpb25gXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXItd2Vic2FmZSAtIFdlYnNhZmUgY29sb3VyIGZvciB0aGUgZ2l2ZW5cbi8vLyAgIGAkb3JnYW5pc2F0aW9uYC4gV2UgdXNlIGB3ZWJzYWZlYCB0byBtZWFuIHN0cm9uZyBlbm91Z2ggY29udHJhc3QgYWdhaW5zdFxuLy8vICAgd2hpdGUgdG8gYmUgdXNlZCBmb3IgY29weSBhbmQgbWVldCB0aGUgQUFBIChsYXJnZSB0ZXh0KSBhbmQgQUEgKHNtYWxsZXJcbi8vLyAgIGNvcHkpIFdDQUcgZ3VpZGVsaW5lcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnM6IChcbiAgXCJhdHRvcm5leS1nZW5lcmFscy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzlmMTg4OCxcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwM2E4OFxuICApLFxuICBcImNhYmluZXQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDVhYmIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJjaXZpbC1zZXJ2aWNlXCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1idXNpbmVzcy1pbm5vdmF0aW9uLXNraWxsc1wiOiAoXG4gICAgY29sb3VyOiAjMDAzNDc5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY29tbXVuaXRpZXMtYW5kLWxvY2FsLWdvdmVybm1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwODU3ZSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODM2ZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWN1bHR1cmUtbWVkaWEtc3BvcnRcIjogKFxuICAgIGNvbG91cjogI2Q0MDA3MixcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwMzE1NVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWVkdWNhdGlvblwiOiAoXG4gICAgY29sb3VyOiAjMDAzYTY5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3Y2E5XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZW52aXJvbm1lbnQtZm9vZC1ydXJhbC1hZmZhaXJzXCI6IChcbiAgICBjb2xvdXI6ICMwMGEzM2IsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg5MzhcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLWRldmVsb3BtZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDI4NzgsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDVlOWFcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLXRyYWRlXCI6IChcbiAgICBjb2xvdXI6ICNjZjEwMmQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci10cmFuc3BvcnRcIjogKFxuICAgIGNvbG91cjogIzAwNmM1NixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM5ODM3M1xuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXdvcmstcGVuc2lvbnNcIjogKFxuICAgIGNvbG91cjogIzAwYmViNyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODA3YlxuICApLFxuICBcImRlcGFydG1lbnQtb2YtZW5lcmd5LWNsaW1hdGUtY2hhbmdlXCI6IChcbiAgICBjb2xvdXI6ICMwMDlkZGIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMyYjdjYWNcbiAgKSxcbiAgXCJkZXBhcnRtZW50LW9mLWhlYWx0aFwiOiAoXG4gICAgY29sb3VyOiAjMDBhZDkzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzZlXG4gICksXG4gIFwiZm9yZWlnbi1jb21tb253ZWFsdGgtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDNlNzQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDZlOTdcbiAgKSxcbiAgXCJnb3Zlcm5tZW50LWVxdWFsaXRpZXMtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICAjOTMyNWIyXG4gICksXG4gIFwiaG0tZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA3NmMwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiaG0tcmV2ZW51ZS1jdXN0b21zXCI6IChcbiAgICBjb2xvdXI6ICMwMDkzOTAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg2NzBcbiAgKSxcbiAgXCJobS10cmVhc3VyeVwiOiAoXG4gICAgY29sb3VyOiAjYWYyOTJlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjODMyMzIyXG4gICksXG4gIFwiaG9tZS1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzkzMjViMixcbiAgICBjb2xvdXItd2Vic2FmZTogIzk0NDBiMlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWRlZmVuY2VcIjogKFxuICAgIGNvbG91cjogIzRkMjk0MixcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWp1c3RpY2VcIjogKFxuICAgIGNvbG91cjogIzIzMWYyMCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm5vcnRoZXJuLWlyZWxhbmQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzZTU5OGNcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWFkdm9jYXRlLWdlbmVyYWwtZm9yLXNjb3RsYW5kXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtY29tbW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMzE3MDIzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMDA1ZjhmXG4gICksXG4gIFwib2ZmaWNlLW9mLXRoZS1sZWFkZXItb2YtdGhlLWhvdXNlLW9mLWxvcmRzXCI6IChcbiAgICBjb2xvdXI6ICM5YzEzMmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICNjMjM5NWRcbiAgKSxcbiAgXCJzY290bGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWM4YVxuICApLFxuICBcInVrLWV4cG9ydC1maW5hbmNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDU3NDcsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ1ay10cmFkZS1pbnZlc3RtZW50XCI6IChcbiAgICBjb2xvdXI6ICNjODA2NTEsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ3YWxlcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogI2EzMzAzOCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzdhMjQyYVxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZW5lcmljXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEJyYW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyYW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gQ2FudmFzIGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGJ5IHRoZSBmb290ZXIgY29tcG9uZW50IGFuZCB0ZW1wbGF0ZSB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JleS0zXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXIgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBVc2UgJ3RydWUgYmxhY2snIHRvIGF2b2lkIHByaW50ZXJzIHVzaW5nIGNvbG91ciBpbmsgdG8gcHJpbnQgYm9keSB0ZXh0XG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcHJpbnQtdGV4dC1jb2xvdXI6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vLyBTZWNvbmRhcnkgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yICdtdXRlZCcgdGV4dCwgaGVscCB0ZXh0LCBldGMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIikgIWRlZmF1bHQ7XG5cbi8vLyBGb2N1cyBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIG91dGxpbmUgKGFuZCBiYWNrZ3JvdW5kLCB3aGVyZSBhcHByb3ByaWF0ZSkgd2hlbiBpbnRlcmFjdGl2ZVxuLy8vIGVsZW1lbnRzIChsaW5rcywgZm9ybSBjb250cm9scykgaGF2ZSBrZXlib2FyZCBmb2N1cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy1jb2xvdXI6IGdvdnVrLWNvbG91cihcInllbGxvd1wiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzZWQgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIEVuc3VyZSB0aGF0IHRoZSBjb250cmFzdCBiZXR3ZWVuIHRoZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG91ciBwYXNzZXNcbi8vLyBXQ0FHIExldmVsIEFBIGNvbnRyYXN0IHJlcXVpcmVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBFcnJvciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgdG8gaGlnaGxpZ2h0IGVycm9yIG1lc3NhZ2VzIGFuZCBmb3JtIGNvbnRyb2xzIGluIGFuIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZXJyb3ItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJyZWRcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcywga2V5bGluZXMgZXRjLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGZvcm0gaW5wdXRzIGFuZCBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gTGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFZpc2l0ZWQgbGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyICFkZWZhdWx0O1xuXG4vLy8gTGluayBob3ZlciBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2NvbG91clxuLy8vL1xuXG4vLy8gR2V0IGNvbG91clxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb2xvdXIgLSBOYW1lIG9mIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vICAgKGAkZ292dWstY29sb3Vyc2ApXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBuYW1lZCBjb2xvdXJcbi8vLyBAdGhyb3cgaWYgYCRjb2xvdXJgIGlzIG5vdCBhIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1jb2xvdXIoJGNvbG91cikge1xuICAkY29sb3VyOiBxdW90ZSgkY29sb3VyKTtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBjb2xvdXIgYCN7JGNvbG91cn1gXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWNvbG91cnMsICRjb2xvdXIpO1xufVxuXG4vLy8gR2V0IHRoZSBjb2xvdXIgZm9yIGEgZ292ZXJubWVudCBvcmdhbmlzYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3JnYW5pc2F0aW9uIC0gT3JnYW5pc2F0aW9uIG5hbWUsIGxvd2VyY2FzZSwgaHlwaGVuYXRlZFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdlYnNhZmUgW3RydWVdIC0gQnkgZGVmYXVsdCBhICd3ZWJzYWZlJyB2ZXJzaW9uIG9mIHRoZVxuLy8vICAgY29sb3VyIHdpbGwgYmUgcmV0dXJuZWQgd2hpY2ggbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIC4gSWYgeW91IHdhbnQgdG9cbi8vLyAgIHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiB5b3UgY2FuIHNldCB0aGlzIHRvIGBmYWxzZWAgYnV0IHlvdXIgc2hvdWxkXG4vLy8gICBlbnN1cmUgdGhhdCB5b3Ugc3RpbGwgbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIGZvciBhY2Nlc3NpYmlsaXR5IC0gZm9yXG4vLy8gICBleGFtcGxlLCBkb24ndCB1c2UgdGhlIG5vbi13ZWJzYWZlIHZlcnNpb24gZm9yIHRleHQuXG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvdXJ9IFJlcHJlc2VudGF0aW9uIG9mIGNvbG91ciBmb3Igb3JnYW5pc2F0aW9uXG4vLy8gQHRocm93IGlmIGAkb3JnYW5pc2F0aW9uYCBpcyBub3QgYSBrbm93biBvcmdhbmlzYXRpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstb3JnYW5pc2F0aW9uLWNvbG91cigkb3JnYW5pc2F0aW9uLCAkd2Vic2FmZTogdHJ1ZSkge1xuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIG9yZ2FuaXNhdGlvbiBgI3skb3JnYW5pc2F0aW9ufWBcIjtcbiAgfVxuXG4gICRvcmctY29sb3VyOiBtYXAtZ2V0KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pO1xuXG4gIEBpZiAoJHdlYnNhZmUgYW5kIG1hcC1oYXMta2V5KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG9yZy1jb2xvdXIsIGNvbG91ci13ZWJzYWZlKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXIpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3NwYWNpbmdcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlcy4gQWNjZXNzIHVzaW5nIGBnb3Z1ay1zcGFjaW5nKClgXG4vLy8gKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcG9pbnRzOiAoXG4gIDA6IDAsXG4gIDE6IDVweCxcbiAgMjogMTBweCxcbiAgMzogMTVweCxcbiAgNDogMjBweCxcbiAgNTogMjVweCxcbiAgNjogMzBweCxcbiAgNzogNDBweCxcbiAgODogNTBweCxcbiAgOTogNjBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZyBtYXBzXG4vLy9cbi8vLyBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcgdGhhdCBhZGFwdHNcbi8vLyBhY2NvcmRpbmcgdG8gdGhlIGJyZWFrcG9pbnRzIChzZWUgJ2hlbHBlcnMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxuLy8vIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUgdG8gc3RhbmRhcmRpc2UgcmVzcG9uc2l2ZSBzcGFjaW5nLlxuLy8vXG4vLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcbi8vLyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4vLy9cbi8vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxuLy8vIGBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmdgIG1peGlucyAoc2VlIGBoZWxwZXJzL3NwYWNpbmdgKS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlOiAoXG4gIDA6IChcbiAgICBudWxsOiAwLFxuICAgIHRhYmxldDogMFxuICApLFxuICAxOiAoXG4gICAgbnVsbDogNXB4LFxuICAgIHRhYmxldDogNXB4XG4gICksXG4gIDI6IChcbiAgICBudWxsOiAxMHB4LFxuICAgIHRhYmxldDogMTBweFxuICApLFxuICAzOiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDE1cHhcbiAgKSxcbiAgNDogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAyMHB4XG4gICksXG4gIDU6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjVweFxuICApLFxuICA2OiAoXG4gICAgbnVsbDogMjBweCxcbiAgICB0YWJsZXQ6IDMwcHhcbiAgKSxcbiAgNzogKFxuICAgIG51bGw6IDI1cHgsXG4gICAgdGFibGV0OiA0MHB4XG4gICksXG4gIDg6IChcbiAgICBudWxsOiAzMHB4LFxuICAgIHRhYmxldDogNTBweFxuICApLFxuICA5OiAoXG4gICAgbnVsbDogNDBweCxcbiAgICB0YWJsZXQ6IDYwcHhcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVhc3VyZW1lbnRzXG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZ2UgbGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFdpZHRoIG9mIG1haW4gY29udGFpbmVyXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcGFnZS13aWR0aDogOTYwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXAgb2YgZ3JpZCBjb2x1bW4gd2lkdGhzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcbiAgb25lLXRoaXJkOiAzMy4zMzMzJSxcbiAgb25lLWhhbGY6IDUwJSxcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXG4gIHRocmVlLXF1YXJ0ZXJzOiA3NSUsXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBoYWxmIHRoZSBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXItaGFsZjogJGdvdnVrLWd1dHRlciAvIDI7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gU3RhbmRhcmQgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vLyBXaWRlIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC13aWRlOiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9uIG1vYmlsZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1tb2JpbGU6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgTlRBICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yXG4vLy8gR09WLlVLKVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGE6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLy8gTGlzdCBvZiBmb250IGZhbWlsaWVzIHRvIHVzZSBpZiB1c2luZyB0aGUgJ3RhYnVsYXIgbnVtYmVycycgc3Vic2V0IG9mIE5UQVxuLy8vICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yIEdPVi5VSylcbi8vL1xuLy8vIEJlY2F1c2UgbnRhdGFidWxhcm51bWJlcnMgb25seSBpbmNsdWRlcyB0aGUgZGlnaXRzIDAtMTAsIGFsbCBvdGhlciBnbHlwaHNcbi8vLyB3aWxsICdmYWxsLXRocm91Z2gnIHRoZSBzdGFjayB0byBOVEEuXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LW50YS10YWJ1bGFyOiBcIm50YXRhYnVsYXJudW1iZXJzXCIsICRnb3Z1ay1mb250LWZhbWlseS1udGE7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktbnRhICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2Ugd2hlbiBkaXNwbGF5aW5nIHRhYnVsYXIgbnVtYmVyc1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyOiAkZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXIgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgd2VpZ2h0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IHdlaWdodCBmb3IgcmVndWxhciB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBib2xkIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtYm9sZDogNzAwICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBXaGV0aGVyIG9yIG5vdCB0byBkZWZpbmUgZm9udCBzaXplcyBpbiByZW0sIGltcHJvdmluZyBhY2Nlc3NpYmlsaXR5IGJ5XG4vLy8gYWxsb3dpbmcgdXNlcnMgdG8gYWRqdXN0IHRoZSBiYXNlIGZvbnQtc2l6ZS4gVGhpcyBpcyBjdXJyZW50bHkgb2ZmIGJ5XG4vLy8gZGVmYXVsdCwgYnV0IHdpbGwgYmUgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBwcm9qZWN0cyB0aGF0IGRvIG5vdCB1c2Vcbi8vLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuLy8vXG4vLy8gSWYgdGhpcyBpcyBlbmFibGVkLCB5b3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0ICRnb3Z1ay1yb290LWZvbnQtc2l6ZSBpcyBzZXRcbi8vLyBjb3JyZWN0bHkgZm9yIHlvdXIgcHJvamVjdFxuLy8vXG4vLy8gSWYgYW55IG9mIHRoZSBjb21wYXRpYmlsaXR5IHZhcmlhYmxlcyBhcmUgc2V0LCB0aGVuIGRlZmF1bHRcbi8vLyByZXNwb25zaXZlIHR5cG9ncmFwaHkgdG8gb2ZmLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW06IGlmKChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksIGZhbHNlLCB0cnVlKSAhZGVmYXVsdDtcblxuLy8vIFJvb3QgZm9udCBzaXplXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHJlbSBzaXplcyBmb3IgdGhlIHR5cG9ncmFwaHksIGFuZCBzaG91bGQgbWF0Y2ggdGhlXG4vLy8gX2VmZmVjdGl2ZV8gZm9udC1zaXplIG9mIHlvdXIgcm9vdCAob3IgaHRtbCkgZWxlbWVudC5cbi8vL1xuLy8vIElkZWFsbHkgeW91IHNob3VsZCBub3QgYmUgc2V0dGluZyB0aGUgZm9udC1zaXplIG9uIHRoZSBodG1sIG9yIHJvb3QgZWxlbWVudFxuLy8vIGluIG9yZGVyIHRvIGFsbG93IGl0IHRvIHNjYWxlIHdpdGggdXNlci1wcmVmZXJlbmNlLCBpbiB3aGljaCBjYXNlIHRoaXNcbi8vLyBzaG91bGQgYmUgc2V0IHRvIDE2cHguXG4vLy9cbi8vLyBJZiB5b3UgYXJlIGludGVncmF0aW5nIEZyb250ZW5kIGludG8gYW4gZXhpc3RpbmcgcHJvamVjdCB0aGF0IGFsc28gdXNlc1xuLy8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JVxuLy8vICgxMHB4KSBiYXNlIGZvbnQgc2l6ZSB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vIERpc2FibGUgaW5kZW50YXRpb24gbGludGluZyBpbiB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb25cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKGdldC1mdW5jdGlvbigkZ292dWstZm9udC11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstZm9udHMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbmRpdGlvbmFsbHkgaW5jbHVkZSBydWxlcyBvbmx5IGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIGNvbXBpbGluZyBhIHN0eWxlc2hlZXRcbi8vLyAgIHRoYXQgdGFyZ2V0cyBJRTggKGlmIGAkZ292dWstaXMtaWU4YCBpcyB0cnVlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBtaW4td2lkdGg6IDEwMHB4O1xuLy8vICAgICAvLyBTcGVjaWZ5IHdpZHRoIGZvciBJRTggb25seVxuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWlmLWllOCB7XG4gIEBpZiAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQ29uZGl0aW9uYWxseSBleGNsdWRlIHJ1bGVzIGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIG5vdCBjb21waWxpbmcgYVxuLy8vICAgc3R5bGVzaGVldCB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgZmFsc2UpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8vXG4vLy8gICAgIC8vIEVuaGFuY2UgZm9vIG9ubHkgZm9yIG1vZGVybiBicm93c2VycyAobm90IElFOClcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4vLy8gICAgICAgZm9udC1mYW1pbHk6IFwiQ29taWMgU2FucyBNU1wiLCBcIkN1cmx6IE1UXCIgY3Vyc2l2ZSwgc2Fucy1zZXJpZjtcbi8vLyAgICAgICBjb2xvcjogI0ZGNjlCNDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW5vdC1pZTgge1xuICBAaWYgbm90ICRnb3Z1ay1pcy1pZTgge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBTeW50YWN0aWMgc3VnYXIgYXJvdW5kIFNhc3MnIGJ1aWx0LWluIGBpZmAgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdCByZXF1aXJlXG4vLy8geW91IHRvIHBhc3MgYSB2YWx1ZSBmb3IgYCRpZi1mYWxzZWAuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjb25kaXRpb24gLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgdmFsdWUgb2YgYCRpZi10cnVlYFxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRpZi10cnVlIC0gVmFsdWUgdG8gcmV0dXJuIGlmIGAkY29uZGl0aW9uYCBpcyB0cnV0aHlcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVmFsdWUgb2YgYCRpZi10cnVlYCBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5LCBlbHNlIG51bGxcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gaWZmKCRjb25kaXRpb24sICRpZi10cnVlKSB7XG4gIEByZXR1cm4gaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLyBEaXNhYmxlIGluZGVudGF0aW9uIGxpbnRpbmcgaW4gdGhpcyBmaWxlIG9ubHlcbi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uXG5cbi8vLyBJbWFnZSBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGltYWdlLXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pIHRoZW5cbi8vLyBpdCB3aWxsIGJlIGNhbGxlZCwgb3RoZXJ3aXNlIGEgdXJsIHdpbGwgYmUgcmV0dXJuZWQgd2l0aCB0aGUgZmlsZW5hbWVcbi8vLyBhcHBlbmRlZCB0byB0aGUgaW1hZ2UgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSBGaWxlbmFtZSBmb3IgdGhlIGltYWdlIHRvIGxvYWRcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IFVSTCBmb3IgdGhlIGZpbGVuYW1lLCB3cmFwcGVkIGluIGB1cmwoKWBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstaW1hZ2UtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb25cbiAgICBhbmQgZnVuY3Rpb24tZXhpc3RzKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstaW1hZ2VzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbnRleHQtZm9udC1zaXplIC0gRm9udCBzaXplIG9mIGVsZW1lbnRcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiBlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZW0oJHZhbHVlLCAkY29udGV4dC1mb250LXNpemUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cbiAgQGlmICh1bml0bGVzcygkY29udGV4dC1mb250LXNpemUpKSB7XG4gICAgJGNvbnRleHQtZm9udC1zaXplOiAkY29udGV4dC1mb250LXNpemUgKiAxcHg7XG4gIH1cbiAgQHJldHVybiAkdmFsdWUgLyAkY29udGV4dC1mb250LXNpemUgKiAxZW07XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byByZW1cbi8vL1xuLy8vIFRoZSAkZ292dWstcm9vdC1mb250LXNpemUgKGRlZmluZWQgaW4gc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzKVxuLy8vIG11c3QgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGUgZm9udC1zaXplIG9mIHlvdXIgcm9vdCAoaHRtbCkgZWxlbWVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiByZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAvICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAqIDFyZW07XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJjb2xvdXJcIjtcbkBpbXBvcnQgXCJkZXZpY2UtcGl4ZWxzXCI7XG5AaW1wb3J0IFwiZm9jdXNhYmxlXCI7XG5AaW1wb3J0IFwiZm9udC1mYWNlc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcIm1lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJzaGFwZS1hcnJvd1wiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmlzdWFsbHktaGlkZGVuXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENsZWFyIGZsb2F0ZWQgY29udGVudCB3aXRoaW4gYSBjb250YWluZXIgdXNpbmcgYSBwc2V1ZG8gZWxlbWVudFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBNZWRpYSBxdWVyeSBmb3IgcmV0aW5hIGltYWdlcyAoZGV2aWNlLXBpeGVsLXJhdGlvKVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYXRpbyBbMl0gLSBEZXZpY2UgcGl4ZWwgcmF0aW9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCB3aWxsIGJlIG91dHB1dHRlZCB3aXRoaW4gdGhlIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUHJvdmlkaW5nIGEgQDJ4IGltYWdlIGZvciBzY3JlZW5zIHRoYXQgc3VwcG9ydCBpdFxuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNpbmcgYSBjdXN0b20gcmF0aW9cbi8vLyAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLnBuZ1wiKTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtMngucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oMykge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0zeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvKCRyYXRpbzogMikge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgbWluLXJlc29sdXRpb246ICN7KCRyYXRpbyo5Nil9ZHBpKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogI3skcmF0aW99ZHBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBGb2N1c2FibGUgaGVscGVyXG4vLy9cbi8vLyBQcm92aWRlcyBhbiBhZGRpdGlvbmFsIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpc1xuLy8vIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSBlbGVtZW50cyB3aGljaCB0aGVtc2VsdmVzIGhhdmUgc29tZSBiYWNrZ3JvdW5kXG4vLy8gb3IgYm9yZGVyLCBzdWNoIGFzIG1vc3QgZm9ybSBlbGVtZW50cy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgfVxufVxuXG4vLy8gRm9jdXNhYmxlIHdpdGggZmlsbCBoZWxwZXJcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSBhbmQgYmFja2dyb3VuZCBjb2xvdXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSB0ZXh0LWJhc2VkIGVsZW1lbnRzIHN1Y2hcbi8vLyBhcyBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUtZmlsbCB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLyBEaXNhYmxlcyBsaW50aW5nIGZvciB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY3NzLWNvbW1lbnRzLCBuby1kdXBsaWNhdGUtcHJvcGVydGllcywgcHJvcGVydHktc29ydC1vcmRlciwgaW5kZW50YXRpb25cblxuQGltcG9ydCBcIi4uL3Rvb2xzL2V4cG9ydHNcIjtcblxuLy8vIEZvbnQgRmFjZSAtIE5UQVxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgZm9udC1mYWNlIGRlY2xhcmF0aW9uIGZvciBOVEEgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1udGEge1xuICBAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvaGVscGVycy9mb250LWZhY2VcIikge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqL1xuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC0yYzAzN2NmN2UxLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LTJjMDM3Y2Y3ZTEtdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LWYzOGFkNDA0NTYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC00NThmOGVhODFjLXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLWZiMjY3NjQ2MmEtdjEuZW90XCIpO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1mYjI2NzY0NjJhLXYxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWEyNDUyY2I2NmYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWYzOGM3OTJhYzItdjEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhdGFidWxhcm51bWJlcnNcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNDk4ZWE4ZmZlMi12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC10YWJ1bGFyLTQ5OGVhOGZmZTItdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItODUxYjEwY2NkZC12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNjJjYzZmMGEyOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC10YWJ1bGFyLWI4OTIzOGQ4NDAtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItNzg0YzIxYWZiOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFBlcmNlbnRhZ2Ugd2lkdGhcbi8vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZ3JpZC13aWR0aCgka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZSAoYWxpYXMpXG4vLy9cbi8vLyBAYWxpYXMgZ292dWstZ3JpZC13aWR0aFxuLy8vIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgaW4gdjMuMCwgcmVwbGFjZWQgYnkgZ292dWstZ3JpZC13aWR0aFxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJGtleSkge1xuICBAcmV0dXJuIGdvdnVrLWdyaWQtd2lkdGgoJGtleSk7XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIHJvdyBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIHJvdyBjbGFzcyB3aXRoIGEgc3RhbmRhcmRpc2VkIG1hcmdpbi5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtcm93XSBDU1MgY2xhc3MgbmFtZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLXJvdyhcImFwcC1ncmlkXCIpO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZGVwcmVjYXRlZCBUbyBiZSByZW1vdmVkIGluIHYzLjAsIHJlcGxhY2VkIGJ5IHRoZSBnb3Z1ay1ncmlkLXJvdyBjbGFzc1xuXG5AbWl4aW4gZ292dWstZ3JpZC1yb3coJGNsYXNzOiBcImdvdnVrLWdyaWQtcm93XCIpIHtcbiAgLiN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiB3aXRoIHN0YW5kYXJkIGd1dHRlciBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuLy8vXG4vLy8gSWYgYSBgJGNsYXNzYCBpcyBwcm92aWRlZCAod2hpY2ggaXMgdGhlIGRlZmF1bHQsIGJ1dCBkZXByZWNhdGVkIGJlaGF2aW91ciksXG4vLy8gdGhlIGdlbmVyYXRlZCBydWxlcyB3aWxsIGJlIHdyYXBwZWQgaW4gYSBwcmVkZWZpbmVkIHNlbGVjdG9yIGluIHRoZSBmb3JtYXRcbi8vLyBgJGNsYXNzLSR3aWR0aGAgKGUuZy4gYGdvdnVrLWdyaWQtY29sdW1uLWZ1bGxgKS4gVGhpcyBiZWhhdmlvdXIgaXNcbi8vLyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjMuMFxuLy8vXG4vLy8gR3JpZCB3aWR0aHMgYXJlIGRlZmluZWQgaW4gdGhlIGAkZ292dWstZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlIGNvbHVtbiB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlXG4vLy8gJ3RhYmxldCcgYnJlYWtwb2ludCwgYnV0IG90aGVyIGJyZWFrcG9pbnRzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIGAkYXRgXG4vLy8gcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbZnVsbF0gbmFtZSBvZiBhIGdyaWQgd2lkdGggZnJvbSAkZ292dWstZ3JpZC13aWR0aHNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtY29sdW1uXSBDU1MgY2xhc3MgbmFtZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRjbGFzczogZmFsc2UpXG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGYtYXQtZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQsICRjbGFzczogZmFsc2UpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lIChkZXByZWNhdGVkKVxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRjbGFzczogXCJ0ZXN0LWNvbHVtblwiKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGg6IGZ1bGwsICRmbG9hdDogbGVmdCwgJGF0OiB0YWJsZXQsICRjbGFzczogXCJnb3Z1ay1ncmlkLWNvbHVtblwiKSB7XG4gIEBpZiAoJGNsYXNzKSB7XG4gICAgLiN7JGNsYXNzfS0jeyR3aWR0aH0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkZmxvYXQsICRhdCwgJGNsYXNzOiBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xuICAgICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICAgIGZsb2F0OiAkZmxvYXQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbn1cblxuLy8vIERlZmF1bHQgbGluayBzdHlsZSBtaXhpblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgbGlua3MuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay12aXNpdGVkLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWFjdGl2ZS1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIE11dGVkIHN0eWxlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIFVzZWQgZm9yIHNlY29uZGFyeSBsaW5rcyBvbiBhIHBhZ2UgLSB0aGUgbGluayB3aWxsIGFwcGVhciBpbiBtdXRlZCBjb2xvdXJzXG4vLy8gcmVnYXJkbGVzcyBvZiB2aXNpdGVkIHN0YXRlLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50IHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBnb3Z1ay1saW5rLWNvbW1vbiBtaXhpbiBpbiBvcmRlciB0byBnZXQgdGhlIGZvY3VzIHN0YXRlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3IgZGVzaWduZWRcbiAgLy8gdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBUZXh0IHN0eWxlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIE92ZXJyaWRlcyB0aGUgY29sb3VyIG9mIGxpbmtzIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG91ci4gR2VuZXJhbGx5IHVzZWQgYnlcbi8vLyBuYXZpZ2F0aW9uIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnJlYWRjcnVtYnMgb3IgdGhlIGJhY2sgbGluay5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtdGV4dCB7XG4gIC8vIE92ZXJyaWRlIGxpbmsgY29sb3VyIHRvIHVzZSB0ZXh0IGNvbG91clxuICAmOmxpbmssXG4gICY6dmlzaXRlZCxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3IgZGVzaWduZWRcbiAgLy8gdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIE5vIHZpc2l0ZWQgc3RhdGUgbGluayBtaXhpblxuLy8vXG4vLy8gVXNlZCBpbiBjYXNlcyB3aGVyZSBpdCBpcyBub3QgaGVscGZ1bCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHZpc2l0ZWQgYW5kXG4vLy8gbm9uLXZpc2l0ZWQgbGlua3MuXG4vLy9cbi8vLyBGb3IgZXhhbXBsZSwgbmF2aWdhdGlvbiBsaW5rcyB0byBwYWdlcyB3aXRoIGR5bmFtaWMgY29udGVudCBsaWtlIGFkbWluXG4vLy8gZGFzaGJvYXJkcy4gVGhlIGNvbnRlbnQgb24gdGhlIHBhZ2UgaXMgY2hhbmdpbmcgYWxsIHRoZSB0aW1lLCBzbyB0aGUgZmFjdFxuLy8vIHRoYXQgeW914oCZdmUgdmlzaXRlZCBpdCBiZWZvcmUgaXMgbm90IGltcG9ydGFudC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZSB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWFjdGl2ZS1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFByaW50IGZyaWVuZGx5IGxpbmsgbWl4aW5cbi8vL1xuLy8vIFdoZW4gcHJpbnRpbmcsIGFwcGVuZCB0aGUgdGhlIGRlc3RpbmF0aW9uIFVSTCB0byB0aGUgbGluayB0ZXh0LCBhcyBsb25nXG4vLy8gYXMgdGhlIFVSTCBzdGFydHMgd2l0aCBlaXRoZXIgYC9gLCBgaHR0cDovL2Agb3IgYGh0dHBzOi8vYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXByaW50LWZyaWVuZGx5IHtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG5cbiAgICAmW2hyZWZePVwiL1wiXSxcbiAgICAmW2hyZWZePVwiaHR0cDovL1wiXSxcbiAgICAmW2hyZWZePVwiaHR0cHM6Ly9cIl0ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG5cbiAgICAgICAgLy8gQmVjYXVzZSB0aGUgVVJMcyBtYXkgYmUgdmVyeSBsb25nLCBlbnN1cmUgdGhhdCB0aGV5IG1heSBiZSBicm9rZW5cbiAgICAgICAgLy8gYXQgYXJiaXRyYXJ5IHBvaW50cyBpZiB0aGVyZSBhcmUgbm8gb3RoZXJ3aXNlIGFjY2VwdGFibGUgYnJlYWtcbiAgICAgICAgLy8gcG9pbnRzIGluIHRoZSBsaW5lXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBXcmFuZ2xlIHNhc3MtbXEgY29uZmlnLi4uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUGFzcyBvdXIgYnJlYWtwb2ludHMgYW5kIHN0YXRpYyBicmVha3BvaW50IGRlZmluaXRpb25zIHRocm91Z2ggdG8gc2Fzcy1tcS5cbiRtcS1icmVha3BvaW50czogaWYodmFyaWFibGUtZXhpc3RzKGdvdnVrLWJyZWFrcG9pbnRzKSwgJGdvdnVrLWJyZWFrcG9pbnRzLCAoKSk7XG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGlmKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1pZTgtYnJlYWtwb2ludCksICRnb3Z1ay1pZTgtYnJlYWtwb2ludCwgZGVza3RvcCk7XG5cbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcblxuQGlmICh2YXJpYWJsZS1leGlzdHMoZ292dWstc2hvdy1icmVha3BvaW50cykgYW5kICRnb3Z1ay1zaG93LWJyZWFrcG9pbnRzKSB7XG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiBtYXAta2V5cygkZ292dWstYnJlYWtwb2ludHMpO1xufVxuXG4vLyBXaGVuIGJ1aWxkaW5nIGEgc3R5bGVzaGVldCBmb3IgSUU4LCBzZXQgJG1xLXJlc3BvbnNpdmUgdG8gZmFsc2UgaW4gb3JkZXIgdG9cbi8vICdyYXN0ZXJpemUnIGFueSBtZWRpYSBxdWVyaWVzLlxuXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZTtcbkBpZiAodmFyaWFibGUtZXhpc3RzKGdvdnVrLWlzLWllOCkgYW5kICRnb3Z1ay1pcy1pZTgpIHtcbiAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xufVxuXG4vLyBUaGlzIGlzIGEgaG9ycmlibGUsIGhvcnJpYmxlIGhhY2sgdG8gcHJldmVudCB0aGUgJ2RldiBtb2RlJyBDU1MgdG8gZGlzcGxheVxuLy8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBmcm9tIGJlaW5nIGluY2x1ZGVkIG11bHRpcGxlIHRpbWVzLlxuLy9cbi8vIFdlIGNhbid0IHVzZSB0aGUgYGV4cG9ydHNgIG1peGluIGZvciB0aGlzIGJlY2F1c2UgaW1wb3J0IGRpcmVjdGl2ZXMgY2Fubm90IGJlXG4vLyB1c2VkIHdpdGhpbiBjb250cm9sIGRpcmVjdGl2ZXMg8J+YoFxuJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiAkc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkIHtcbiAgJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpO1xufVxuXG5AaW1wb3J0IFwiLi4vdmVuZG9yL3Nhc3MtbXFcIjtcblxuJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZDogdHJ1ZTtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBNZWRpYSBRdWVyeVxuLy8vXG4vLy8gVGhpcyBpcyBhIGN1cnJlbnRseSBhIHdyYXBwZXIgZm9yIHNhc3MtbXEgLSBhYnN0cmFjdGVkIHNvIHRoYXQgd2UgY2FuXG4vLy8gcmVwbGFjZSBpdCBpbiB0aGUgZnV0dXJlIGlmIHdlIHNvIGNob29zZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkZ292dWstYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFthbGxdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgbXEgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ292dWstYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskZ292dWstaWU4LWJyZWFrcG9pbnRdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge0Jvb2xlYW59ICRyZXNwb25zaXZlIFskZ292dWstaXMtaWU4XVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1tZWRpYS1xdWVyeSgkYXJncy4uLikge1xuICBAaW5jbHVkZSBtcSgkYXJncy4uLikge1xuICAgIEBjb250ZW50O1xuICB9O1xufVxuIiwiLy8gbXEoKSB2NC4wLjJcbi8vIHNhc3MtbXEvc2Fzcy1tcVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlLWFsbFxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIGhlaWdodCBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZVxuLy8vXG4vLy8gTXVsdGlwbHlpbmcgaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlIGJ5IHRoZVxuLy8vIHNxdWFyZSByb290IG9mIHRocmVlIGdpdmVzIHVzIGl0cyBoZWlnaHQuIFdlIHVzZSAxLjczMiBhcyBhbiBhcHByb3hpbWF0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSBiYXNlIG9mIHRoZSB0cmlhbmdsZVxuLy8vIEByZXR1cm4ge051bWJlcn0gQ2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZ292dWstZXF1aWxhdGVyYWwtaGVpZ2h0KCRiYXNlKSB7XG4gICRzcXVhcmUtcm9vdC1vZi10aHJlZTogMS43MzI7XG5cbiAgQHJldHVybiAoJGJhc2UgLyAyKSAqICRzcXVhcmUtcm9vdC1vZi10aHJlZTtcbn1cblxuLy8vIEFycm93IG1peGluXG4vLy9cbi8vLyBHZW5lcmF0ZSBBcnJvd3MgKHRyaWFuZ2xlcykgYnkgdXNpbmcgYSBtaXggb2YgdHJhbnNwYXJlbnQgKDEpIGFuZCBjb2xvdXJlZFxuLy8vIGJvcmRlcnMuIFRoZSBjb2xvdXJlZCBib3JkZXJzIGluaGVyaXQgdGhlIHRleHQgY29sb3VyIG9mIHRoZSBlbGVtZW50ICgyKS5cbi8vL1xuLy8vIEVuc3VyZSB0aGUgYXJyb3cgaXMgcmVuZGVyZWQgY29ycmVjdGx5IGlmIGJyb3dzZXIgY29sb3VycyBhcmUgb3ZlcnJpZGRlbiBieVxuLy8vIHByb3ZpZGluZyBhIGNsaXAgcGF0aCAoMykuIFdpdGhvdXQgdGhpcyB0aGUgdHJhbnNwYXJlbnQgYm9yZGVycyBhcmVcbi8vLyBvdmVycmlkZGVuIHRvIGJlY29tZSB2aXNpYmxlIHdoaWNoIHJlc3VsdHMgaW4gYSBzcXVhcmUuXG4vLy9cbi8vLyBXZSBuZWVkIGJvdGggYmVjYXVzZSBvbGRlciBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjbGlwLXBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiAtIERpcmVjdGlvbiBmb3IgYXJyb3c6IHVwLCByaWdodCwgZG93biwgbGVmdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIHRyaWFuZ2xlICdiYXNlJyBzaWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgW251bGxdIC0gSGVpZ2h0IG9mIHRyaWFuZ2xlLiBPbWl0IGZvciBlcXVpbGF0ZXJhbC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXSAtIENTUyBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBhcnJvd1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb24sICRiYXNlLCAkaGVpZ2h0OiBudWxsLCAkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG5cbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyAxXG5cbiAgJHBlcnBlbmRpY3VsYXI6ICRiYXNlIC8gMjtcblxuICBAaWYgKCRoZWlnaHQgPT0gbnVsbCkge1xuICAgICRoZWlnaHQ6IF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpO1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ1cFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6IDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyICRoZWlnaHQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBhcnJvdyBkaXJlY3Rpb246IGV4cGVjdGVkIGB1cGAsIGByaWdodGAsIGBkb3duYCBvciBgbGVmdGAsIGdvdCBgI3skZGlyZWN0aW9ufWBcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBTaW5nbGUgcG9pbnQgc3BhY2luZ1xuLy8vXG4vLy8gUmV0dXJucyBtZWFzdXJlbWVudCBjb3JyZXNwb25kaW5nIHRvIHRoZSBzcGFjaW5nIHBvaW50IHJlcXVlc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSBzcGFjaW5nIHNjYWxlIChzZXQgaW4gYHNldHRpbmdzL19zcGFjaW5nLnNjY3NgKVxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gU3BhY2luZyBNZWFzdXJlbWVudCBlZy4gMTBweFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDUpO1xuLy8vICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMikgIWltcG9ydGFudDsgLy8gaWYgYCFpbXBvcnRhbnRgIGlzIHJlcXVpcmVkXG4vLy8gICB9XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpIHtcblxuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiXG4gICAgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyB2YXJpYWJsZSBgI3skc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpO1xufVxuXG4vLy8gUmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgc3BhY2luZyAoZWl0aGVyIHBhZGRpbmcgb3IgbWFyZ2luLCBkZXBlbmRpbmcgb24gYCRwcm9wZXJ0eWApXG4vLy8gYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lc1xuLy8vIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBUbyBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcsIHVzZSAnZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4nIG9yXG4vLy8gJ2dvdnVrLXJlc3BvbnNpdmUtcGFkZGluZycgbWl4aW5zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyAgIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gUHJvcGVydHkgdG8gYWRkIHNwYWNpbmcgdG8gKGUuZy4gJ21hcmdpbicpXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkcHJvcGVydHksICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcblxuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCIgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyBwb2ludCBgI3skcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgXCJcbiAgICArIFwicmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC5cIjtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSByZXR1cm4gdmFsdWUgZnJvbSBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AgaXMgYSBtYXAuXG4gICRzY2FsZS1tYXA6IG1hcC1nZXQoJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gICRhY3R1YWwtbWFwLXR5cGU6IHR5cGUtb2YoJHNjYWxlLW1hcCk7XG4gIEBpZiAkYWN0dWFsLW1hcC10eXBlICE9IFwibWFwXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiXG4gICAgKyBcIiN7JGFjdHVhbC1tYXAtdHlwZX0uIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgbWFwIHRvIHNldCB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYClcIjtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtdmFsdWUgaW4gJHNjYWxlLW1hcCB7XG5cbiAgICBAaWYgKCRhZGp1c3RtZW50KSB7XG4gICAgICAkYnJlYWtwb2ludC12YWx1ZTogJGJyZWFrcG9pbnQtdmFsdWUgKyAkYWRqdXN0bWVudDtcbiAgICB9XG5cbiAgICAvLyBUaGUgJ251bGwnIGJyZWFrcG9pbnQgaXMgZm9yIG1vYmlsZS5cbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG5cbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVzcG9uc2l2ZSBtYXJnaW5cbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBtYXJnaW4gYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJtYXJnaW5cIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vLy8gUmVzcG9uc2l2ZSBwYWRkaW5nXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgcGFkZGluZyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcInBhZGRpbmdcIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB1c2luZyBOVEEsIGluY2x1ZGUgdGhlIGZvbnQtZmFjZSBkZWZpbml0aW9uXG4gIEBpZiAoJGdvdnVrLWZvbnQtZmFtaWx5ID09ICRnb3Z1ay1mb250LWZhbWlseS1udGEpIHtcbiAgICBAaW5jbHVkZSBfZ292dWstZm9udC1mYWNlLW50YTtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktcHJpbnQ7XG4gIH1cbn1cblxuLy8vIFRleHQgY29sb3VyIGhlbHBlclxuLy8vXG4vLy8gU2V0cyB0aGUgdGV4dCBjb2xvdXIsIGluY2x1ZGluZyBhIHN1aXRhYmxlIG92ZXJyaWRlIGZvciBwcmludC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgY29sb3I6ICRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gUmVndWxhciBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXIgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xufVxuXG4vLy8gQm9sZCBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xufVxuXG4vLy8gQ29udmVydCBsaW5lLWhlaWdodHMgc3BlY2lmaWVkIGluIHBpeGVscyBpbnRvIGEgcmVsYXRpdmUgdmFsdWUsIHVubGVzc1xuLy8vIHRoZXkgYXJlIGFscmVhZHkgdW5pdC1sZXNzIChhbmQgdGh1cyBhbHJlYWR5IHRyZWF0ZWQgYXMgcmVsYXRpdmUgdmFsdWVzKVxuLy8vIG9yIHRoZSB1bml0cyBkbyBub3QgbWF0Y2ggdGhlIHVuaXRzIHVzZWQgZm9yIHRoZSBmb250IHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IExpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgRm9udCBzaXplXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgbGluZSBoZWlnaHQgYXMgZWl0aGVyIGEgcmVsYXRpdmUgdmFsdWUgb3IgdW5tb2RpZmllZFxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gX2dvdnVrLWxpbmUtaGVpZ2h0KCRsaW5lLWhlaWdodCwgJGZvbnQtc2l6ZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRsaW5lLWhlaWdodCkgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSB1bml0KCRmb250LXNpemUpIHtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCAvICRmb250LXNpemU7XG4gIH1cblxuICBAcmV0dXJuICRsaW5lLWhlaWdodDtcbn1cblxuLy8vIFJlc3BvbnNpdmUgdHlwb2dyYXBoeSBoZWxwZXJcbi8vL1xuLy8vIFRha2VzIGEgJ2ZvbnQgbWFwJyBhcyBhbiBhcmd1bWVudCBhbmQgdXNlcyBpdCB0byBjcmVhdGUgZm9udC1zaXplIGFuZFxuLy8vIGxpbmUtaGVpZ2h0IGRlY2xhcmF0aW9ucyBmb3IgZGlmZmVyZW50IGJyZWFrcG9pbnRzLCBhbmQgZm9yIHByaW50LlxuLy8vXG4vLy8gRXhhbXBsZSBmb250IG1hcDpcbi8vL1xuLy8vICRteS1mb250LW1hcDogKFxuLy8vICAgbnVsbDogKFxuLy8vICAgICBmb250LXNpemU6IDE2cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4vLy8gICApLFxuLy8vICAgdGFibGV0OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTlweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbi8vLyAgICksXG4vLy8gICBwcmludDogKFxuLy8vICAgICBmb250LXNpemU6IDE0cHQsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4vLy8gICApXG4vLy8gKTtcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkZm9udC1tYXAgLSBGb250IG1hcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3ZlcnJpZGUtbGluZS1oZWlnaHQgW2ZhbHNlXSAtIE5vbiByZXNwb25zaXZlIGN1c3RvbSBsaW5lXG4vLy8gICBoZWlnaHQuIE9taXQgdG8gdXNlIHRoZSBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250IG1hcC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemUsICRvdmVycmlkZS1saW5lLWhlaWdodDogZmFsc2UsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIGZvbnQgc2l6ZSBgI3skc2l6ZX1gIC0gZXhwZWN0ZWQgYSBwb2ludCBmcm9tIHRoZSB0eXBvZ3JhcGh5IHNjYWxlLlwiO1xuICB9XG5cbiAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSk7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LW1hcCBpbiAkZm9udC1tYXAge1xuICAgICRmb250LXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImZvbnQtc2l6ZVwiKTtcbiAgICAkZm9udC1zaXplLXJlbTogZ292dWstcHgtdG8tcmVtKCRmb250LXNpemUpO1xuXG4gICAgJGxpbmUtaGVpZ2h0OiBfZ292dWstbGluZS1oZWlnaHQoXG4gICAgICAkbGluZS1oZWlnaHQ6IGlmKCRvdmVycmlkZS1saW5lLWhlaWdodCxcbiAgICAgICAgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJsaW5lLWhlaWdodFwiKVxuICAgICAgKSxcbiAgICAgICRmb250LXNpemU6ICRmb250LXNpemVcbiAgICApO1xuXG4gICAgLy8gTWFyayBydWxlcyBhcyAhaW1wb3J0YW50IGlmICRpbXBvcnRhbnQgaXMgdHJ1ZSAtIHRoaXMgd2lsbCByZXN1bHQgaW5cbiAgICAvLyB0aGVzZSB2YXJpYWJsZXMgYmVjb21pbmcgc3RyaW5ncywgc28gdGhpcyBuZWVkcyB0byBoYXBwZW4gKmFmdGVyKiB0aGV5XG4gICAgLy8gYXJlIHVzZWQgaW4gY2FsY3VsYXRpb25zXG4gICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgJGZvbnQtc2l6ZS1yZW06ICRmb250LXNpemUtcmVtIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICBAaWYgJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yZW07IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH0gQGVsc2VpZiAkYnJlYWtwb2ludCA9PSBcInByaW50XCIge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7IC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBGb250IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gU2l6ZSBvZiB0aGUgZm9udCBhcyBpdCB3b3VsZCBhcHBlYXIgb24gZGVza3RvcCAtXG4vLy8gICB1c2VzIHRoZSByZXNwb25zaXZlIGZvbnQgc2l6ZSBtYXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodCBbcmVndWxhcl0gLSBXZWlnaHQ6IGBib2xkYCBvciBgcmVndWxhcmBcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR0YWJ1bGFyIFtmYWxzZV0gLSBXaGV0aGVyIHRvIHVzZSB0YWJ1bGFyIG51bWJlcnMgb3Igbm90XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBbZmFsc2VdIC0gTGluZS1oZWlnaHQsIGlmIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb250KCRzaXplLCAkd2VpZ2h0OiByZWd1bGFyLCAkdGFidWxhcjogZmFsc2UsICRsaW5lLWhlaWdodDogZmFsc2UpIHtcbiAgQGlmICR0YWJ1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gIH1cblxuICBAaWYgJHdlaWdodCA9PSByZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIEBpZiAkc2l6ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gSGlkZSBhbiBlbGVtZW50IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4vLy9cbi8vLyBAbGluayBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuLy8vICAgLSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eSwgSm9uYXRoYW4gU25vb2ssIEZlYnJ1YXJ5IDIwMTFcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iLzlmMTM2OTVkMjFmZjkyYzU1Yzc4ZGZhOWYxNmJiMDJhMWI2ZTkxMWYvc3JjL2Nzcy9tYWluLmNzcyNMMTIxLUwxNThcbi8vLyAgIC0gaDVicC9odG1sNS1ib2lsZXJwbGF0ZSAtIFRoYW5rcyFcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICB3aWR0aDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgaGVpZ2h0OiAxcHggaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICBwYWRkaW5nOiAwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIGJvcmRlcjogMCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgLy8gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAgLy8gY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMgd2hpbHN0XG4vLy8gYWxsb3dpbmcgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNlZCB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkIChlLmcuXG4vLy8gZm9yIHRoZSBza2lwIGxpbmspXG4vLy9cbi8vLyBUaGlzIGlzIHNsaWdodGx5IGxlc3Mgb3BpbmlvbmF0ZWQgYWJvdXQgYm9yZGVycyBhbmQgcGFkZGluZyB0byBtYWtlIGl0XG4vLy8gZWFzaWVyIHRvIHN0eWxlIHRoZSBmb2N1c3NlZCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICB3aWR0aDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgaGVpZ2h0OiAxcHggaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIG92ZXJmbG93OiBoaWRkZW4gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgLy8gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAgLy8gY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICAgd2lkdGg6IGF1dG8gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgIGhlaWdodDogYXV0byBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgbWFyZ2luOiBpbmhlcml0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIG92ZXJmbG93OiB2aXNpYmxlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICBjbGlwOiBhdXRvIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IG5vbmUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJsaXN0c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInNlY3Rpb24tYnJlYWtcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS9saW5rc1wiKSB7XG5cbiAgJWdvdnVrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXByaW50LWZyaWVuZGx5O1xuICB9XG5cbiAgLmdvdnVrLWxpbmsge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpbms7XG4gIH1cblxuICAvLyBWYXJpYW50IGNsYXNzZXMgc2hvdWxkIGFsd2F5cyBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIC5nb3Z1ay1saW5rXG4gIC8vIGNsYXNzLCBzbyB3ZSBkbyBub3QgbmVlZCB0aGUgY29tbW9uIGxpbmsgc3R5bGVzIGFzIHRoZXkgd2lsbCBiZSBpbmhlcml0ZWQuXG5cbiAgLmdvdnVrLWxpbmstLW11dGVkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLXRleHQtY29sb3VyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gIH1cblxuICAuZ292dWstbGluay0tbm8tdmlzaXRlZC1zdGF0ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS9saXN0c1wiKSB7XG5cbiAgJWdvdnVrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAvLyBBZGQgYSB0b3AgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAgICAlZ292dWstbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxuXG4gICVnb3Z1ay1saXN0ID4gbGkge1xuICAgIC8vIExpc3RzIHdpdGhvdXQgbnVtYmVycyBvciBidWxsZXRzIHNob3VsZCBhbHdheXMgaGF2ZSBleHRyYSBzcGFjZSBiZXR3ZWVuXG4gICAgLy8gbGlzdCBpdGVtcy4gTGlzdHMgd2l0aCBudW1iZXJzIG9yIGJ1bGxldHMgb25seSBoYXZlIHRoaXMgZXh0cmEgc3BhY2Ugb25cbiAgICAvLyB0YWJsZXQgYW5kIGFib3ZlXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0O1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLWJ1bGxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0ID4gbGksXG4gICVnb3Z1ay1saXN0LS1udW1iZXIgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWxpc3QtLWJ1bGxldCB7XG4gICAgQGV4dGVuZCAlZ292dWstbGlzdC0tYnVsbGV0O1xuICB9XG5cbiAgLmdvdnVrLWxpc3QtLW51bWJlciB7XG4gICAgQGV4dGVuZCAlZ292dWstbGlzdC0tbnVtYmVyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3RlbXBsYXRlXCIpIHtcblxuICAvLyBBcHBsaWVkIHRvIHRoZSA8aHRtbD4gZWxlbWVudFxuICAuZ292dWstdGVtcGxhdGUge1xuICAgIC8vIFNldCB0aGUgb3ZlcmFsbCBwYWdlIGJhY2tncm91bmQgY29sb3VyIHRvIHRoZSBzYW1lIGNvbG91ciBhcyB1c2VkIGJ5IHRoZVxuICAgIC8vIGZvb3RlciB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAvLyBQcmV2ZW50IGF1dG9tYXRpYyB0ZXh0IHNpemluZywgYXMgd2UgYWxyZWFkeSBjYXRlciBmb3Igc21hbGwgZGV2aWNlcyBhbmRcbiAgICAvLyB3b3VsZCBsaWtlIHRoZSBicm93c2VyIHRvIHN0YXkgb24gMTAwJSB0ZXh0IHpvb20gYnkgZGVmYXVsdC5cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgLW1vei10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIHRoZSA8Ym9keT4gZWxlbWVudFxuICAuZ292dWstdGVtcGxhdGVfX2JvZHkge1xuICAgIC8vIFRoZSBkZWZhdWx0IG1hcmdpbnMgc2V0IGJ5IHVzZXItYWdlbnRzIGFyZSBub3QgcmVxdWlyZWQgc2luY2Ugd2UgaGF2ZSBvdXJcbiAgICAvLyBvd24gY29udGFpbmVycy5cbiAgICBtYXJnaW46IDA7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIGJvZHkgb2YgdGhlIHBhZ2UgYmFjayB0byB0aGUgdHlwaWNhbCBiYWNrZ3JvdW5kIGNvbG91ci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdHlwb2dyYXBoeVwiKSB7XG5cbiAgLy8gSGVhZGluZ3NcblxuICAlZ292dWstaGVhZGluZy14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmcteGw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLWw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLW07XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXM7XG4gIH1cblxuICAvLyBDYXB0aW9ucyB0byBiZSB1c2VkIGluc2lkZSBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1jYXB0aW9uLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNyk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIEJvZHkgKHBhcmFncmFwaHMpXG5cbiAgJWdvdnVrLWJvZHktbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAlZ292dWstYm9keS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktcyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1zO1xuICB9XG5cbiAgJWdvdnVrLWJvZHkteHMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS14cyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS14cztcbiAgfVxuXG4gIC8vIFVzYWdlIGFsaWFzZXNcblxuICAvLyBVc2luZyBleHRlbmQgdG8gYWxpYXMgbWVhbnMgd2UgYWxzbyBpbmhlcml0IGFueSBjb250ZXh0dWFsIGFkanVzdG1lbnRzIHRoYXRcbiAgLy8gcmVmZXIgdG8gdGhlICdvcmlnaW5hbCcgY2xhc3MgbmFtZVxuXG4gIC5nb3Z1ay1ib2R5LWxlYWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAvLyBDb250ZXh0dWFsIGFkanVzdG1lbnRzXG4gIC8vIEFkZCB0b3AgcGFkZGluZyB0byBoZWFkaW5ncyB0aGF0IGFwcGVhciBkaXJlY3RseSBhZnRlciBwYXJhZ3JhcGhzLlxuXG4gICVnb3Z1ay1ib2R5LWwgICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstYm9keS1tICArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1ib2R5LXMgICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCwgXCJ0b3BcIik7XG4gIH1cblxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLXMge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS9zZWN0aW9uLWJyZWFrXCIpIHtcblxuICAlZ292dWstc2VjdGlvbi1icmVhayB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcblxuICAgIC8vIGZpeCBkb3VibGUtd2lkdGggc2VjdGlvbiBicmVhayBhbmQgZm9yY2VkIHZpc2libGUgc2VjdGlvbiBicmVha1xuICAgIC8vIHdoZW4gY29tYmluZWQgd2l0aCBzdHlsZXMgZnJvbSBhbHBoYWdvdi9lbGVtZW50c1xuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfZWxlbWVudHMpIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhayB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhaztcbiAgfVxuXG4gIC8vIFNpemVzXG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS14bCB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0teGw7XG4gIH1cblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tbCB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tbDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1tO1xuICB9XG5cbiAgLy8gVmlzaWJsZSB2YXJpYW50XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5cbkBtaXhpbiBnb3Z1ay1nbG9iYWwtc3R5bGVzIHtcbiAgYSB7XG4gICAgQGV4dGVuZCAlZ292dWstbGluaztcbiAgfVxuXG4gIHAge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS9nbG9iYWwtc3R5bGVzXCIpIHtcblxuICBAaWYgJGdvdnVrLWdsb2JhbC1zdHlsZXMgPT0gdHJ1ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZ2xvYmFsLXN0eWxlcztcbiAgfVxufVxuIiwiQGltcG9ydCBcImZvcm0tZ3JvdXBcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwibWFpbi13cmFwcGVyXCI7XG5AaW1wb3J0IFwid2lkdGgtY29udGFpbmVyXCI7XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy9mb3JtLWdyb3VwXCIpIHtcblxuICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlIG1hcmdpbiBmcm9tIGxhc3QgaXRlbSBpbiBuZXN0ZWQgZ3JvdXBzXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvcm0tZ3JvdXAtLWVycm9yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgYm9yZGVyLWxlZnQ6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1ncm91cC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgICAgLy8gUmVzZXQgZXJyb3Igc3R5bGVzIGluIG5lc3RlZCBmb3JtIGdyb3VwcyB0aGF0IG1pZ2h0IGhhdmUgZXJyb3IgY2xhc3NcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy9ncmlkXCIpIHtcblxuICAuZ292dWstZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgICBtYXJnaW4tbGVmdDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgfVxuXG4gIEBlYWNoICR3aWR0aCBpbiBtYXAta2V5cygkZ292dWstZ3JpZC13aWR0aHMpIHtcbiAgICAuZ292dWstZ3JpZC1jb2x1bW4tI3skd2lkdGh9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCwgJGNsYXNzOiBmYWxzZSlcbiAgICB9XG4gIH1cblxuICAvLyBUaGVzZSAqbXVzdCogYmUgZGVmaW5lZCBpbiBhIHNlcGFyYXRlIGxvb3AgYXMgdGhleSBoYXZlIHRoZSBzYW1lXG4gIC8vIHNwZWNpZmljaXR5IGFzIHRoZSBub24tYnJlYWtwb2ludCBzcGVjaWZpYyBjbGFzc2VzLCBzbyBuZWVkIHRvIGFwcGVhciBhZnRlclxuICAvLyB0aGVtIGluIHRoZSBvdXRwdXR0ZWQgQ1NTXG4gIEBlYWNoICR3aWR0aCBpbiBtYXAta2V5cygkZ292dWstZ3JpZC13aWR0aHMpIHtcbiAgICAuZ292dWstZ3JpZC1jb2x1bW4tI3skd2lkdGh9LWZyb20tZGVza3RvcCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGgsICRhdDogZGVza3RvcCwgJGNsYXNzOiBmYWxzZSlcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPCEtLSBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rcyBhcmUgcGxhY2VkIGluIGhlcmUuIC0tPlxuLy8gICA8ZGl2IGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aG91dCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIj5cbi8vICAgICAgIDwhLS0gV3JhcHBlciBmb3IgdGhlIG1haW4gY29udGVudCBvZiB5b3VyIHBhZ2Ugd2hpY2ggYXBwbGllcyBwYWRkaW5nXG4vLyAgICAgICAgICAgIHRvIHRoZSB0b3AgLyBib3R0b20gLS0+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG5cblxuQG1peGluIGdvdnVrLW1haW4td3JhcHBlciB7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcInRvcFwiKTtcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDYsIFwiYm90dG9tXCIpO1xuICAvLyBJbiBJRTExIHRoZSBgbWFpbmAgZWxlbWVudCBjYW4gYmUgdXNlZCwgYnV0IGlzIG5vdCByZWNvZ25pemVkICDigJNcbiAgLy8gbWVhbmluZyBpdCdzIG5vdCBkZWZpbmVkIGluIElFJ3MgZGVmYXVsdCBzdHlsZSBzaGVldCxcbiAgLy8gc28gaXQgdXNlcyBDU1MgaW5pdGlhbCB2YWx1ZSwgd2hpY2ggaXMgaW5saW5lLlxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gVXNlIGdvdnVrLW1haW4td3JhcHBlci0tbCB3aGVuIHlvdSBwYWdlIGRvZXMgbm90IGhhdmUgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMgb3IgYmFjayBsaW5rc1xuQG1peGluIGdvdnVrLW1haW4td3JhcHBlci0tbCB7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg4LCBcInRvcFwiKTtcbn1cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvbWFpbi13cmFwcGVyXCIpIHtcbiAgLmdvdnVrLW1haW4td3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbWFpbi13cmFwcGVyO1xuICB9XG5cbiAgLmdvdnVrLW1haW4td3JhcHBlci0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstbWFpbi13cmFwcGVyLS1sO1xuICB9XG59XG4iLCJAbWl4aW4gZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgLy8gTGltaXQgdGhlIHdpZHRoIG9mIHRoZSBjb250YWluZXIgdG8gdGhlIHBhZ2Ugd2lkdGhcbiAgbWF4LXdpZHRoOiAkZ292dWstcGFnZS13aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luOiAwICRnb3Z1ay1ndXR0ZXItaGFsZjtcblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbjogMCAkZ292dWstZ3V0dGVyO1xuICB9XG5cbiAgLy8gQXMgc29vbiBhcyB0aGUgdmlld3BvcnQgaXMgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSBwbHVzIHRoZVxuICAvLyBndXR0ZXJzLCBqdXN0IGNlbnRyZSB0aGUgY29udGVudCBpbnN0ZWFkIG9mIGFkZGluZyBndXR0ZXJzLlxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkYW5kOiBcIihtaW4td2lkdGg6ICN7KCRnb3Z1ay1wYWdlLXdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICB3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG4gICAgLy8gU2luY2UgbWVkaWEgcXVlcmllcyBhcmUgbm90IHN1cHBvcnRlZCBpbiBJRTgsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcImFjY29yZGlvbi9hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCJiYWNrLWxpbmsvYmFjay1saW5rXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJidXR0b24vYnV0dG9uXCI7XG5AaW1wb3J0IFwiY2hlY2tib3hlcy9jaGVja2JveGVzXCI7XG5AaW1wb3J0IFwiY2hhcmFjdGVyLWNvdW50L2NoYXJhY3Rlci1jb3VudFwiO1xuQGltcG9ydCBcInN1bW1hcnktbGlzdC9zdW1tYXJ5LWxpc3RcIjtcbkBpbXBvcnQgXCJkYXRlLWlucHV0L2RhdGUtaW5wdXRcIjtcbkBpbXBvcnQgXCJkZXRhaWxzL2RldGFpbHNcIjtcbkBpbXBvcnQgXCJlcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJlcnJvci1zdW1tYXJ5L2Vycm9yLXN1bW1hcnlcIjtcbkBpbXBvcnQgXCJmaWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcImZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkXCI7XG5AaW1wb3J0IFwiZm9vdGVyL2Zvb3RlclwiO1xuQGltcG9ydCBcImhpbnQvaGludFwiO1xuQGltcG9ydCBcImhlYWRlci9oZWFkZXJcIjtcbkBpbXBvcnQgXCJpbnB1dC9pbnB1dFwiO1xuQGltcG9ydCBcImluc2V0LXRleHQvaW5zZXQtdGV4dFwiO1xuQGltcG9ydCBcImxhYmVsL2xhYmVsXCI7XG5AaW1wb3J0IFwicGFuZWwvcGFuZWxcIjtcbkBpbXBvcnQgXCJwaGFzZS1iYW5uZXIvcGhhc2UtYmFubmVyXCI7XG5AaW1wb3J0IFwidGFicy90YWJzXCI7XG5AaW1wb3J0IFwidGFnL3RhZ1wiO1xuQGltcG9ydCBcInJhZGlvcy9yYWRpb3NcIjtcbkBpbXBvcnQgXCJzZWxlY3Qvc2VsZWN0XCI7XG5AaW1wb3J0IFwic2tpcC1saW5rL3NraXAtbGlua1wiO1xuQGltcG9ydCBcInRhYmxlL3RhYmxlXCI7XG5AaW1wb3J0IFwidGV4dGFyZWEvdGV4dGFyZWFcIjtcbkBpbXBvcnQgXCJ3YXJuaW5nLXRleHQvd2FybmluZy10ZXh0XCI7XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2FjY29yZGlvblwiKSB7XG5cbiAgLmdvdnVrLWFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAvLyBCb3JkZXJzIGJldHdlZW4gYWNjb3JkaW9uIHNlY3Rpb25zXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBPdmVycmlkZSBicm93c2VyIGRlZmF1bHRcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBicm93c2VyIGRlZmF1bHRcbiAgfVxuXG4gIC8vIEJ1dHRvbnMgd2l0aGluIHRoZSBzZWN0aW9ucyBkb27igJl0IG5lZWQgZGVmYXVsdCBzdHlsaW5nXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnkge1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgYm90dG9tIG1hcmdpbiBmcm9tIHRoZSBsYXN0IGl0ZW0gaW5zaWRlIHRoZSBjb250ZW50XG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5qcy1lbmFibGVkIHtcblxuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEJvcmRlcnMgYmV0d2VlbiBhY2NvcmRpb24gc2VjdGlvbnNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJ0b3BcIik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJib3R0b21cIik7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHN0eWxlZCB0byBsb29rIGxpa2UgYSBsaW5rIG5vdCBhIGJ1dHRvblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX29wZW4tYWxsIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlY3Rpb24gaGVhZGVycyBoYXZlIGEgcG9pbnRlciBjdXJzb3IgYXMgYW4gYWRkaXRpb25hbCBhZmZvcmRhbmNlXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gU2FmZSBhcmVhIG9uIHRoZSByaWdodCB0byBhdm9pZCBjbGFzaGluZyB3aXRoIGljb25cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gU2VjdGlvbiBoZWFkZXJzIGhhdmUgYSBncmV5IGJhY2tncm91bmQgb24gaG92ZXIgYXMgYW4gYWRkaXRpb25hbCBhZmZvZGFuY2VcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTRcIik7XG4gICAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGNhbid0IGhvdmVyIHN1Y2ggYXMgdG91Y2ggZGV2aWNlcyxcbiAgICAgIC8vIHJlbW92ZSBob3ZlciBzdGF0ZSBhcyBpdCBjYW4gYmUgc3R1Y2sgaW4gdGhhdCBzdGF0ZSAoaU9TKS5cbiAgICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXR0aW5nIGZvY3VzIHN0eWxlcyBvbiBoZWFkZXIgc28gdGhhdCBzdW1tYXJ5IHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJ1dHRvbiBpcyBpbmNsdWRlZCBpbiBmb2N1c1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyLS1mb2N1c2VkIHtcbiAgICAgIC8vIFRoZXNlIHJlcGxpY2F0ZSBAbWl4aW4gZ292dWstZm9jdXNhYmxlICh0aGUgbWl4aW4gY2FuJ3QgYmUgdXNlZCBhcyB0aGUgaGVhZGVyIGRvZXNuJ3QgZ2V0IHRoZSBmb2N1cylcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9ucyB3aXRoaW4gdGhlIGhlYWRlcnMgZG9u4oCZdCBuZWVkIGRlZmF1bHQgc3R5bGluZ1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIC8vIEhlYWRpbmdzIGluIHNlY3Rpb24gaGVhZGVycyBoYXZlIGxpbmsgY29sb3VycyBhcyBhbiBhZGRpdGlvbmFsIGFmZm9kYW5jZVxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHRlbmQgdGhlIHRvdWNoIGFyZWEgb2YgdGhlIGJ1dHRvbiB0byBzcGFuIHRoZSBzZWN0aW9uIGhlYWRlclxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fY29udHJvbHMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLy8gRGlzcGxheSBhbiBpY29uIHRvIHRoZSByaWdodCBvZiBlYWNoIGhlYWRlciB0byBpbmRpY2F0ZSBvcGVuL2Nsb3NlZCBzdGF0dXMsXG4gICAgLy8gYW5kIGFzIGFuIGFkZGl0aW9uYWwgYWZmb3JkYW5jZS5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjphZnRlcixcbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgYmFyIHNob3VsZCBiZSBoaWRkZW4gd2hlbiBzZWN0aW9uIGlzIG9wZW4sIHRvIGRpc3BsYXkgYSAnLScgaWNvblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYmFjay1saW5rXCIpIHtcblxuICAuZ292dWstYmFjay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gQWxsb3cgc3BhY2UgZm9yIHRoZSBhcnJvd1xuICAgIHBhZGRpbmctbGVmdDogMTRweDtcblxuICAgIC8vIFVzZSBib3JkZXItYm90dG9tIHJhdGhlciB0aGFuIHRleHQtZGVjb3JhdGlvbiBzbyB0aGF0IHRoZSBhcnJvdyBpc1xuICAgIC8vIHVuZGVybGluZWQgYXMgd2VsbC5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG5cbiAgICAvLyBVbmRlcmxpbmUgaXMgcHJvdmlkZWQgYnkgYSBib3R0b20gYm9yZGVyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGFycm93XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogbGVmdCwgJGJhc2U6IDEwcHgsICRoZWlnaHQ6IDZweCk7XG5cbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIC8vIFZlcnRpY2FsbHkgYWxpZ24gd2l0aCB0aGUgcGFyZW50IGVsZW1lbnRcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG5cbiAgLmdvdnVrLWJhY2stbGluazpiZWZvcmUge1xuICAgICRvZmZzZXQ6IDFweDtcblxuICAgIHRvcDogJG9mZnNldCAqIC0xO1xuICAgIGJvdHRvbTogJG9mZnNldDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnJlYWRjcnVtYnNcIikge1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogN3B4O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiBib3JkZXJcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgLy8gQ29sb3VyIG9mIGNoZXZyb25cbiAgJGNoZXZyb24tYm9yZGVyLWNvbG91cjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAvLyBDYWxjdWxhdGVkIGFsdGl0dWRlICjilrPihpUpIG9mIHRoZSByaWdodC1hbmdsZWQgaXNvc2NlbGVzIGNoZXZyb24gd2l0aCBzaWRlc1xuICAvLyBvZiBsZW5ndGggOCAoN3B4ICsgMXB4IGJvcmRlcik6XG4gIC8vXG4gIC8vIOKImig4wrIgKyA4wrIpICogMC41IOKJhSA1LjY1NVxuICAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkOiA1LjY1NXB4O1xuXG4gIC5nb3Z1ay1icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWRkIGJvdGggbWFyZ2luIGFuZCBwYWRkaW5nIHN1Y2ggdGhhdCB0aGUgY2hldnJvbiBhcHBlYXJzIGNlbnRyYWxseVxuICAgIC8vIGJldHdlZW4gZWFjaCBicmVhZGNydW1iIGl0ZW1cbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMikgKyAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkO1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBDcmVhdGUgYSBjaGV2cm9uIHVzaW5nIGEgYm94IHdpdGggYm9yZGVycyBvbiB0d28gc2lkZXMsIHJvdGF0ZWQgNDVkZWcuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgICAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJldmVydGVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0XG4gICAgICAvLyBiYXNlbGluZVxuXG4gICAgICAvLyB0b3A6IDA7XG4gICAgICAvLyBib3R0b206IDA7XG5cbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogMXB4O1xuXG4gICAgICAvLyBFbmQgYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG5cbiAgICAgIC8vIE9mZnNldCBieSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB3aWR0aCBvZiB0aGUgbm9uLXJvdGF0ZWQgc3F1YXJlXG4gICAgICAvLyBhbmQgaXRzIHdpZHRoIHdoZW4gcm90YXRlZFxuICAgICAgbGVmdDogKCgkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkICogLTIpICsgJGNoZXZyb24tc2l6ZSArICRjaGV2cm9uLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgYm9yZGVyOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLXdpZHRoICRjaGV2cm9uLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIEZhbGwgYmFjayB0byBhIGdyZWF0ZXIgdGhhbiBzaWduIGZvciBJRThcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMDNlXCI7IC8vIEdyZWF0ZXIgdGhhbiBzaWduICg+KVxuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHNlZW0gdG8gbGlrZSByZW5kZXJpbmcgcHNldWRvLWVsZW1lbnRzIHVzaW5nIEBmb250LWZhY2VzLFxuICAgICAgICAvLyBzbyBmYWxsIGJhY2sgdG8gdXNpbmcgYW5vdGhlciBzYW5zLXNlcmlmIGZvbnQgdG8gcmVuZGVyIHRoZSBjaGV2cm9uLlxuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9idXR0b25cIikge1xuXG4gICRnb3Z1ay1idXR0b24tY29sb3VyOiAjMDA4MjNiO1xuICAkZ292dWstYnV0dG9uLWhvdmVyLWNvbG91cjogZGFya2VuKCRnb3Z1ay1idXR0b24tY29sb3VyLCA1JSk7XG4gICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjogZGFya2VuKCRnb3Z1ay1idXR0b24tY29sb3VyLCAxNSUpO1xuICAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyBCZWNhdXNlIHRoZSBzaGFkb3cgKHMwKSBpcyB2aXN1YWxseSAncGFydCBvZicgdGhlIGJ1dHRvbiwgd2UgbmVlZCB0byByZWR1Y2VcbiAgLy8gdGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uIHRvIGNvbXBlbnNhdGUgYnkgYWRqdXN0aW5nIGl0cyBwYWRkaW5nIChzMSkgYW5kXG4gIC8vIGluY3JlYXNlIHRoZSBib3R0b20gbWFyZ2luIHRvIGluY2x1ZGUgaXQgKHMyKS5cbiAgJGJ1dHRvbi1zaGFkb3ctc2l6ZTogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMTlweCk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIiwgJGFkanVzdG1lbnQ6ICRidXR0b24tc2hhZG93LXNpemUpOyAvLyBzMlxuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpKSBnb3Z1ay1zcGFjaW5nKDIpOyAvLyBzMVxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAgIC8vIHNvIHRoYXQgdW52aXNpdGVkIGxpbmtzIHN0eWxlZCBhcyBidXR0b25zIGRvIG5vdCBlbmQgdXAgd2l0aCBkYXJrIGJsdWVcbiAgICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4IHVud2FudGVkIGJ1dHRvbiBwYWRkaW5nIGluIEZpcmVmb3hcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRvcDogJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBhZGp1c3RtZW50cyBkbyBub3Qgd29yayBmb3IgPGlucHV0IHR5cGU9XCJidXR0b25cIj4gYXNcbiAgICAvLyBub24tY29udGFpbmVyIGVsZW1lbnRzIGNhbm5vdCBpbmNsdWRlIHBzZXVkbyBlbGVtZW50cyAoaS5lLiA6OmJlZm9yZSkuXG5cbiAgICAvLyBVc2UgYSBwc2V1ZG8gZWxlbWVudCB0byBleHBhbmQgdGhlIGNsaWNrIHRhcmdldCBhcmVhIHRvIGluY2x1ZGUgdGhlXG4gICAgLy8gYnV0dG9uJ3Mgc2hhZG93IGFzIHdlbGwsIGluIGNhc2UgdXNlcnMgdHJ5IHRvIGNsaWNrIGl0LlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgdG9wOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tZGlzYWJsZWQsXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXSxcbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6ICguNSk7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1zdGFydCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDI0LCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IDEpO1xuXG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNyk7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJpY29uLXBvaW50ZXIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiaWNvbi1wb2ludGVyLTJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAxOXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuICAvLyBGb3IgdGhlIDFweCBhZGRpdGlvbiBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZC9wdWxsLzM2NSNkaXNjdXNzaW9uX3IxNTQzNDk0MjhcblxuICAkb2Zmc2V0OiAyO1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSArICRvZmZzZXQpOyAvLyBzMVxuICAgIHBhZGRpbmctYm90dG9tOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSAtICRvZmZzZXQgKyAxKTsgLy8gczFcbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBwYWRkaW5nLXRvcDogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgKyAkb2Zmc2V0KTsgLy8gczFcbiAgICBwYWRkaW5nLWJvdHRvbTogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgLSAkb2Zmc2V0ICsgMSk7IC8vIHMxXG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvY2hlY2tib3hlc1wiKSB7XG4gICRnb3Z1ay1jaGVja2JveGVzLXNpemU6IGdvdnVrLXNwYWNpbmcoNyk7XG4gICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMCAwIDAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06bGFzdC1jaGlsZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4IGRvZXNu4oCZdCBzdXBwb3J0IHBzZXVkb2VsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmUgZWxlbWVudHMgdGhlcmUuXG4gICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0IGVsZW1lbnQgZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0ICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgLy8gcGFkZGluZy1ib3R0b206IDFweDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMXB4O1xuICAgIGxlZnQ6IDlweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDdweDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwICRnb3Z1ay1ib3JkZXItd2lkdGggJGdvdnVrLWJvcmRlci13aWR0aDtcbiAgICAvLyBGaXggYnVnIGluIElFMTEgY2F1c2VkIGJ5IHRyYW5zZm9ybSByb3RhdGUgKC00NWRlZykuXG4gICAgLy8gU2VlOiBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy9pc3N1ZXMvNTE4XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBTaW5jZSBib3gtc2hhZG93cyBhcmUgcmVtb3ZlZCB3aGVuIHVzZXJzIGN1c3RvbWlzZSB0aGVpciBjb2xvdXJzXG4gICAgLy8gV2Ugc2V0IGEgdHJhbnNwYXJlbnQgb3V0bGluZSB0aGF0IGlzIHNob3duIGluc3RlYWQuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJGdvdnVrLWZvY3VzLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICB9XG5cbiAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTtcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIGNoZWNrYm94LlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstY2hlY2tib3hlcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgY2hlY2tib3hcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAuanMtZW5hYmxlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLW1lc3NhZ2VcIikge1xuICAuZ292dWstZXJyb3ItbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWVsZHNldFwiKSB7XG4gIC5nb3Z1ay1maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIC8vIEZpeCBsZWdlbmQgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRVxuICAgIC8vIDEuIElFOS0xMSAmIEVkZ2UgMTItMTNcbiAgICAvLyAyLiBJRTgtMTFcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7ICAgICAgICAgLy8gMlxuICAgIG1heC13aWR0aDogMTAwJTsgICAgICAgIC8vIDFcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gSGFjayB0byBsZXQgbGVnZW5kcyBvciBlbGVtZW50cyB3aXRoaW4gbGVnZW5kcyBoYXZlIG1hcmdpbnMgaW4gd2Via2l0IGJyb3dzZXJzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7ICAgIC8vIDFcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGVnZW5kcyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsZWdlbmQgY29udGFpbnMgYW4gSDEsIHdlIHdhbnQgdGhlIEgxIHRvIGluaGVyaXQgYWxsIHN0eWxlcyBmcm9tXG4gIC8vIHRoZSBsZWdlbmQuIEVmZmVjdGl2ZWx5IHdlIHdhbnQgdG8gYmUgYWJsZSB0byB0cmVhdCB0aGUgaGVhZGluZyBhcyBpZiBpdCBpc1xuICAvLyBub3QgdGhlcmUuXG4gIC5nb3Z1ay1maWVsZHNldF9faGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGludFwiKSB7XG4gIC5nb3Z1ay1oaW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgbWFyZ2luLWJvdHRvbSBvZiBoaW50IHdoZW4gdXNlZCBhZnRlciB0aGUgZGVmYXVsdCBsYWJlbCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWxhYmVsLS1zIGZvciBiZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50LlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIHdoZW4gdGhlIGxhYmVsIGlzIGluc2lkZSB0aGUgPGgxPiwgaG93ZXZlciBpdFxuICAvLyBpcyB1bmxpa2VseSB0aGF0IHRoZSBkZWZhdWx0IG9yIGdvdnVrLWxhYmVsLS1zIGNsYXNzIHdvdWxkIGJlIHVzZWQgaW4gdGhpc1xuICAvLyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLiBcbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLiBcbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQ6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwpOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIHZpc3VhbCBzcGFjaW5nIG9mIGxlZ2VuZCB3aGVuIHRoZXJlIGlzIGEgaGludFxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQsXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi10b3A6IC0oZ292dWstc3BhY2luZygxKSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2xhYmVsXCIpIHtcbiAgLmdvdnVrLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxhYmVscyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG5cbiAgLmdvdnVrLWxhYmVsLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGFiZWwgaXMgbmVzdGVkIGluc2lkZSBhIGhlYWRpbmcsIG92ZXJyaWRlIHRoZSBoZWFkaW5nIHNvIHRoYXQgaXRcbiAgLy8gZG9lcyBub3QgaGF2ZSBhIG1hcmdpbi4gRWZmZWN0aXZlbHkgd2Ugd2FudCB0byBiZSBhYmxlIHRvIHRyZWF0IHRoZSBoZWFkaW5nXG4gIC8vIGFzIGlmIGl0IGlzIG5vdCB0aGVyZS5cbiAgLy9cbiAgLy8gVGhpcyBicmVha3MgQkVNIGNvbnZlbnRpb25zIGJlY2F1c2UgaXQgZXhpc3RzIGFzIGEgcGFyZW50IG9mIHRoZSAnYmxvY2snLFxuICAvLyBzbyB3ZSBjYW4ndCByZWFsbHkgY29uc2lkZXIgYW4gZWxlbWVudC5cbiAgLmdvdnVrLWxhYmVsLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoYXJhY3Rlci1jb3VudFwiKSB7XG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXAsXG4gICAgLmdvdnVrLXRleHRhcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIC0gMjsgLy8gU3RvcCBhIFwianVtcFwiIHdoZW4gd2lkdGggb2YgYm9yZGVyIGNoYW5nZXNcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlLS1kaXNhYmxlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zdW1tYXJ5LWxpc3RcIikge1xuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAvLyBBdXRvbWF0aWMgd3JhcHBpbmcgZm9yIHVuYnJlYWthYmxlIHRleHQgKGUuZy4gVVJMcylcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyAvLyBXZWJLaXQvQmxpbmsgb25seVxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgLy8gU3RhbmRhcmRzXG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgICBwYWRkaW5nOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1yaWdodDogIGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIEluIG9sZGVyIGJyb3dzZXJzIHN1Y2ggYXMgSUU4LCA6bGFzdC1jaGlsZCBpcyBub3QgYXZhaWxhYmxlLFxuICAvLyBzbyBvbmx5IHNob3cgdGhlIGJvcmRlciBkaXZpZGVyIHdoZXJlIGl0IGlzIGF2YWlsYWJsZS5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0LS1uby1ib3JkZXIge1xuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLFxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2lucHV0L2lucHV0XCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9kYXRlLWlucHV0XCIpIHtcbiAgLmdvdnVrLWRhdGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIC8vIGZvbnQtc2l6ZTogMCByZW1vdmVzIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGlubGluZS1ibG9ja1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICAvLyBzZXR0aW5nIGFueSBiYWNrZ3JvdW5kLWNvbG9yIG1ha2VzIHRleHQgaW52aXNpYmxlIHdoZW4gY2hhbmdpbmcgY29sb3VycyB0byBkYXJrIGJhY2tncm91bmRzIGluIEZpcmVmb3ggKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzU0NzYpXG4gICAgLy8gYXMgYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgbmVlZCB0byBhbHdheXMgYmUgc2V0IHRvZ2V0aGVyLCBjb2xvciBzaG91bGQgbm90IGJlIHNldCBlaXRoZXJcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBEaXNhYmxlIGlubmVyIHNoYWRvdyBhbmQgcmVtb3ZlIHJvdW5kZWQgY29ybmVyc1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cblxuICAvLyBUaGUgZXggbWVhc3VyZW1lbnRzIGFyZSBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIFcncyB0aGF0IGNhbiBmaXQgaW5zaWRlIHRoZSBpbnB1dFxuICAvLyBFeHRyYSBzcGFjZSBpcyBsZWZ0IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgdG8gYWxsb3cgZm9yIHRoZSBTYWZhcmkgcHJlZmlsbCBpY29uXG4gIC8vIExpbmVhciByZWdyZXNzaW9uIGVzdGltYXRpb24gYmFzZWQgb24gdmlzdWFsIHRlc3RzOiB5ID0gMS43NiArIDEuODF4XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0zMCB7XG4gICAgbWF4LXdpZHRoOiA1NmV4ICsgM2V4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yMCB7XG4gICAgbWF4LXdpZHRoOiAzOGV4ICsgM2V4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0xMCB7XG4gICAgbWF4LXdpZHRoOiAyMGV4ICsgM2V4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC01IHtcbiAgICBtYXgtd2lkdGg6IDEwLjhleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNCB7XG4gICAgbWF4LXdpZHRoOiA5ZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMge1xuICAgIG1heC13aWR0aDogNy4yZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTIge1xuICAgIG1heC13aWR0aDogNS40ZXg7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGV0YWlsc1wiKSB7XG5cbiAgLmdvdnVrLWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnkge1xuICAgIC8vIE1ha2UgdGhlIGZvY3VzIG91dGxpbmUgc2hyaW5rLXdyYXAgdGhlIHRleHQgY29udGVudCBvZiB0aGUgc3VtbWFyeVxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIEFic29sdXRlbHkgcG9zaXRpb24gdGhlIG1hcmtlciBhZ2FpbnN0IHRoaXMgZWxlbWVudFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBBbGxvdyBmb3IgYWJzb2x1dGVseSBwb3NpdGlvbmVkIG1hcmtlciBhbmQgYWxpZ24gd2l0aCBkaXNjbG9zZWQgdGV4dFxuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KSArICRnb3Z1ay1ib3JkZXItd2lkdGg7XG5cbiAgICAvLyBTdHlsZSB0aGUgc3VtbWFyeSB0byBsb29rIGxpa2UgYSBsaW5rLi4uXG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAvLyAuLi5idXQgb25seSB1bmRlcmxpbmUgdGhlIHRleHQsIG5vdCB0aGUgYXJyb3dcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmZvY3VzIHtcbiAgICAvLyAtMXB4IG9mZnNldCBmaXhlcyBnYXAgYmV0d2VlbiBiYWNrZ3JvdW5kIGFuZCBvdXRsaW5lIGluIEZpcmVmb3hcbiAgICBvdXRsaW5lOiAoJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4KSBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBkZXRhaWxzIG1hcmtlciBzbyB3ZSBjYW4gc3R5bGUgb3VyIG93biBjb25zaXN0ZW50bHkgYW5kXG4gIC8vIGVuc3VyZSBpdCBkaXNwbGF5cyBpbiBGaXJlZm94IChzZWUgaW1wbGVtZW50YXRpb24ubWQgZm9yIGRldGFpbHMpXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQXBwZW5kIG91ciBvd24gb3BlbiAvIGNsb3NlZCBtYXJrZXIgdXNpbmcgYSBwc2V1ZG8tZWxlbWVudFxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogcmlnaHQsICRiYXNlOiAxNHB4KTtcblxuICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dID4gJiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTRweCk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3Jvc3MtY29tcG9uZW50IGNsYXNzIC0gYWRqdXN0cyBzdHlsaW5nIG9mIGxpc3QgY29tcG9uZW50XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCBhIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBsaW5rIHN0eWxpbmcgdG8gdXNlIGVycm9yIGNvbG91clxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmlsZS11cGxvYWRcIikge1xuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG4gIH1cblxuICAuZ292dWstZmlsZS11cGxvYWQtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZm9vdGVyXCIpIHtcblxuICAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1mb290ZXItYm9yZGVyLXRvcDogI2ExYWNiMjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKTtcbiAgJGdvdnVrLWZvb3Rlci10ZXh0OiAjNDU0YTRjO1xuICAkZ292dWstZm9vdGVyLWxpbms6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyOiAjMTcxODE5O1xuXG4gIC8vIEJhc2VkIG9uIHRoZSBnb3Z1ay1jcmVzdC0yeC5wbmcgaW1hZ2UgZGltZW5zaW9ucy5cbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeDogMjUwcHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4OiAyMDRweDtcbiAgLy8gSGFsZiB0aGUgMnggaW1hZ2Ugc28gdGhhdCBpdCBmaXRzIHRoZSByZWd1bGFyIDF4IHNpemUuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoLTJ4IC8gMik7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQtMnggLyAyKTtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDcsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg1LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb290ZXItbGluaztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbmstaG92ZXI7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg1KTtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtLS1ncm93IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDMyMHB4O1xuICAgICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMjBweDtcbiAgICAgICAgICAgICAgZmxleC1iYXNpczogMzIwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2NvcHlyaWdodC1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQgKyBnb3Z1ay1zcGFjaW5nKDIpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC5wbmdcIik7XG4gICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LTJ4LnBuZ1wiKTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtY3VzdG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNywgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAvLyBFbnN1cmUgY29sdW1ucyB0YWtlIHVwIGVxdWFsIHdpZHRoICh0eXBpY2FsbHkgb25lLWhhbGY6b25lLWhhbGYpXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXgtZ3JvdzogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgbXEgKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgLy8gTWFrZSBzdXJlIGNvbHVtbnMgZG8gbm90IGRyb3AgYmVsb3cgMjAwcHggaW4gd2lkdGhcbiAgICAgIC8vIFdpbGwgdHlwaWNhbGx5IHJlc3VsdCBpbiB3cmFwcGluZywgYW5kIGVuZCB1cCBpbiBhIHNpbmdsZSBjb2x1bW4gb24gc21hbGxlciBzY3JlZW5zLlxuICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAyMDBweDtcbiAgICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjAwcHg7XG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwMHB4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLy8gU2VjdGlvbnMgdHdvLXRoaXJkOm9uZS10aGlyZCBvbiBkZXNrdG9wXG4gIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMjtcbiAgICAgIC13ZWJraXQtZmxleC1ncm93OiAyO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAyO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGdvdnVrLWd1dHRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgfVxuXG4gIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMiB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0zIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy90eXBvZ3JhcGh5XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGVhZGVyXCIpIHtcblxuICAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjogJGdvdnVrLWJyYW5kLWNvbG91cjtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG4gICRnb3Z1ay1oZWFkZXItdGV4dDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluazogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1ob3ZlcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU6ICMxZDhmZWI7XG4gICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yOiAjMmUzMTMzO1xuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ7XG5cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lci0tZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZzogMCBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG5cbiAgICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgICByaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXI6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIHtcbiAgICAvLyBGb250IHNpemUgbmVlZHMgdG8gYmUgc2V0IG9uIHRoZSBsaW5rIHNvIHRoYXQgdGhlIGJveCBzaXppbmcgaXMgY29ycmVjdFxuICAgIC8vIGluIEZpcmVmb3hcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyBXZSBkb24ndCBoYXZlIGEgbWl4aW4gdGhhdCBwcm9kdWNlcyAzMHB4IGZvbnQgc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAvLyBOZWdhdGUgdGhlIGFkZGVkIGJvcmRlclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICAgIC8vIE9taXR0aW5nIGNvbG91ciB3aWxsIHVzZSBkZWZhdWx0IHZhbHVlIG9mIGN1cnJlbnRDb2xvciDigJMgaWYgd2VcbiAgICAgIC8vIHNwZWNpZmllZCBjdXJyZW50Q29sb3IgZXhwbGljaXRseSBJRTggd291bGQgaWdub3JlIHRoaXMgcnVsZS5cbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1zZXJ2aWNlLW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ28sXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDgpO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgcGFkZGluZy1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbms7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24tLW9wZW4ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHVwLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgXCJib3R0b21cIik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC5qcy1lbmFibGVkIHtcbiAgICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kIHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLW5vLXNlcnZpY2UtbmFtZSB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNyk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0ge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWhlYWRlci1uYXYtaXRlbS1ib3JkZXItY29sb3I7XG5cbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtLS1hY3RpdmUge1xuICAgIGEge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIC5nb3Z1ay1oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGludmVydGVkIGNyb3duIHdoZW4gcHJpbnRpbmcgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IFNWRy5cbiAgICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgfVxuXG4gICAgICAvLyBEbyBub3QgYXBwZW5kIGxpbmsgaHJlZiB0byBHT1YuVUsgbGluayB3aGVuIHByaW50aW5nIChlLmcuICcoLyknKVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLFxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTRweDtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgICRvZmZzZXQ6IDNweDtcbiAgICBwYWRkaW5nLXRvcDogJG9mZnNldDtcbiAgfVxuICAvLyBFbmQgYWRqdXN0bWVudHNcblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5zZXQtdGV4dFwiKSB7XG4gIC5nb3Z1ay1pbnNldC10ZXh0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKTtcbiAgICAvLyBNYXJnaW4gdG9wIGludGVuZGVkIHRvIGNvbGxhcHNlXG4gICAgLy8gVGhpcyBhZGRzIGFuIGFkZGl0aW9uYWwgMTBweCB0byB0aGUgcGFyYWdyYXBoIGFib3ZlXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBjbGVhcjogYm90aDtcblxuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLXdpZGUgc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA6b25seS1jaGlsZCxcbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFuZWxcIikge1xuXG4gIC5nb3Z1ay1wYW5lbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZyg3KSAtICRnb3Z1ay1ib3JkZXItd2lkdGg7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg2KSAtICRnb3Z1ay1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhbmVsLS1jb25maXJtYXRpb24ge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ0dXJxdW9pc2VcIik7XG4gIH1cblxuICAuZ292dWstcGFuZWxfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstcGFuZWxfX3RpdGxlOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstcGFuZWxfX2JvZHkge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2KTtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL3RhZy90YWdcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9waGFzZS1iYW5uZXJcIikge1xuICAuZ292dWstcGhhc2UtYmFubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcblxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX2NvbnRlbnRfX3RhZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fdGV4dCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhZ1wiKSB7XG4gIC5nb3Z1ay10YWcge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgLy8gU2luY2UgTmV3IFRyYW5zcG9ydCBzaXRzIHNsaWdodGx5IGhpZ2hlciB0aGFuIG90aGVyIGNvbW1vbiBmb250cy5cbiAgICAvLyBXZSB1c2UgaW50ZW50aW9uYWxseSB1bmV2ZW4gcGFkZGluZyB0byBtYWtlIGl0IGJhbGFuY2VkLCB0aGlzIGNhbiBiZVxuICAgIC8vIHJlbW92ZWQgdXNpbmcgdGhlIHZlcnNpb24gb2YgdGhlIGZvbnQgdGhhdCBoYXMgYSBtb3JlIGNvbW1vbiB2ZXJ0aWNhbCBzcGFjaW5nLlxuICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgb2Z0ZW4gdGhlIGJhY2tncm91bmQgaXMgcmVtb3ZlZCxcbiAgICAvLyBieSBhZGRpbmcgYSBvdXRsaW5lIHdlIGVuc3VyZSB0aGF0IHRoZSB0YWcgY29tcG9uZW50IHN0aWxsIGtlZXBzIGl0J3MgbWVhbmluZy5cbiAgICAvLyBodHRwczovL2FjY2Vzc2liaWxpdHkuYmxvZy5nb3YudWsvMjAxNy8wMy8yNy9ob3ctdXNlcnMtY2hhbmdlLWNvbG91cnMtb24td2Vic2l0ZXMvXG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuXG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0taW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImdyZXktMVwiKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFic1wiKSB7XG5cbiAgLmdvdnVrLXRhYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigxLCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLigJQgXCI7XG4gICAgICBtYXJnaW4tbGVmdDogLSBnb3Z1ay1zcGFjaW5nKDUpO1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fdGFiIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgJlthcmlhLWN1cnJlbnQgPSBcInRydWVcIl0ge1xuICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAvLyBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmpzLWVuYWJsZWQge1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuXG4gICAgICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTRcIik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICYtLXNlbGVjdGVkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtIGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgICAgICAgIC8vIDFweCBpcyBjb21wZW5zYXRpb24gZm9yIGJvcmRlciAob3RoZXJ3aXNlIHdlIGdldCBhIDFweCBzaGlmdClcbiAgICAgICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKSAtIDFweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gMXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpICsgMXB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KSAtIDFweDtcblxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMCwgXCJib3R0b21cIik7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9maWVsZHNldFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcmFkaW9zXCIpIHtcbiAgJGdvdnVrLXJhZGlvcy1zaXplOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgLy8gV2hlbiB0aGUgZGVmYXVsdCBmb2N1cyB3aWR0aCBpcyB1c2VkIG9uIGEgY3VydmVkIGVkZ2UgaXQgbG9va3MgdmlzdWFsbHkgc21hbGxlci5cbiAgLy8gU28gZm9yIHRoZSBjaXJjdWxhciByYWRpb3Mgd2UgYnVtcCB0aGUgZGVmYXVsdCB0byBtYWtlIGl0IGxvb2sgdmlzdWFsbHkgY29uc2lzdGVudC5cbiAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aDogJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwIDAgMCAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvZWxlbWVudHMsIHNvIHdlIGRvbuKAmXQgd2FudCB0byBoaWRlIG5hdGl2ZSBlbGVtZW50cyB0aGVyZS4gRG91YmxlIGNvbG9ucyBnZXQgb21taXRlZCBieSBJRTguXG4gICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0IGVsZW1lbnQgZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0ICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgbGVmdDogZ292dWstc3BhY2luZygyKTtcblxuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcblxuICAgIGJvcmRlcjogZ292dWstc3BhY2luZygyKSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIC8vIFNpbmNlIGJveC1zaGFkb3dzIGFyZSByZW1vdmVkIHdoZW4gdXNlcnMgY3VzdG9taXNlIHRoZWlyIGNvbG91cnNcbiAgICAvLyBXZSBzZXQgYSB0cmFuc3BhcmVudCBvdXRsaW5lIHRoYXQgaXMgc2hvd24gaW5zdGVhZC5cbiAgICAvLyBodHRwczovL2FjY2Vzc2liaWxpdHkuYmxvZy5nb3YudWsvMjAxNy8wMy8yNy9ob3ctdXNlcnMtY2hhbmdlLWNvbG91cnMtb24td2Vic2l0ZXMvXG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAkZ292dWstZm9jdXMtd2lkdGg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICB9XG5cbiAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxuXG4gIC8vIElubGluZSB2YXJpYW50XG4gIC5nb3Z1ay1yYWRpb3MtLWlubGluZSB7XG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuXG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJldmVudCBpbmxpbmUgbW9kaWZpZXIgYmVpbmcgdXNlZCB3aXRoIGNvbmRpdGlvbmFsIHJldmVhbHNcbiAgICAmLmdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWwge1xuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fZGl2aWRlciB7XG4gICAgJGdvdnVrLWRpdmlkZXItc2l6ZTogJGdvdnVrLXJhZGlvcy1zaXplICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogJGdvdnVrLWRpdmlkZXItc2l6ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbW9iaWxlO1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgcmFkaW9zLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstcmFkaW9zLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSByYWRpb3NcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmpzLWVuYWJsZWQgJi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2VsZWN0XCIpIHtcbiAgLmdvdnVrLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gc2hvdWxkIHRoaXMgYmUgZ2xvYmFsP1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTsgLy8gd2FzIDVweCA0cHggNHB4IC0gc2l6ZSBvZiBpdCBzaG91bGQgYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggb3RoZXIgZm9ybSBlbGVtZW50c1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc2VsZWN0IG9wdGlvbjphY3RpdmUsXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmNoZWNrZWQsXG4gIC5nb3Z1ay1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIH1cblxuICAuZ292dWstc2VsZWN0LS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NraXAtbGlua1wiKSB7XG4gIC5nb3Z1ay1za2lwLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMTYpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJsZVwiKSB7XG4gIC5nb3Z1ay10YWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAvLyBHT1YuVUsgRWxlbWVudHMgc2V0cyB0aGUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodCBmb3IgYWxsIGhlYWRlcnMgYW5kIGNlbGxzXG4gICAgLy8gaW4gdGFibGVzLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfZWxlbWVudHMpIHtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2VsbC0tbnVtZXJpYyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR0YWJ1bGFyOiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLS1udW1lcmljLFxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXI6bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXRhYmxlX19jZWxsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90ZXh0YXJlYVwiKSB7XG4gIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gc2hvdWxkIHRoaXMgYmUgZ2xvYmFsP1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstdGV4dGFyZWEtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3dhcm5pbmctdGV4dFwiKSB7XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2Fzc2lzdGl2ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9faWNvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgbWluLWhlaWdodDogMjlweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDsgLy8gSGFsZiB0aGUgaGVpZ2h0IG9mIHRoZSBjaXJjbGUgKGFkanVzdGVkIGZvciBOVEEpXG4gICAgcGFkZGluZy10b3A6IDNweDtcblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgd2lsbCBvZnRlbiBiZSByZW1vdmVkLlxuICAgIC8vIEFkZGluZyBhIGJvcmRlciB0byB0aGUgY29tcG9uZW50IGtlZXBzIGl0J3Mgc2hhcGUgYXMgYSBjaXJjbGUuXG4gICAgYm9yZGVyOiAzcHggc29saWQgZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIFByZXZlbnQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgZnJvbSBiZWluZyBpbmNsdWRlZCB3aGVuIHRoZSB3YXJuaW5nIHRleHRcbiAgICAvLyBpcyBjb3BpZWQsIGZvciBleGFtcGxlLlxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X190ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJjbGVhcmZpeFwiO1xuQGltcG9ydCBcInZpc3VhbGx5LWhpZGRlblwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL3V0aWxpdGllcy9jbGVhcmZpeFwiKSB7XG4gIC5nb3Z1ay1jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvdmlzdWFsbHktaGlkZGVuXCIpIHtcbiAgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xuICB9XG5cbiAgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcImRpc3BsYXlcIjtcbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcIndpZHRoXCI7XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL2Rpc3BsYXlcIikge1xuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgb3ZlcnJpZGVzXG4vLy8vXG5cbi8vLyBEaXJlY3Rpb25zIGZvciBzcGFjaW5nXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9zcGFjaW5nLWRpcmVjdGlvbnM6IChcbiAgXCJ0b3BcIixcbiAgXCJyaWdodFwiLFxuICBcImJvdHRvbVwiLFxuICBcImxlZnRcIlxuKSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgb3ZlcnJpZGUgY2xhc3Nlc1xuLy8vXG4vLy8gR2VuZXJhdGUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgKGUuZy4gbWFyZ2luKVxuLy8vIGZvciBlYWNoIHBvaW50IGluIHRoZSBzcGFjaW5nIHNjYWxlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLVxcIS1tYXJnaW4tMCB7XG4vLy8gICAgICBtYXJnaW46IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgLmdvdnVrLVxcIS1tYXJnaW4tdG9wLTEge1xuLy8vICAgICBtYXJnaW4tdG9wOiBbd2hhdGV2ZXIgc3BhY2luZyBwb2ludCAxIGlzLi4uXVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZ2VuZXJhdGUtc3BhY2luZy1vdmVycmlkZXMoJHByb3BlcnR5KSB7XG4gIC8vIEZvciBlYWNoIHBvaW50IGluIHRoZSBzcGFjaW5nIHNjYWxlIChkZWZpbmVkIGluIHNldHRpbmdzKSwgY3JlYXRlIGFuXG4gIC8vIG92ZXJyaWRlIHRoYXQgYWZmZWN0cyBhbGwgZGlyZWN0aW9ucy4uLlxuICBAZWFjaCAkc2NhbGUtcG9pbnQsICRzY2FsZS1tYXAgaW4gJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSB7XG5cbiAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRzY2FsZS1wb2ludH0ge1xuXG4gICAgICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRzY2FsZS1wb2ludCwgJHByb3BlcnR5LCBcImFsbFwiLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyAuLi4gYW5kIHRoZW4gYW4gb3ZlcnJpZGUgZm9yIGVhY2ggaW5kaXZpZHVhbCBkaXJlY3Rpb25cbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluICRfc3BhY2luZy1kaXJlY3Rpb25zIHtcblxuICAgICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufS0jeyRzY2FsZS1wb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRzY2FsZS1wb2ludCwgJHByb3BlcnR5LCAkZGlyZWN0aW9uLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9zcGFjaW5nXCIpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwibWFyZ2luXCIpO1xuICBAaW5jbHVkZSBfZ292dWstZ2VuZXJhdGUtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy90eXBvZ3JhcGh5XCIpIHtcbiAgLy8gRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodFxuXG4gIC8vIEdlbmVyYXRlIHR5cG9ncmFwaHkgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgZWFjaCByZXNwb25zaXZlIGZvbnQgbWFwIGluIHRoZVxuICAvLyB0eXBvZ3JhcGh5IHNjYWxlIGVnIC5nb3Z1ay1cXCEtZm9udC1zaXplLTgwXG4gIEBlYWNoICRzaXplIGluIG1hcC1rZXlzKCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlKSB7XG4gICAgLmdvdnVrLVxcIS1mb250LXNpemUtI3skc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZWlnaHRzXG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1yZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1ib2xkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3dpZHRoXCIpIHtcbiAgLmdvdnVrLVxcIS13aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10aHJlZS1xdWFydGVycyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXR3by10aGlyZHMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNjYuNjYlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtaGFsZiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS10aGlyZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1xdWFydGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3Y5LjMuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtbmF2LnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLFxuLy8gbm9yIGFuIGV4YW1wbGUgb2YgdGhlIGJlc3Qgd2F5IHRvIHVzZSBHT1YuVUsgRnJvbnRlbmRcblxuLmFwcC1zdGVwLW5hdi1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImdyZXktNFwiKTtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX19wYXJ0LW9mIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZClcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAwLjJlbTtcbn1cblxuLmFwcC1zdGVwLW5hdi1oZWFkZXJfX3RpdGxlIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgyNCwgJHdlaWdodDogYm9sZClcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZClcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rcyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkLS1zaW5ndWxhciB7XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7XG5cbiAgLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkKVxuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX3ByZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19wcmV0aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmstaXRlbSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdiB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAmLmFwcC1zdGVwLW5hdi0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRyb2xzIHtcbiAgcGFkZGluZzogM3B4IDNweCAwIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyByZW1vdmVzIGV4dHJhIGRvdHRlZCBvdXRsaW5lIGZyb20gYnV0dG9ucyBpbiBGaXJlZm94XG4vLyBvbiBmb2N1cyAoc3RhbmRhcmQgeWVsbG93IG91dGxpbmUgdW5hZmZlY3RlZClcbi5hcHAtc3RlcC1uYXZfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uLS10aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoMjQsICR3ZWlnaHQ6IGJvbGQpXG4gIH1cblxufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24tLWNvbnRyb2xzIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNClcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyAvLyB0aGlzIGFuZCByZWxhdGl2ZSBwb3NpdGlvbiBzdG9wcyBmb2N1cyBvdXRsaW5lIHVuZGVybGFwIHdpdGggYm9yZGVyIG9mIGFjY29yZGlvblxuICBwYWRkaW5nOiAwLjVlbSAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgxNilcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwcyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItbGVmdDogc29saWQgMnB4ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgdG9wOiAxNXB4O1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3N0ZXAge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3N0ZXA6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgdG9wOiAzMHB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDY7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IDYuNXB4O1xuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGdvdnVrLWJvcmRlci1jb2xvdXI7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZDphZnRlciB7XG4gIGhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUgLSAxNXB4KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNXB4KTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcDpsYXN0LWNoaWxkIC5hcHAtc3RlcC1uYXZfX2hlbHA6YWZ0ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fc3RlcDpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguNzVweDtcbiAgICB3aWR0aDogMTcuNXB4O1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fc3RlcDpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAtLWFjdGl2ZSAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcixcbi5hcHAtc3RlcC1uYXZfX3N0ZXAtLWFjdGl2ZSAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyLFxuLmFwcC1zdGVwLW5hdl9fc3RlcC0tYWN0aXZlIC5hcHAtc3RlcC1uYXZfX3N1YnN0ZXA6YWZ0ZXIsXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmU6YWZ0ZXIsXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmU6bGFzdC1jaGlsZDpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1O1xuICB0b3A6IDE1cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICAgIHRvcDogMzBweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKVxuICBsaW5lLWhlaWdodDogMjNweDtcbiAgYm9yZGVyOiBzb2xpZCAycHggJGdvdnVrLWJvcmRlci1jb2xvdXI7XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlciB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpXG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpXG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLWxvZ2ljIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpXG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbG9naWMge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtaW5uZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLWJhY2tncm91bmQge1xuICB0ZXh0LXNoYWRvdzogMCAtMC4xZW0gMCAjZmZmLCAwLjFlbSAwIDAgI2ZmZiwgMCAwLjFlbSAwICNmZmYsIC0wLjFlbSAwIDAgI2ZmZjtcbn1cblxuLmFwcC1zdGVwLW5hdl9faGVhZGVyIHtcbiAgcGFkZGluZzogMTVweCAwO1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggZ292dWstY29sb3VyKFwiZ3JleS0zXCIpO1xufVxuXG4uYXBwLXN0ZXAtbmF2LS1hY3RpdmUgLmFwcC1zdGVwLW5hdl9faGVhZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkZXI6aG92ZXIgLmFwcC1zdGVwLW5hdl9fYnV0dG9uLFxuLmFwcC1zdGVwLW5hdl9faGVhZGVyOmhvdmVyIC5hcHAtc3RlcC1uYXZfX2NpcmNsZSB7XG4gIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlYWRlcjpob3ZlciAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX2hlYWRlciB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3RpdGxlIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZClcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luOiAwO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3RvZ2dsZS1saW5rIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNilcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG59XG5cbi5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3RvZ2dsZS1saW5rIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNilcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fcGFuZWwge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2KVxuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgLmpzLWVuYWJsZWQgJi5qcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2X19wYW5lbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3BhbmVsIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxOSlcbn1cblxuLmFwcC1zdGVwLW5hdl9faGVhZGluZyxcbi5hcHAtc3RlcC1uYXZfX3BhcmFncmFwaCB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLmFwcC1zdGVwLW5hdl9faGVhZGluZyArIC5hcHAtc3RlcC1uYXZfX2xpc3QsXG4uYXBwLXN0ZXAtbmF2X19wYXJhZ3JhcGggKyAuYXBwLXN0ZXAtbmF2X19saXN0IHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19oZWFkaW5nICsgLmFwcC1zdGVwLW5hdl9fbGlzdCxcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoICsgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19oZWFkaW5nLFxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19wYXJhZ3JhcGgge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlYWRpbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xufVxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LS1jaG9pY2Uge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC0tY2hvaWNlIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gIGxlZnQ6IC00NXB4O1xufVxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19saXN0LS1jaG9pY2UgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICBsZWZ0OiAtODBweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgdG9wOiAwLjZlbTtcbiAgbGVmdDogLTQ1cHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICBib3JkZXI6IHNvbGlkIDJweCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICBsZWZ0OiAtNjBweDtcbiAgICBtYXJnaW4tbGVmdDogOS41cHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmUgLmFwcC1zdGVwLW5hdl9fbGluayB7XG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSAuYXBwLXN0ZXAtbmF2X19saW5rOmFjdGl2ZSxcbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlIC5hcHAtc3RlcC1uYXZfX2xpbms6bGluayxcbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlIC5hcHAtc3RlcC1uYXZfX2xpbms6dmlzaXRlZCB7XG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fY29udGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXFwyMDEzXFwwMGEwXCI7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlbHAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGdvdnVrLWNvbG91cihcImdyZXktM1wiKTtcbn1cblxuLmFwcC1zdGVwLW5hdl9faGVscDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IGRvdHRlZCAycHggJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICB6LWluZGV4OiAzO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC00NXB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIDMwcHgpO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX2hlbHA6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgbGVmdDogLTYwcHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAzMHB4ICsgMTVweCk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9faGVscC1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFwcC1zdGVwLW5hdl9faGVscC1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N1YnN0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggZ292dWstY29sb3VyKFwiZ3JleS0zXCIpO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19zdWJzdGVwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItbGVmdDogc29saWQgMnB4ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgei1pbmRleDogMztcbiAgdG9wOiAwO1xuICBsZWZ0OiAtNDVweDtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19zdWJzdGVwIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3N1YnN0ZXA6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgbGVmdDogLTYwcHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fc3Vic3RlcC0tb3B0aW9uYWw6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1zdHlsZTogZG90dGVkO1xufVxuIiwiLy8gVGFzayBsaXN0IHBhdHRlcm5cblxuLmFwcC10YXNrLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogNTUwcHg7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZToyNCwgJHdlaWdodDogYm9sZCk7XG59XG5cbi5hcHAtdGFzay1saXN0X19zZWN0aW9uLW51bWJlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogZ292dWstc3BhY2luZyg2KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtcyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOSwgXCJib3R0b21cIik7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KTtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3Rhc2stbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogNDUwcHgpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X190YXNrLWNvbXBsZXRlZCB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IDQ1MHB4KSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLy8gVGhpcyBpcyBhIEdPVi5VSyBQdWJsaXNoaW5nIHNwZWNpZmljIGNvbXBvbmVudCB0aGF0XG4vLyBjYW4gYmUgc2VlbiBhdCBodHRwOi8vZ292dWstc3RhdGljLmhlcm9rdWFwcC5jb20vY29tcG9uZW50LWd1aWRlL3JlbGF0ZWRfaXRlbXNcblxuLmFwcC1yZWxhdGVkLWl0ZW1zIHtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbn1cblxuLmFwcC1yZWxhdGVkLWl0ZW1zIC5nb3Z1ay1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuIiwiLmFwcC1jb29raWUtYmFubmVyIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcclxuXHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XHJcbiAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygzKTtcclxuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcclxuICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMyk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihkZXNhdHVyYXRlKGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIiksIDguNDYpLCA0Mi41NSk7XHJcbn1cclxuXHJcbi5hcHAtY29va2llLWJhbm5lcl9fbWVzc2FnZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcclxufVxyXG5cclxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XHJcbiAgLmFwcC1jb29raWUtYmFubmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QXdDUUUsQUFOQSxXQU1XLEVLSlgsQ0FBQyxDTEZXO0VIYVosV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdB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 */
