/**
 * ╒═══════════════════════════════════════╕
 * │           HoW tO wrItE CoDE           │
 * ╞═══════════════════╤═══════════════════╡
 * │          variable │ --like-this       │
 * │ cust. media query │ --[for|when]-[..] │
 * ├───────────────────┼───────────────────┤
 * │      layout, obj. │ .o-[..]           │
 * │    element, cmpt. │ .like-this        │
 * │         CSS state │ .[is|has]-[..]    │
 * │          JS state │ .js-[..]          │
 * │       theme, mod. │ .-like-this       │
 * └───────────────────┴───────────────────┘
 */

/* --- Styles --- */

:root {
    /* Colors - Base 16 Eighties */

    /* Text - Default */

    /* Text - Headings */ /* 5rem @ 1440px -> 2.8rem @ 320px */ /* 3.6rem @ 1440px -> 2.4rem @ 320px */ /* 3rem @ 1440px -> 2.1rem @ 320px */ /* 2.5rem @ 1440px -> 1.9rem @ 320px */ /* 2rem @ 1440px -> 1.8rem @ 320px */ /* min font-size to avoid scaling on focus */

    /* Page - default, layout */ /* not final */

    /* Spacing */  /*vlt 8rem*/

    /* Rwd */ /* contact 1 */

    /* Form */

    /* Button */

    /* Timings */

    /* Default space units */                 /*   0  em | Allows line break, like <wbr> */                /* 1/24 em | Width varies, but narrower than thin space */                 /* 1/8  em | For French punctuation */          /* 1/6  em | Might be suitable for grouping */                   /* 1/5  em | Recommended minimum width of space */ /* 4/18 em | Around operators (according to Chicago) */           /* 1/4  em | mid space: Average width of normal space */               /* 5/18 em | Around relational operators (according to Chicago) */        /* 1/3  em | Width of space in a wide font */                     /* 1/2  em | Recommended maximum width of space */                       /*   1  em | One */

    /* Breakpoints */
}

/* Media queries */

/* --- Themes --- */

.has-background.-gray {
    background-color: #F2F2F2;
}

.has-background.-cyan {
    background-color: #46C8CD;
}

.has-background.-cyan-gradient {
    background: linear-gradient(180deg, rgba(70, 200, 205, 0.698) 0%, rgba(70, 200, 205, 1) 73.9%, rgba(70, 200, 205, 1) 100%), #fff;
}

.has-background.-green {
    background-color: #A5DC6E;
}

.has-background.-light {
    background-color: #ffffff;
}

.has-background.-gradient {
    background-color: linear-gradient(0, #A5DC6E 0%, #a5dc6e 42.6%, #46c8cd 76.4%, #46c8cd 100%);
}

.has-background.-dark {
    background-color: #2B2C29;
}

@media (max-width: 991px) {
    .has-background-md-down.-gray {
        background-color: #F2F2F2;
    }
}

.-blogOverview {
    background: #2B2C29;
}

.-home .page-nav,
.-blogOverview .page-nav {
    color: #ffffff;
}

.-home .page-header {
    background-color: transparent;
}

.-home .page-header.js-background,
.-blogOverview .page-header {
    background-color: #2B2C29;
}

/* Link */

main p a,
a.simple-link {
    color: #A5DC6E;
    text-decoration: none;
    transition: 250ms color ease;
}

@media (min-width: 544px) {
    main p a:hover,
    a.simple-link:hover,
    a.simple-link:focus {
        color: #46C8CD;
    }
}

.dl {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.dl dt {
    margin-right: 1em;
    margin-bottom: 0;
}

.dl dd {
    margin-bottom: 1em;
    text-align: right;
}

.definition {
    text-align: right;
}

.definition * {
    float:left;
}

.small-screen-only {
    display: none;
}

@media (max-width: 768px) {
    .small-screen-only {
        display: inline-block;
    }
}

article hr {
    border: 0;
    border-bottom: 1px solid black;
    margin: 1.75em 10rem;
}

article ol,
article ul {
    list-style: disc;
    list-style-position: inside;
}

.o-editorial + .o-editorial:not([class*="cell-"]),
.o-lazy-media + .o-editorial:not([class*="cell-"]),
.o-google-map + .o-editorial:not([class*="cell-"]) {
    margin-top: 20rem;
}

.o-editorial + .o-lazy-media:not([class*="cell-"]),
.o-editorial + .o-google-map:not([class*="cell-"]) {
    margin-top: 20rem;
}

.o-lazy-media {
    position: relative;
}

/* --- Lazy Media Editorial --- */

.o-lazy-media .o-editorial {
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    color: white;
    transform: translate(-50%, -50%);
}

.o-lazy-media .o-editorial .title {
    color: inherit;
}

/* --- Search --- */

.o-search {
    list-style: none;
}

.o-search .search-result:not(:last-child) {
    margin-bottom: 20rem
}

.o-breadcrumbs {
    margin-bottom: 1.5em;
}

.o-breadcrumbs li.splitter {
    margin: 0 1em;
}

.o-breadcrumbs li:last-child {
    display: none;
}

.o-breadcrumbs .link {
    transition: opacity 250ms;
    text-decoration: none;
    outline: 0;
    position: relative;
}

.o-breadcrumbs .has-svg-icon {
    line-height: inherit;
}

form {
    position: relative;
}

/* --- Default settings --- */

fieldset {
    position: relative;
    display: inline-block;
    min-width: 100%;
    margin-bottom: 3rem;
}

/*@media (--for-sm-down) {*/

/*    fieldset {*/

/*        margin-bottom: 2rem;*/

/*    }*/

/*}*/

fieldset:last-child {
    margin-bottom: 0;
}

.required-legend {
    font-size: 15px;
}

.winnie {
    display: block;
    position: absolute;
    overflow: hidden;
    right: -2466px;
}

.winnie label {
    position: static;
}

fieldset .form-item {
    display: inline-block;
    margin-right: 2em;
    vertical-align: top;
}

button, input, textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
}

button:-moz-ui-invalid,
input:-moz-ui-invalid,
textarea:-moz-ui-invalid {
    box-shadow: 0 0;
}

button, input, textarea, label {
    transition: 350ms;
}

input, textarea {
    border-radius: 0;
    font-family: inherit;
    font-size: inherit;
}

form button,
label:not(.is-static),
input[type="radio"],
input[type="checkbox"],
input[type="submit"],
input[type="button"] {
    cursor: pointer;
}

form button,
form button.has-svg-icon,
input[type="submit"],
input[type="button"] {
    padding: 0.75em 1em 0.85em 1em;
    border-radius: 4px;
    border: 1px solid #2B2C29;
    line-height: 1.25em;
    background: #2B2C29;
    color: #fff;
}

form button.has-svg-icon {
    padding: 0.5em;
    min-height: 2.25em; /* line-height + padding */
    min-width: 2.25em;
}

form button.has-svg-icon > svg {
    max-height: 1em;
}

form button:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
    outline: 0;
    background: #2B2C29;
    /*box-shadow: 0 0 0 1px var(--page-background), 0 0 0 4px hsla(var(--form-active-color), 0.35);*/
}

@media (min-device-width: 1026px) {
    form button:hover,
    input[type="submit"]:hover,
    input[type="button"]:hover {
        background: #2B2C29;
    }
}

@media (max-device-width: 1024px) {
    form button:active,
    input[type="submit"]:active,
    input[type="button"]:active {
        background: #2B2C29;
    }
}

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

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

label,
legend {
    display: inline-block;
    line-height: 1.15em;
    margin-bottom: 1.15em;
}

select, option {
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color: inherit;
    border: 0;
    border-radius: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

select option {
    padding: 0.75em 2em 0.85em 1em;
    line-height: 1.25em;
    height: auto!important;
    min-height: 3em;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not(.button),
textarea, select:not(.button) {
    width: 100%;
    padding: 0.75em 2em 0.85em 1em; /* padding-right 2em because of ie */
    background: transparent;
    border-radius: 4px;
    border: 1px solid #2B2C29;
    line-height: 1.25em;
    /*box-shadow: 0 0 0 1000px var(--form-input-background) inset!important;*/
}

input[type="search"] {
    width: 100%;
    padding: 0.5em;
    background: transparent;
    border-radius: 4px;
    border: 1px solid #2B2C29;
    line-height: 1.25em;
    box-shadow: 0 0 0 1000px #ffffff inset!important;
}

form input:-internal-autofill-previewed,
form input:-internal-autofill-selected,
form textarea:-internal-autofill-previewed,
form textarea:-internal-autofill-selected,
form select:-internal-autofill-previewed,
form select:-internal-autofill-selected {
    background: #ffffff!important;
}

@media (max-width: 768px) {
    select,
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]),
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]),
    textarea {
        padding: 14px 1em 10px;
        line-height: 1.4em;
    }
}

textarea {
    resize: vertical;
    padding: 1em;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not(.button):focus,
textarea:focus,
select:focus {
    outline: 0;
    border-color: hsl(210, 50%, 60%);
    background: hsl(210, 50%, 60%);
    /*box-shadow: 0 0 4px hsla(var(--form-active-color), 0.7), 0 0 0 1000px white inset!important;*/
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not(.button).js-error,
textarea.js-error {
    outline: 0!important;
    border-color: hsl(359, 83%, 71%);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]).js-valid,
textarea.js-valid {
    outline: 0!important;
    border-color: hsl(85, 100%, 30%);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]).js-valid:focus,
textarea.js-valid:focus {
     box-shadow: 0 0 4px hsla(85, 100%, 30%, 0.7), 0 0 0 1000px white inset!important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]).js-error:focus,
textarea.js-error:focus {
    outline: 0 0 4px hsla(210, 50%, 60%, 0.7)!important;
}

input:disabled,
textarea:disabled {
    opacity: 0.35;
}

/* Checkbox + Radio */

input[type="checkbox"],
input[type="radio"] {
    cursor: pointer;
    padding: 8px;
    background: white;
    border: 2px solid hsl(0, 0%, 32%);
    box-shadow: inset 0 0 0 2px white;
    vertical-align: middle;
    outline: 0;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
    border-color: hsl(210, 50%, 60%)
}

input[type="radio"] {
    border-radius: 11px;
}

input[type="checkbox"],
input[type="radio"] {
    position: absolute;
    top: 0;
    left: 0;
    /*visibility: hidden;*/
    padding: 0;
    width: 0;
    height: 0;
    border: 0;
    opacity: 0;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background: hsl(0, 0%, 32%);
    box-shadow: inset 0 0 0 2px white;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
    position: relative;
    transform: unset;
    line-height: 1.15em;
    min-height: 2em;
    margin-bottom: 0;
    padding: 1px 0 0 2em;
    font-size: 14px;
    width: 100%;
}

input[type="checkbox"] + label [class^="field-error"] {
    position: absolute;
    bottom: -12px;
    font-size: 14px;
    left: 27px;
}

input[type="checkbox"] + label::before,
input[type="radio"] + label::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    border: 1px solid #2B2C29;
    background-color: #ffffff;
}

input[type="checkbox"].js-error + label::before,
input[type="radio"].js-error + label::before {
    border-color:  hsl(359, 83%, 71%);
}

input[type="checkbox"]:checked.js-valid + label::before,
input[type="radio"]:checked.js-valid + label::before {
    border-color:  hsl(85, 100%, 30%);
}

input[type="checkbox"] + label::before {
    border-radius: 3px;
}

input[type="checkbox"]:checked + label::after {
    position: absolute;
    top: 2px;
    left: 0;
    width: 1.5em;
    height: 1.5em;
    content: "\2714";
    color: currentColor;
    text-align: center;
    line-height: 1.4em;
}

input[type="checkbox"]:disabled + label::before,
input[type="radio"]:disabled + label::before {
    border: 1px solid #a09f93;
}

input[type="checkbox"]:checked:disabled + label::after,
input[type="radio"]:checked:disabled + label::after {
    color: #a09f93;
}

input[type="radio"] + label::before {
    border-radius: 50%;
}

input[type="radio"]:checked + label::after {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    top: 0.5em;
    left: 0.5em;
    border-radius: 50%;
    background-color: currentColor;
}

/* --- Label --- */

label:not(.is-static) {
    margin-bottom: 1.15em;
}

label.js-error:not(.is-static) {
    margin-bottom: 0;
}

label.as-placeholder {
    position: absolute;
    transform: translate3d(0, 0, 0);
    transform-origin: left bottom;
    opacity: 0.85;
    will-change: opacity, transform;
    background-color: transparent!important;
    box-shadow: none!important;
    border: none!important;
    transition: transform 150ms ease-in-out, opacity 150ms linear;
}

label.as-placeholder.active {
    color: hsl(210, 50%, 60%);
    transform: translate3d(-0.5em, -2.5em, 0) scale(0.7);
    opacity: 1;
}

label span {
    white-space: nowrap;
}

input:invalid + label.active {
    color: hsl(359, 83%, 71%);
}

.form-field {
    position: relative;
    line-height: 0;
}

[class^="field-error"] {
    line-height: 1.15em;
    white-space: normal;
    color: #E3503D;
    display: inline-block;
}

[class^="field-error"] > p {
    margin: 0 0 0.5em 0;
    font-size: inherit;
    line-height: inherit;
}

[class^="field-error"]:not(.field-error-inline) {
    padding-top: 10px;
}

.form-message {
}

.form-message-error {
    color: #E3503D;
}

.form-message-sending {
}

.form-message-success {
}

.job-form .form-message-success {
    text-align: center;
}

form .button-wrapper {
    text-align: right;
}

@media (max-width: 768px) {
    form .button-wrapper {
        text-align: left;
    }
}

form button,
form .button-wrapper .button,
form input[type="submit"] {
    /*margin: 0 0.5em;*/
    padding: 0.5em;
    border-radius: 5px;
    border: 1px solid #2B2C29;
}

form .cell-1of1,
form .cell-1of2,
form .language {
    position: relative;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not(.button),
textarea {
    color: inherit;
}

input.button {
    text-transform: none;
    text-transform: initial;
}

button-input-arrow .shadow + input {
    background: #ffffff;
}

input.button:focus {
    outline: none;
}

.button-input-arrow .shadow {
    background: linear-gradient(270deg, #A5DC6E 0%, #a5dc6e 42.6%, #46c8cd 76.4%, #46c8cd 100%);
    top: 5px;
    left: 5px;
    border-radius: 194px;
}

/* Placeholder style */

::-webkit-input-placeholder {
    color: currentColor;
    opacity: .5;
}

/* Firefox 4-18 */

:-moz-placeholder {
    color: currentColor;
    opacity: .5;
}

/* Firefox 19-50 */

::-moz-placeholder {
    color: currentColor;
    opacity: .5;
}

/* - Internet Explorer 10–11
   - Internet Explorer Mobile 10-11 */

:-ms-input-placeholder {
    color: currentColor!important;
    opacity: .5;
}

/* Edge (also supports ::-webkit-input-placeholder) */

::-ms-input-placeholder {
    color: currentColor;
    opacity: .5;
}

/* CSS Pseudo-Elements Level 4 Editor's Draft
   - Browsers not mentioned in vendor prefixes
   - Browser of newer versions than mentioned in vendor prefixes */

::-webkit-input-placeholder {
    color: currentColor;
    opacity: .5;
}

:-ms-input-placeholder {
    color: currentColor;
    opacity: .5;
}

::-ms-input-placeholder {
    color: currentColor;
    opacity: .5;
}

::placeholder {
    color: currentColor;
    opacity: .5;
}

/** Custom Input Style **/

.form-input:not(.arrow) {
    text-align: left;
    background-color: #F2F2F2;
    border: 0;
    padding: 12px 23px;
}

.form-field label {
    display: block;
    width: 100%;
    padding-left: 14px;
    margin-bottom: 2rem;
}

.job-form .o-oi-form {
    width: 333px;
    border: 0.15rem solid #2B2C29;
    border-radius: 0 0 2.5rem 2.5rem;
    position: absolute;
    top: 2.5rem;
    left: calc(50% - (333px / 2));
    background: #ffffff;
    padding-bottom: 13px;
    transition: all .2s linear;
}

.job-form .o-oi-form:before {
    width: 333px;
    height: 21px;
    display: block;
    content: "";
}

.job-form .button {
    cursor: pointer;
    min-width: 305px;
}

.job-form .form-input:not(.arrow) {
    font-family: "Filson Medium", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, sans-serif;
    font-size: 14px !important;
    text-transform: none;
}

.job-form textarea.form-input {
    letter-spacing: normal;
}

.job-form .button.primary {
    width: 333px;
    position: relative;
    z-index: 2;
}

.job-form textarea {
    width: unset;
    border-radius: 2.5rem;
    box-shadow: none !important;
}

.job-form.js-form-open {
    z-index: 3;
}

.job-form .job-fields,
.job-form .field-success {
    transition: opacity .5s ease;
}

.job-form .js-hide {
    opacity: 0;
    z-index: -1;
}

.job-form .field-success {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    padding: 14px;
}

.field-error {
    padding-left: 14px;
}

.job-form .icon {
    margin-bottom: 5px;
    width: 44px;
    padding-right: 0;
}

.job-form .o-oi-form {
    padding: 14px;
}

.job-form .form-message-success {
    border-radius: 22px;
    padding: 39px 15px 34px;
}

.job-form .form-message-success h4 {
    padding-bottom: 8px;
    margin-bottom: 0;
    line-height: 1.5;
}

.job-form .form-message-success h4:last-child {
    padding-bottom: 0;
}

.job-form [class*="o-flex"].has-gutter:not(.no-vertical-margin) {
    margin-bottom: -1.9rem;
}

.job-form [class*="o-flex"].has-gutter:not(.no-vertical-margin) > *.form-field {
    margin-bottom: 1.9rem;
}

.job-form .form-field label {
    margin-top: 5px;
}

@media (min-width: 768px) {
    .job-form .form-field label {
        margin-top: 5px;
    }

    .job-form [class*="o-flex"].has-gutter:not(.no-vertical-margin) {
        margin-bottom: -1.5rem;
    }

    .job-form [class*="o-flex"].has-gutter:not(.no-vertical-margin) > *.form-field {
        margin-bottom: 1.5rem;
    }

    .job-form .button.green {
        margin-top: -9px;
    }
}

.image-container {
    display: flex;
    margin-bottom: 25px;
    max-width: 100%;
}

.image-cover img {
    min-height: 538px;
    object-fit: cover;
}

.horizontal-format {
    width: 303px;
    margin: 0 auto;
    max-width: 100%;
}

.horizontal-format.video .shadow {
    height: calc(100% - 10px);
}

.circle-image {
    border-radius: 100%;
    overflow: hidden;
}

.image-container picture {
    z-index: 2;
    display: flex;
    justify-content: center;
}

video {
    width: 100%;
    border-radius: 4px;
}

.simple-video-container {
    z-index: 1;
}

.video-button {
    position: absolute;
    cursor: pointer;
    transition: opacity 250ms ease;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.video-button img {
    width: 65px;
    height: 65px;
    top: calc((100% - 65px - 10px) / 2);
    left: calc((100% - 65px ) / 2);
}

.video-button .button-background-hover {
    transition: all 250ms ease;
    opacity: 0;
}

.video-button:hover .button-background-hover,
.video-button:focus .button-background-hover {
    opacity: 1;
}

.video-button.hide {
    opacity: 0;
}

@media (min-width: 768px) {
    .horizontal-format {
        width: 333px;
    }
}

.shadow {
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, #A5DC6E 0%, #a5dc6e 42.6%, #46c8cd 76.4%, #46c8cd 100%);
    position: absolute;
    top: 10px;
    left: 11px;
    z-index: -1;
    border-radius: 4px;
}

.has-border img {
    border-radius: 4px;
}

.image-container .shadow {
    z-index: 1;
}

.shadow.black {
    background: #2B2C29;
}

.shadow.cyan {
    background: #46C8CD;
}

.shadow.none {
    display: none;
}

.image-container .tiktok-embed {
    margin-top: 0;
}

@media (max-width: 991px) {
    .video-container {
        padding: 25px 0;
    }

    .video-container:after {
        width: calc(100% + 2rem + 2rem);
        display: block;
        content: "";
        height: 100%;
        position: absolute;
        background: #2B2C29;
        left: calc(2rem * -1);
        top: 0;
        z-index: -1;
    }
}

.tiktok-embed {
    width: calc(100% - 1px);
}

.content-video {
    width: 100%;
    z-index: 2;
}

.tiktok .hidden-video {
    height: 569px;
    background: #ffffff;
    padding: 20px;
}

.job:nth-child(odd) {
    background-color: #F2F2F2;
}

.job {
    width: 100%;
}

.job .title {
    padding-bottom: 3rem;
    font-family: "Filson Black";
}

.job .sub-title p {
    line-height: 1.385;
    margin-bottom: 10px;
}

.job .image-container {
    margin-bottom: 3rem;
}

.job .text {
    margin-bottom: -6px;
    line-height: 1.556;
}

.job .job-button,
.job .o-oi-form {
    display: block;
    width: 333px;
    margin: 4rem auto 0;
}

.job .text + .job-form .job-button,
.job .text + .job-form .o-oi-form {
    margin-top: 4.6rem;
}

.job .h5 {
    margin-bottom: 0;
}

.job-form .o-oi-form {
    margin-top: 0 !important;
}

.job-form .submit-button {
    text-align: center;
}

.job-form .form-message-success {
    text-align: center;
}

.job-form .button.primary.arrow.down:hover,
.job-form .button.primary:focus {
    background: #2B2C29;
    color: #A5DC6E;
    border-color: #2B2C29;
}

@media (max-width: 991px) {
    .job {
        padding: 100px 50px 120px !important;
        border-radius: 4px;
    }

    [class*="o-flex"].has-no-gutter-md-down.jobs {
        margin-left: calc(2rem * -1);
        margin-right: calc(2rem * -1);
    }
}

@media (max-width: 768px) {
    .job {
        padding: 100px 20px 120px !important;
    }
}

@media (min-width: 992px) {
    .jobs {
        margin-top: 85px;
        padding: 0 64px;
    }

    .job,
    .job:nth-child(odd) {
        background-color: transparent;
    }

    .job-text {
        background-color: #F2F2F2;
        padding: 42px 63px;
        border-radius: 4px;
    }

    .job-text .sub-title {
        margin-bottom: 3.5rem;
    }

    .job .sub-title p {
        margin-bottom: 13px;
        line-height: 1.462;
    }

    .is-job-bottom {
        margin-top: 30rem;
    }

    .job:not(.cell-1of1) .job-text {
        padding-bottom: 31.9rem;
    }

    .job:not(.cell-1of1) .image-container {
        margin-top: -28.4rem;
    }

    [class*="o-flex"].has-bigger-gutter:not(.no-vertical-margin).jobs {
        margin-bottom: -8.1rem;
    }

    [class*="o-flex"].has-bigger-gutter:not(.no-vertical-margin) > .job {
        margin-bottom: 8.1rem;
    }

    .job.cell-1of1 .job-text {
        width: calc(100% - 2rem - 5rem);
        padding-left: 42%;
        position: absolute;
        left: calc(50% - (100% - 2rem - 5rem) / 2);
    }

    .job.cell-1of1 .job-content {
        margin-top: 13rem;
        margin-left: 5%;
    }

    .job.cell-1of1 .job-content .image-container,
    .job.cell-1of1 .job-content .is-center,
    .job.cell-1of1 .job-form > .button {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
        max-width: 333px;
    }

    .job .image-container {
        margin-bottom: 3rem;
    }

    .job-content .h5 {
        max-width: 210px;
        margin: 1.1rem auto 0;
    }

    .job.cell-1of1 + .job.is-job-bottom {
        margin-top: 19rem;
    }

    .job.cell-1of1 + .job.is-job-bottom + .job.is-job-top {
        margin-top: -6.6rem;
    }

    .job .text + .job-form .job-button,
    .job .text + .job-form .o-oi-form {
        margin-top: 2.3rem;
    }

    .job-intro p {
        letter-spacing: .02em;
    }

    .job .text p {
        line-height: 1.778;
        letter-spacing: .02em;
    }

    .job .job-button,
    .job .o-oi-form {
        margin-top: 3rem;
    }

    .job-button + .job-button {
        margin-top: 1.8rem;
    }
}

@media (min-width: 1440px) {

    .job.cell-1of1 .job-text {
        width: calc(100% - 21.7rem - 5rem);
        left: calc(50% - (100% - 21.7rem - 5rem) / 2);
    }

    .job.cell-1of1 .job-content {
        margin-left: 13%;
    }
}

@media (min-width: 1920px) {
    [class*="o-flex"].has-bigger-gutter.jobs {
        margin-left: auto;
        margin-right: auto;
        width: 1920px;
    }
}

/* Special Case */

@media (max-width: 375px) {
    .job-form .o-oi-form::before,
    .job .job-button, .job .o-oi-form {
        width: 100%;
    }

    .job-form .o-oi-form {
        left: 0;
    }

    .job-form .button {
        min-width: unset;
        width: 100%;
    }
}

.home-intro.o-section.has-top-inner-space  {
    margin-top: 12rem;
    background-size: 843px 639px; /*1105px 801px; */
    background-position: right -20px top 4rem;
    background-repeat: no-repeat;
}

.home-title {
    height: calc(100vh - 12rem);
    max-height: 610px;
    padding-top: 6px;
    margin-top: 8rem;
}

.home-title h1 {
    line-height: 1.089;
    margin-bottom: 16px;
}

.home-title h1::after {
    margin: 27px auto 0;
}

.home-intro-text {
    margin-left: auto;
    margin-right: auto;
    line-height: 1.385;
    padding-bottom: 8.8rem;
}

.home-intro-text p {
    padding-top: 13px;
    -webkit-hyphens: inherit;
        -ms-hyphens: inherit;
            hyphens: inherit;
    line-height: 1.5;
}

.intro-logo {
    width: 133px;
    margin: 0 auto 18px;
}

/*Intro Background Gradient*/

.gradient-filter:after {
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background: linear-gradient(0, #A5DC6E 0%, #a5dc6e 42.6%, #46c8cd 76.4%, #46c8cd 100%);
    position: absolute;
    top: 0;
    mix-blend-mode: multiply;
}

.gradient-filter.flipped:after {
    background: linear-gradient(180deg, #A5DC6E 0%, #a5dc6e 42.6%, #46c8cd 76.4%, #46c8cd 100%);
}

@media (min-width: 544px) {
    .home-intro.o-section.has-top-inner-space  {
        margin-top: 12rem;
        background-size: 1059px 804px;
        background-position: right 0 top 8.3rem;
    }

    .home-title {
        max-height: 1012px;
        margin-top: 11rem;
    }

    .home-title h1 {
        margin-bottom: 22px;
    }

    .home-title h1::after {
        margin: 32px auto 0;
    }

    .home-intro-text {
        padding-bottom: 3.9rem;
    }

    .intro-logo {
        margin-bottom: -35px;
        width: unset;
    }
}

@media (min-width: 992px) {
    .home-intro.o-section.has-top-inner-space  {
        margin-top: 12rem;
        background-size: 1448px 1099px;
        background-position: right 8rem top 14rem;
    }
}

@media (min-width: 1200px) {
    .home-intro.o-section.has-top-inner-space  {
        background-position: right 7.7rem top 11rem;
    }
}

@media (min-width: 1467px) and (max-width: 1920px) {
    .home-intro.o-section.has-top-inner-space {
        background-position-x: calc(100% - (60px + (77 - 60) * (100vw - 1467px) / (1467- 1500)));
    }
}

@media (min-width: 1500px) {
    /* 79px = white image space */
    .home-intro.o-section.has-top-inner-space {
        background-position-x: calc(50% + 37px);
    }


    .intro-logo {
        margin-bottom: 40px;
    }
}

.hot-news-section {
    padding-top: 22rem;
}

.hot-news .backdrop-image {
    left: -8rem;
    top: -30rem;
    width: 410px;
    height: 454px;
    z-index: 3;
}

.circle-title.hot-news h2 {
    text-transform: uppercase;
    margin-bottom: 0;
}

.hot-news-text {
    margin-top: -5rem;
    z-index: 2;
    position: relative;
}

.hot-news-text h4 {
    margin-bottom: .45em;
}

.hot-news-text h4:last-child {
    padding-bottom: 5px;
}

.hot-news-text .button-input-arrow {
    margin-top: 2rem;
}

.hot-news-text .button.green {
    margin-top: 2rem;
}

.hot-news-text #mc_embed_signup {
    margin-top: 9px;
    margin-bottom: 1rem;
}

.hot-news-text .o-oi-form {
    padding-bottom: 2rem;
}

.newsletter-form .arrow-input {
    padding-right: 68px !important;
}

/*.newsletter-error,*/

.hot-news-text .field-error p,
.hot-news-text fieldset {
    margin-bottom: -2rem;
    font-size: 14px;
    display: block;
    padding-left: 14px;
    margin-top: 1rem;
}

.hot-news-text [class^="field-error"] {
    display: block;
}

.hot-news .o-oi-form .button-input-arrow {
    margin-bottom: 2.8rem;
}

.phone {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    line-height: 26.4px !important;
}

@media (min-width: 768px) {
    .hot-news-section {
        padding: 22rem 5rem 0;
    }

    .phone {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

@media (min-width: 992px) {
    .hot-news-section {
        padding-top: 0;
    }

    .hot-news .backdrop-image {
        left: -43.7rem;
        top: .2rem;
        width: 570px;
        height: 631px;
    }

    .hot-news.circle-title h2 {
        padding-top: 2rem;
        line-height: 1.071;
    }

    .hot-news-text h4 {
        padding-top: 7px;
        margin-bottom: .25em;
    }

    .hot-news-text #mc_embed_signup {
        margin-top: 7px;
    }

    .hot-news-text .o-oi-form {
        padding-bottom: 1.5rem;
    }

    .hot-news-text .button-input-arrow {
        margin-top: 2.3rem;
        margin-bottom: 0;
    }
}

.we-want-you {
    background-size: 1406px 1068px;
    background-position: top 46.5rem right 43.5%;
}

.we-want-you-intro .h5 {
    margin-bottom: 0;
    line-height: 1.65;
}

.we-want-you-intro .h4-md-down p {
    line-height: 1.5;
    letter-spacing: 0.2px;
}

@media (min-width: 768px) {
    .we-want-you {
        background-position: top 45.4rem left -7rem;
    }

    .we-want-you h1 {
        padding-bottom: 2.5rem;
        margin-top: -1rem;
    }

    .we-want-you .image-container {
        margin-bottom: 2.5rem;
    }

    .we-want-you-intro .h5 {
        margin-left: auto;
        margin-right: auto;
    }
}

.we-want-you-teaser {
    background-repeat: no-repeat;
    background-position: left calc(55% + 5px) bottom calc(-66% + 18px);
    background-size: 1201px 912px;
}

.we-want-you-teaser .intro {
    margin-top: 4rem;
    padding-bottom: 2.1rem;
    line-height: 1.5;
}

.we-want-you-teaser .image-wrapper {
    padding-bottom: 3.5rem;
}

.we-want-you-teaser .button {
    margin-bottom: 2.2rem;
}

@media (min-width: 768px) {
    .we-want-you-teaser.o-section.has-bottom-inner-space {
        padding-bottom: 15.1rem;
    }

    .we-want-you-teaser h2 {
        margin-top: -2rem;
    }

    .we-want-you-teaser .intro, .we-want-you-teaser .image-container {
        padding-bottom: 0;
    }

    .we-want-you-teaser .intro h4 {
        max-width: 557px;
        margin: 5.5rem auto 1.7rem;
        padding-bottom: 0;
    }

    .we-want-you-teaser .intro p {
        letter-spacing: .02em;
    }

    .we-want-you-teaser .button {
        margin-bottom: 0;
    }

    .we-want-you-teaser .image-wrapper {
        padding-bottom: 2rem;
    }

    .we-want-you-teaser {
        background-position: left -66px bottom -477px;
        background-size: 1558px;
    }
}

@media (min-width: 1920px) {
    .we-want-you-teaser {
        background-position: right 5.6rem top 462px;
        background-size: 2533px;
    }
}

/* This is vivage */

.this-is-vivage {
    background-image: url(/webresources/build/module/thisIsVivage.5b95a24dca62aac6f4200bb1b31783ef.cache.svg);
    background-size: 800px;
    background-position: top 64.6rem left 56vw;
}

.this-is-vivage picture,
.that-wants-vivage picture,
.how-vivage-works picture {
    display: inline-flex;
}

.this-is-vivage img {
    width: 408px;
    margin-left: 38px;
    margin-bottom: 23px;
    margin-top: 81px;
}

.this-is-vivage p {
    max-width: 556px;
    margin: 0 auto;
    -webkit-hyphens: none;
        -ms-hyphens: none;
            hyphens: none;
}

@media (min-width: 992px) {
    .this-is-vivage {
        background-image: url(/webresources/build/module/thisIsVivage.5b95a24dca62aac6f4200bb1b31783ef.cache.svg);
        background-size: 1397px;
        background-position: bottom -23.3rem left 50vw;
    }

    .this-is-vivage img {
        width: 530px;
        margin-left: -27px;
        margin-bottom: 35px;
        margin-top: 68px;
    }

    .this-is-vivage .h1 {
        padding-top: 35px;
    }

    .this-is-vivage .button {
        margin-bottom: -1.5rem;
        margin-top: 4rem;
    }
}

@media (min-width: 1467px) and (max-width: 2500px) {
    .this-is-vivage {
        background-size: calc(1397px + (1586 - 1397) * (100vw - 1467px) / (2500 - 1467));
        background-position: bottom calc((233px + (281 - 233) * (100vw - 1467px) / (2500 - 1467)) * -1) left 50vw;
    }
}

@media (min-width: 2500px) {
    .this-is-vivage {
        background-size: 1586px;
        background-position: bottom -28.1rem left 50vw;
    }
}

/* End This is vivage */

/* That wants vivage */

.that-wants-vivage {
    background-image: url(/webresources/build/module/thatWantsVivage.ffaa11d9326c5e434100985bbd32a41d.cache.svg);
    background-size: 752px;
    background-position: top 32.7rem right 57vw;
}

.that-wants-vivage img {
    width: 474px;
    height: auto;
    padding: 0 7px;
    margin-bottom: 3px;
    margin-left: -16px;
    margin-top: 17px;
    max-width: 100%;
}

.that-wants-vivage h2 {
    padding: 0 4rem;
}

.that-wants-vivage h4 {
    margin-bottom: 8px;
}

.that-wants-vivage .intro {
    padding-top: 12px;
}

.that-wants-vivage .intro p {
    -webkit-hyphens: none;
        -ms-hyphens: none;
            hyphens: none;
}

#-how-vivage-works,
#-that-wants-vivage {
    margin-bottom: 0 !important;
}

@media (min-width: 992px) {
    .that-wants-vivage {
        background-size: 1258px;
        background-position: bottom -27.3rem right 70.5vw;
    }

    .that-wants-vivage .text-container > * {
        margin-left: 1rem;
    }

    .that-wants-vivage img {
        margin-bottom: 35px;
        margin-top: 43px;
        margin-left: 125px;
        padding: 0;
        width: 472px;
    }

    .that-wants-vivage h2 {
        margin-bottom: 15px;
        padding: 0 3px;
    }

    .that-wants-vivage h4 {
        margin-bottom: 15px;
    }

    .that-wants-vivage .intro {
        max-width: 560px;
    }
}

@media (min-width: 1467px) and (max-width: 2500px) {
    .that-wants-vivage {
        background-position: bottom calc((273px + (261 - 273) * (100vw - 1467px) / (2500 - 1467)) * -1) right calc(1033px + (1480 - 1033) * (100vw - 1467px) / (2500 - 1467));
    }
}

@media (min-width: 2500px) {
    .that-wants-vivage {
        background-position: bottom -26.1rem right 59.2vw;
    }
}

/* End That wants vivage */

/* How vivage works */

.how-vivage-works {
    background-image: url(/webresources/build/module/howVivageWorks.1619cfeb11904168e4685dc1b04ef1ca.cache.svg);
    background-size: 1079px;
    background-position: top -11.5rem left 39vw;
}

.how-vivage-works img {
    margin-top: 11px;
    margin-bottom: 12px;
    margin-right: 0;
    width: 350px;
}

.how-vivage-works .intro {
    padding-top: 1.5rem;
}

.how-vivage-works .intro p {
    -webkit-hyphens: none;
        -ms-hyphens: none;
            hyphens: none;
    padding: 0 3px;
}

@media (min-width: 768px) {
    .how-vivage-works img {
        width: 450px;
    }
}

@media (min-width: 992px) {
    .how-vivage-works {
        background-size: 1709px;
        background-position: top -20.3rem left 56.3vw;
    }

    .how-vivage-works .o-component {
        padding-left: 4.3rem;
    }

    .how-vivage-works img {
        width: 522px;
        margin-left: -13.1rem;
        margin-bottom: 6px;
        margin-top: 58px;
    }

    .how-vivage-works h2 {
        margin-bottom: 12px;
    }
}

/* End How vivage works  */

.the-woman-behind-vivage-teaser.has-bottom-inner-space {
    margin-bottom: 10rem !important;
}

.the-woman-behind-vivage-teaser .o-component {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto auto auto;
    grid-template-rows: auto auto auto;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
}

.the-woman-behind-vivage-teaser .intro {
    -ms-grid-row: 3;
    grid-row: 3;
    padding: 0 1.5rem;
}

.the-woman-behind-vivage-teaser .button {
    width: 275px;
    margin: 4rem auto 0;
}

.the-woman-behind-vivage-teaser .intro p {
    -webkit-hyphens: none;
        -ms-hyphens: none;
            hyphens: none;
}

.the-woman-behind-vivage-teaser .media-container {
    margin-top: 2.3rem;
}

.the-woman-behind-vivage-teaser .image-container {
    margin-bottom: -1px;
    width: 100% !important;
    max-width: 435px;
}

@media (min-width: 768px) {
    .the-woman-behind-vivage-teaser.has-bottom-inner-space {
        /*background-size: 1304px 991px;*/
        padding-bottom: 18.6rem;
        margin-bottom: -5.6rem !important;
    }

    .the-woman-behind-vivage-teaser .intro {
        -ms-grid-row: 2;
        grid-row: 2;
        margin-top: 1rem;
    }

    .the-woman-behind-vivage-teaser .media-container {
        margin-top: 2.7rem;
        padding-top: 2.6rem;
    }

    .the-woman-behind-vivage-teaser .image-container {
        width: inherit;
        margin-bottom: 25px;
    }

    .the-woman-behind-vivage-teaser p {
        max-width: 740px;
        margin: 0 auto 4rem;
    }

    .the-woman-behind-vivage-teaser .button {
        margin-top: 7.5rem;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .the-woman-behind-vivage-teaser.has-bottom-inner-space {
        margin-bottom: 0 !important;
    }
}

@media (min-width: 1920px) {
    .the-woman-behind-vivage-teaser.has-bottom-inner-space {
        padding-bottom: 22.9rem;
        margin-bottom: -3.6rem !important;
    }


}

.big-quote {
    padding: 3rem;
}

.big-quote .h5 {
    padding-top: 3.9rem;
}

.big-quote-author {
    padding-bottom: 1rem;
}

.big-quote-author:before {
    width: 150px;
    height: 5px;
    background-color: #2B2C29;
    content: "";
    display: block;
    margin: 3.4rem auto 3.1rem;
    border-radius: 194px;
}

.the-woman-behind-vivage {
    padding-top: 9px;
}

.the-woman-behind-vivage .image-container {
    width: 100% !important;
    max-width: 435px;
}

.the-woman-behind-vivage .presentation {
    display: none;
}

.the-woman-behind-vivage .intro {
    margin-top: 5.6rem;
}

.the-woman-behind-vivage-intro-text {
    padding-bottom: 5.4rem;
}

.the-woman-behind-vivage-outro-text {
    padding-top: 5.6rem;
    padding-bottom: 3rem;
}

@media (min-width: 768px) {
    .big-quote {
        padding: 9.9rem 9.9rem 9.4rem;
    }

    .big-quote .h5 {
        padding-top: 0;
        margin-bottom: 35px;
    }

    .big-quote-author {
        padding-bottom: 0;
    }

    .big-quote-author:before {
        margin: 3.2rem auto 3rem;
    }

    .the-woman-behind-vivage {
        padding-top: 6.5rem;
    }

    .the-woman-behind-vivage .presentation {
        display: block;
        margin: 5.2rem auto 12.1rem;
    }

    .the-woman-behind-vivage .image-container {
        width: inherit;
    }

    .the-woman-behind-vivage .intro {
        max-width: 770px;
        margin: 6.3rem auto 0;
    }

    .the-woman-behind-vivage-intro-text {
        padding-bottom: 9.5rem;
    }

    .the-woman-behind-vivage-outro-text {
        padding-top: 9.5rem;
        padding-bottom: .7rem;
    }
}

.blog-teasers .intro {
    -webkit-hyphens: none;
        -ms-hyphens: none;
            hyphens: none;
    padding-bottom: 1.1rem;
}

.blog-category,
.blog-headline,
.blog-list .arrow {
    margin-left: 12px;
}

.blog-entry img,
.blog-entry .shadow {
    border-radius: 4px;
}

.blog-entry .shadow {
    margin-bottom: -10px;
}

.blog-entry .read-more:after {
    right: 26px;
    -webkit-mask-size: 30px 20px;
            mask-size: 30px 20px;
    top: calc(50% - 12px);
    transition: all 250ms ease;
    -webkit-mask-image: url(/webresources/build/module/arrow-long.ab518ddddf518b161789b06b010f6c9a.cache.svg);
    mask-image: url(/webresources/build/module/arrow-long.ab518ddddf518b161789b06b010f6c9a.cache.svg);
    -webkit-mask-position-x: right;
    mask-position-x: right;
}

.blog-entry:hover .read-more:after,
.blog-entry:focus .read-more:after {
    width: 30px;
    right: 22px;
}

.blog-entry img,
.blog-entry .blog-category,
.blog-entry .blog-headline {
    transition: all 250ms ease;
}

.blog-entry:hover img,
.blog-entry:focus img {
    transform: scale(1.1);
}

.blog-entry:hover .blog-category,
.blog-entry:hover .blog-headline,
.blog-entry:focus .blog-category,
.blog-entry:focus .blog-headline {
    color: #A5DC6E;
}

.blog-entry .media-container {
    border-radius: 4px;
    overflow: hidden;
    z-index: 2;
    aspect-ratio: 1 / 1.25;
    width: 100%;
}

@media (min-width: 769px) {
    .blog-teasers .intro {
        padding-bottom: 0;
        padding-top: 1.1rem;
        margin-bottom: -1rem;
    }

    .blog-teasers h4 {
        margin: 0 0 1.12em;
    }

    .blog-teasers .intro p {
        padding-bottom: 0;
    }

    .blog-teasers .button.green {
        margin-bottom: -44px;
        margin-top: 9.5rem;
    }

    .blog-teasers .blog-entry {
        max-width: 275px;
        box-sizing: content-box;
    }

    .blog-teasers .arrow {
        margin-top: 23px;
    }

    .blog-teasers h2 {
        padding-top: 3.6rem;
    }
}

.blog-intro {
    -webkit-hyphens: none;
        -ms-hyphens: none;
            hyphens: none;
}

.blog-category {
    margin-bottom: 15px;
}

.blog-headline {
    margin-bottom: 0;
}

.blog-overview {
    min-height: 100vh;
    padding-top: 69px;
}

.hide-blog {
    display: none;
}

.loaded .hide-blog {
    display: flex;
}

.blog-intro {
    padding-top: 1rem;
    margin-bottom: -1rem;
}

.blog-select {
    z-index: 4;
    padding: 10px 24px;
    margin-bottom: 1rem;
    letter-spacing: .1em;
}

.blog-select:after{
    right: 18px;
}

.blog-overview .button-input-arrow:after {
    display: none;
}

.blog-overview .image-container {
    width: calc(100% - 10px);
}

.blog-option-list {
    border-radius: 0 0 22px 22px;
    border: 2px solid white;
    border-top: none;
    margin-top: -25px;
    position: absolute;
    width: 100%;
    z-index: 3;
    background: #2B2C29;
    text-align: left;
    padding: 13px 23px 6px;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.blog-option-list:before,
.blog-option-list:after {
    width: 100%;
    content: "";
    display: block;
}

.blog-option-list:before {
    height: 26px;
}

.blog-option {
    font-size: 16px;
    margin-bottom: 16px;
    cursor: pointer;
}

.blog-entry > a {
    text-decoration: none;
}

@media (min-width: 768px) {
    .blog-option-list {
        border-radius: 0 0 28px 28px;
        padding: 17px 35px 1px;
        margin-top: -3rem;
    }

    .blog-option-list:before {
        height: 20px;
    }

    .blog-option {
        margin-bottom: 27px;
    }
}

.blog-overview .blog-list {
    min-height: 60vh;
}

@media (min-width: 768px) and (max-width: 991px) {
    .blog-overview .blog-list {
        padding: 0 3rem;
    }
}

/*.blog-select,*/

/*.blog-select:hover path  {*/

/*    transition: all var(--default-timing) ease;*/

/*}*/

.blog-select.button.colored.arrow::after {
    color: #ffffff;
    transition: all 250ms ease;
}

.blog-select:hover,
.blog-select:focus {
    color: #A5DC6E !important;
    border-color: #A5DC6E !important;
}

.blog-select:hover path ,
.blog-select:focus path {
    fill: #A5DC6E;
}

.blog-select.button.colored.arrow:hover::after,
.blog-select.button.colored.arrow:focus::after {
    color: #A5DC6E;
}

.load-more {
    margin: -10px 0 10px;
}

.blog-overview [class*="o-flex"].has-big-gutter:not(.no-vertical-margin) {
    margin-bottom: calc(-20rem - 20px);
}

.quote-section {
    position: relative;
    padding: 0 20px;
    background-image: linear-gradient(0deg, #fff 0%, #fff 30%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.25) 75%, rgba(255, 255, 255, 0) 100%), url(/webresources/build/module/Vivage_Gruppe_2B2C29_RGB.2029bc0b8903d52942803a177a09cc7b.cache.png);
    background-size: 2412px 1831px;
    background-position: left 19% bottom -36.6rem;
}

.quote-section:after {
    left: 0;
    background-image: linear-gradient(0, rgb(70, 200, 205) 0%, rgba(70, 200, 205, .7) 42.6%, #a5dc6e 76.4%, #A5DC6E 100%);
}

.quote-section .image-container {
    margin-top: 39px;
    max-width: 410px;
}

.quote-section .h4 {
    padding-top: 9px;
}

.quote-section .quote-author {
    margin-top: -1rem;
}

.quote-section .shadow {
    border-radius: 50%;
}

.quote-section {
    letter-spacing: 0.02em;
    padding-top: 2px;
}

.quote-section .button {
    margin-bottom: 1rem;
    line-height: 1.65;
}

@media (max-width: 991px) {
    .blog-overview {
        padding-top: 17px;
    }

    .blog-overview .image-container {
        width: 100% !important;
    }

    .blog-overview .blog-headline {
        font-size: 20px;
    }

    .blog-overview h1:after {
        margin-top: 26px;
    }

    .blog-intro {
        padding-top: 0;
        padding-bottom: 5px;
        margin-top: -5px;
        margin-bottom: 0;
    }

    .blog-select {
        padding: 8px 20px;
        margin-bottom: 5px;
    }

    .blog-list {
        padding-top: 1rem;
    }

    .blog-list .arrow {
        margin-top: 2rem;
    }

    .blog-entry {
        margin-top: -4px;
    }

    .quote-section {
        background-size: 1840px 1398px;
        background-position: left 23% bottom 2.7rem;
    }

    .quote-section:after {
        height: calc(100% - 2.7rem);
    }

    .quote-section .image-container {
        margin-top: 65px;
    }

    .quote-section .h4 {
        margin-top: -5px;
        padding-top: 0;
    }

    .blog-overview [class*="o-flex"].has-big-gutter:not(.no-vertical-margin) {
        margin-bottom: calc(-11rem + 5px);
    }

    [class*="o-flex"].blog-list.has-big-gutter:not(.no-vertical-margin) > * {
        margin-bottom: 11rem;
    }

    .quote-section .quote-author {
        margin-top: -2rem;
        padding-bottom: 3.4rem;
        text-decoration: underline;
    }

    .quote-section .button {
        margin-bottom: 0;
    }
}

@media (min-width: 544px) and (max-width: 767px) {
    .blog-overview [class*="o-flex"].has-big-gutter:not(.no-vertical-margin) {
        margin-left: calc(40px / -2);
        margin-right: calc(40px / -2);
    }

    [class*="o-flex"].blog-list.has-big-gutter:not(.no-vertical-margin) > * {
        padding-left: calc(40px / 2);
        padding-right: calc(40px / 2);
    }
}

@media (min-width: 1920px) {
    .quote-section {
        max-width: 1920px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/** Blog entry **/

.blog-entry-intro {
    padding-top: 12px;
}

.blog-entry-intro h1 {
    padding-bottom: 7px;
}

.blog-entry-intro .image-container {
    margin: 0 auto;
}

.blog-entry-intro .h4 {
    padding-top: 13px;
    padding-bottom: 4px;
    margin-left: auto;
    margin-right: auto;
}

.blog-entry-content .image-container {
    margin-top: 28px;
}

.blog-entry-content p {
    letter-spacing: 0.02em;
}

.blog-entry-back .button {
    margin-top: 60px;
    margin-bottom: -8px;
}

@media (min-width: 768px) {
    .blog-entry-intro {
        padding-top: 66px;
    }

    .blog-entry-intro h1 {
        padding-bottom: 39px;
    }

    .blog-entry-intro .h4 {
        padding-top: 0;
        padding-bottom: 33px;
    }

    .blog-entry-content .image-container {
        margin-top: 89px;
        margin-bottom: 77px;
    }

    .blog-entry-back .button {
        margin-top: 20px;
    }

    .read-all {
        margin-top: 8.5rem;
    }
}

.service {
    padding-top: 3rem;
}

.service h1 {
    letter-spacing: -.75px;
}

.service h1.is-left:after {
    margin-left: 0;
}

.service h4,
.service h5 {
    margin-bottom: 2px;
    padding-top: 2.2rem;
}

.service-text {
    padding-top: 35px
}

.service p {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

.service h3 {
    text-align: left;
    font-family: "Filson Black";
}

.service p:not(:last-child) {
    margin-bottom: 1.55em;
}

@media (min-width: 768px) {
    .service {
        padding-top: 9rem;
    }

    .service h1:after {
        width: 900px;
        margin-top: 35px;
    }

    .service-text {
        margin-top: 0 !important;
        padding-top: 0;
    }

    .service h4,
    .service h5 {
        padding-top: 3.4rem;
    }

    .service p {
        font-size: inherit;
        line-height: 1.65;
    }

    .service p:not(:last-child) {
        margin-bottom: 1.56em;
    }
}

.backdrop-image {
    position: absolute;
    width: auto;
    z-index: -1;
}

.circle-title {
    width: 325px;
    aspect-ratio: 1 / 1;
    max-width: 100%;
    background: #2B2C29;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    color: #ffffff;
    padding: 70px;
    margin: 0 auto;
    position: relative;
}

.circle-title h2 {
    padding-top: 1rem;
}

.circle-title.big-circle {
    margin-top: 1.5rem;
    width: 552px;
    background-size: 100%;
    background-color: transparent;
}

/*.circle-title.big-circle:after {*/

/*    content: "";*/

/*    display: block;*/

/*    height: 100%;*/

/*    width: 100%;*/

/*    background: var(--gradient-flipped);*/

/*    position: absolute;*/

/*    top: 10px;*/

/*    left: 11px;*/

/*    z-index: -1;*/

/*    mix-blend-mode: multiply;*/

/*    opacity: .5;*/

/*    border-radius: 50%;*/

/*}*/

.circle-title.big-circle h1 {
    position: relative;
    z-index: 2;
    color: #2B2C29;
    padding-top: 22px;
    padding-bottom: 0;
}

.circle-title .backdrop-image {
    z-index: 1;
}

/** That wants vivage **/

#that-wants-vivage {
    margin-top: 24rem;
}

#that-wants-vivage .backdrop-image {
    width: 282px;
    /*right: -36.2rem;*/
    top: -28.6rem;
}

#how-vivage-works {
    margin-top: 24.5rem;
}

#how-vivage-works .backdrop-image {
    width: 299px;
    top: -28rem;
}

.o-section:last-child .circle-editorial {
    padding-bottom: 7.1rem;
}

@media (min-width: 768px) {
    .circle-title {
        margin-top: 0;
        width: 420px;
    }

    section:first-child .circle-editorial {
        padding-top: 7rem;
    }

    .circle-title.big-circle {
        margin-top: 0;
    }

    /** Underline Title **/
    .circle-title.big-circle h1 {
        line-height: 1.071;
        padding-top: 0;
        margin-top: 8px;
    }

    .circle-title .h3 {
        line-height: 1.318;
        margin-bottom: 4px;
    }

    .circle-title:not(.hot-news) .backdrop-image {
        z-index: -1;
    }

    .circle-editorial p {
        line-height: 1.5;
    }

    .circle-editorial p:not(:last-child) {
        margin-bottom: 1.5em;
    }


    /** That wants vivage **/
    #this-is-vivage + .text-content {
        margin-top: -10px;
    }

    #that-wants-vivage {
        margin-top: -11px;
    }

    #that-wants-vivage .backdrop-image {
        width: 403px;
        right: -36.2rem;
        top: -15.4rem;
    }

    #that-wants-vivage + .text-content {
        margin-top: -15px;
    }

    #how-vivage-works {
        margin-top: 0;
    }

    #how-vivage-works .backdrop-image {
        width: 440px;
        left: -37.4rem;
        top: -11.7rem;
    }

    #how-vivage-works + .text-content {
        margin-bottom: -30px;
        margin-top: -5px;
    }

    .o-section:last-child .circle-editorial {
        padding-bottom: 0;
    }
}

@media (min-width: 992px) {
    .circle-title.big-circle h1:after {
        margin-top: 42px;
        width: 250px;
    }
}

@media (max-width: 991px) {
    .circle-title.big-circle {
        width: 327px;
        padding: 0;
    }
}

.circle-title h2:last-child, .circle-title h1 {
    padding-bottom: 0;
}

.circle-title .shadow {
    border-radius: 50%;
}

.news-circle {
    background: linear-gradient(180deg, #A5DC6E 0%, #a5dc6e 42.6%, #46c8cd 76.4%, #46c8cd 100%);
    width: 470px;
    color: #2B2C29;
}

@media (min-width: 768px) {
    .news-circle {
        padding: 10rem;
    }
}

/** Contact **/

#contact .intro {
    padding-top: 2px;
    padding-bottom: 1.2rem;
}

#contact .button {
    margin: 0 26px;
    width: 333px;
}

@media (max-width: 991px) {
    #contact {
        padding-top: 0;
        margin-bottom: 20rem;
    }

    #contact .intro {
        font-size: 18px;
        line-height: 1.556;
        letter-spacing: 0.36px;
        margin-bottom: 3.8rem;
        padding-bottom: 0;
        padding-top: 5px;
    }

    #contact .button {
        display: block;
        margin: 0 auto 42px;
        width: 275px;
    }

    #contact .button:last-child {
        margin-bottom: 0;
    }
}

/** End Contact **/

/** Social Teaser **/

.social-teaser-image {
    margin: -5px auto 27px 15px;
    height: 375px;
}

.social-teaser .intro {
    line-height: 1.5;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.social-teaser .icon-list {
    margin-bottom: -1.5rem;
    margin-top: 33px;
}

.social-teaser .social-media {
    width: 48px;
    height: 48px;
    box-sizing: content-box;
}

.social-teaser .social-media.tik-tok {
    margin-right: -15px;
}

.social-teaser a {
    width: 54px;
    height: 54px;
    top: -5px;
}

.social-teaser .svg-hover {
    height: 55px;
}

.social-teaser .svg-default {
    margin-top: 2px;
    height: 52px;
}

.social-teaser-image {
    max-width: 284px;
    margin: .9rem auto 3.6rem 7rem;
    height: auto;
}

.social-teaser .icon-list {
    margin-bottom: -8px;
    margin-top: 42px;
}

.social-teaser .social-media {
    width: auto;
    height: auto;
}

.social-teaser .social-media.tik-tok {
    margin-right: 4px;
}

/** End Social Teaser **/

/** Brand Component **/

.brand {
    background-image: url(/webresources/build/module/brand-background.fe8aa4a70c2d1cac5dd64a0ab1a3c37d.cache.svg);
    background-size: 674px;
    background-position: bottom 0 left 0;
    padding-bottom: 3.2rem !important;
}

.brand-image img {
    max-width: 479px;
}

.brand-title {
    padding-top: 2.5rem;
}

.brand-description {
    max-width: 475px;
    margin: 0 auto;
    line-height: 1.556;
}

.brand-description h4 {
    font-family: "Filson Black", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, sans-serif;
    margin-bottom: 0;
}

.brand-link {
    margin-top: 44px;
}

@media (max-width: 768px) {
    .brand-image img {
        max-width: 420px;
    }
}

@media (max-width: 674px) {
    .brand {
        background-position: bottom 0 left 115%;
    }
}

.mt-extra-small {
    margin-top: 3rem;
}

.mt-small {
    margin-top: 5rem;
}

.mt-medium {
    margin-top: 11rem;
}

.mt-large {
    margin-top: 13.2rem;
}

.mt-big {
    margin-top: 10rem;
}

.mb-extra-small {
    margin-bottom: 3rem;
}

.mb-small {
    margin-bottom: 5rem;
}

.mb-medium {
    margin-bottom: 11rem;
}

.mb-large {
    margin-bottom: 13.2rem;
}

.mb-big {
    margin-bottom: 10rem;
}

@media (min-width: 768px) {
    .mt-extra-small {
        margin-top: 3rem;
    }

    .mt-small {
        margin-top: 5rem;
    }

    .mt-medium {
        margin-top: 11rem;
    }

    .mt-large {
        margin-top: 13.2rem;
    }

    .mt-big {
        margin-top: 20rem;
    }

    .mb-extra-small {
        margin-bottom: 3rem;
    }

    .mb-small {
        margin-bottom: 5rem;
    }

    .mb-medium {
        margin-bottom: 11rem;
    }

    .mb-large {
        margin-bottom: 13.2rem;
    }

    .mb-big {
        margin-bottom: 20rem;
    }
}

@media (max-width: 991px) {
    .mt-extra-small-md-down {
        margin-top: 3rem;
    }

    .mt-small-md-down {
        margin-top: 5rem;
    }

    .mt-medium-md-down {
        margin-top: 11rem;
    }

    .mt-large-md-down {
        margin-top: 13.2rem;
    }

    .mt-big-md-down {
        margin-top: 10rem;
    }

    .mb-extra-small-md-down {
        margin-bottom: 3rem;
    }

    .mb-small-md-down {
        margin-bottom: 5rem;
    }

    .mb-medium-md-down {
        margin-bottom: 11rem;
    }

    .mb-large-md-down {
        margin-bottom: 13.2rem;
    }

    .mb-big-md-down {
        margin-bottom: 10rem;
    }

    .mt-none-md-down {
        margin-top: 0;
    }

    .mb-none-md-down {
        margin-top: 0;
    }
}

.pt-extra-small {
    padding-top: 3rem;
}

.pt-small {
    padding-top: 5rem;
}

.pt-medium {
    padding-top: 11rem;
}

.pt-large {
    padding-top: 13.2rem;
}

.pt-big {
    padding-top: 10rem;
}

.pb-extra-small {
    padding-bottom: 3rem;
}

.pb-small {
    padding-bottom: 5rem;
}

.pb-medium {
    padding-bottom: 11rem;
}

.pb-big {
    padding-bottom: 10rem;
}

@media (max-width: 991px) {
    .pt-extra-small-md-down {
        padding-top: 3rem;
    }

    .pt-small-md-down {
        padding-top: 5rem;
    }

    .pt-medium-md-down {
        padding-top: 11rem;
    }

    .pt-large-md-down {
        padding-top: 13.2rem;
    }

    .pt-big-md-down {
        padding-top: 10rem;
    }

    .pb-extra-small-md-down {
        padding-bottom: 3rem;
    }

    .pb-small-md-down {
        padding-bottom: 5rem;
    }

    .pb-medium-md-down {
        padding-bottom: 11rem;
    }

    .pb-big-md-down {
        padding-bottom: 10rem;
    }
}

/* Page-Gutter = 35px; */

.extra-side-padding {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.extra-side-padding {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.extra-small-side-padding {
    padding-left: 4px;
    padding-right: 4px;
}

.extra-big-side-padding {
    padding-left: 3rem;
    padding-right: 3rem;
}

@media (min-width: 768px) {
    .pt-extra-small {
        padding-top: 3rem;
    }

    .pt-small {
        padding-top: 5rem;
    }

    .pt-medium {
        padding-top: 11rem;
    }

    .pt-big {
        padding-top: 20rem;
    }

    .pb-extra-small {
        padding-bottom: 3rem;
    }

    .pb-small {
        padding-bottom: 5rem;
    }

    .pb-medium {
        padding-bottom: 11rem;
    }

    .pb-big {
        padding-bottom: 20rem;
    }

    .extra-side-padding, .extra-big-side-padding, .extra-small-side-padding {
        padding-left: 0;
        padding-right: 0;
    }
}

#pageContent ul,
#pageContent ol {
    list-style: disc;
    list-style-position: inside;
}

.slide-enter-active {
    transition-duration: 0.3s;
    transition-timing-function: linear;
}

.slide-leave-active {
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
}

.slide-enter-to, .slide-leave {
    max-height: 738px;
    overflow: hidden;
}

.slide-enter, .slide-leave-to {
    overflow: hidden;
    max-height: 0;
}

.will-appear {
    opacity: 0;
    transform: translateX(-100px);
    transition: opacity 800ms ease, transform 800ms ease;
}

.will-appear.appear-left {
    transform: translateX(-100px);
}

.will-appear.appear-right {
    transform: translateX(100px);
}

.will-appear.appear-bottom {
    transform: translateY(100px);
}

.did-appear {
    opacity: 1;
}

.did-appear.appear-left,
.did-appear.appear-right {
    transform: translateX(0);
}

.did-appear.appear-bottom {
    transform: translateY(0);
}

.blog-slide-enter {
   opacity: 0;
}

.blog-slide-enter-active {
    animation: blog-slide-in 800ms ease-in forwards;
    transition: opacity 800ms;
}

@keyframes blog-slide-in {
    from {
        transform: translateY(50px);
    }
    to {
        transform: translateY(0);
    }
}

/** SVG Hover Animation **/

.svg-default,
.svg-hover {
    transition: all 250ms ease;
    position: absolute;
    top: 0;
    left: 0;
}

.has-svg-hover:not(:hover) .svg-hover,
.button-has-svg-hover:not(:hover) .svg-hover {
    opacity: 0;
}

.has-svg-hover {
    position: relative;
    display: block;
}

.error-404 h1 {
    font-size: 400px;
    margin-bottom: 5rem;
}

.error-404 h1:after {
    display: none;
}

.error-404 a {
    margin-top: 3.5rem;
}

@media (max-width: 991px) {
    .error-404 h1 {
        font-size: 100px;
    }
}

.shop-product.o-section:first-child {
    margin-top: 10.7rem;
}

[class*="o-flex"].has-medium-gutter:not(.no-vertical-margin) > .product-back-link {
    margin-bottom: 1.6rem;
    letter-spacing: 0.02em;
    transition: all 250ms ease;
}

@media (min-width: 768px) {
    .product-back-link:hover,
    .product-back-link:focus {
        color: #46C8CD
    }
}

.product-back-link svg {
    margin-right: 1.7rem;
    margin-bottom: 5px;
    margin-left: -2px;
}

.product-intro {
    padding-right: calc(20px + (60 - 20) * (100vw - 768px) / (1440 - 768));
}

.product-title {
    width: 100%;
}

.product-title span {
    display: block;
    width: 60%;
    margin: 0 auto;
    line-height: 1.227;
}

.product-intro img {
    width: auto;
    max-width: 100%;
}

.product-size {
    margin: 4rem 0 .9rem;
}

.product-intro .product-claim {
    text-transform: uppercase;
    font-size: 16px;
    margin-bottom: 1.2rem;
}

.product-price {
    margin-bottom: 0;
}

.sale-price {
    text-decoration: line-through;
}

.product-info-block {
    font-size: 16px;
}

.product-availability {
    margin-bottom: 5px;
    margin-top: 7px;
}

.product-to-card {
    margin-top: 4rem;
}

@media (max-width: 768px) {
    .product-intro {
        padding-right: 0;
    }

    .product-intro img {
        max-height: 400px;
    }

    .product-title span {
        -webkit-hyphens: manual;
            -ms-hyphens: manual;
                hyphens: manual;
    }

}

@media (min-width: 1440px) {
    .product-intro {
        padding-right: 6rem;
    }
}

.product-body {
    margin-top: 8rem;
    padding: 0 2rem 3rem;
    border-top: 1px solid #2B2C29;
}

.product-info-block {
    padding-top: 8px;
}

.product-info-icon {
    margin-bottom: .7rem;
}

.product-info-icon img {
    max-width: 56px;
}

.product-description-icon img {
    max-width: 150px;
}

.product-usage {
    padding: 6.5rem 6.5rem 3.5rem;
}

.product-usage img {
    width: auto;
    max-width: 100%;
}

.product-usage-text .h1 span {
    max-width: 85%;
    display: block;
    margin: 0 auto;
}

.product-usage-text > * {
    max-width: 660px;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
}

.product-usage-description {
    padding-top: 2.2rem;
}

.product-description-block {
    padding-bottom: 4.7rem;
}

.product-description-block:first-child{
    border-right: 1px solid #2B2C29;
}

.product-description-block:last-child{
    border-left: 1px solid #2B2C29;
}

.product-description-title {
    margin-bottom: 3.2rem;
}

.product-description-icon {
    margin-bottom: 1.5rem;
}

.product-description-title + .product-description-text {
    margin-top: 9rem;
}

.product-description-text p {
    line-height: 1.429;
}

@media (max-width: 991px) {
    .product-usage-text > * {
        max-width: unset;
    }

    .product-usage {
        padding: 6.5rem 3.1rem 6rem;
    }

    .product-usage-description {
        padding-top: 2.6rem;
    }
}

@media (max-width: 768px) {
    .product-showcase-text > * {
        padding-left: 0;
    }

    .product-description-block:first-child,
    .product-description-block:last-child {
        border-color: transparent;
    }

}

/* Teaser */

.product-teasers h2 {
    padding-top: 0;
}

.product-teasers .intro {
    padding-top: 1.9rem;
    margin-bottom: -.4rem;
}

.product-hero picture {
    display: flex;
}

.product-teaser-intro.product-list .background-image {
    z-index: 2;
    top: -32.8rem;
}

.product-teaser-intro h4 {
    margin-bottom: 1.08em;
}

.product-teaser .product-image {
    height: 40.93vw;
    max-height: 600px;
}

.has-background .product-teaser .product-image {
    background: transparent;
}

.product-teaser .product-image img  {
    max-height: 600px;
}

.has-background .product-teaser .product-image img  {
    max-height: unset;
}

[class*="o-flex"].product-teaser.has-gutter.has-big-vertical-margin:not(.no-vertical-margin) {
    margin-bottom: calc(8rem * -1.5);
}

[class*="o-flex"].product-teaser.has-medium-gutter.has-big-vertical-margin:not(.no-vertical-margin) > * {
    margin-bottom: calc(8rem * 1.5);
}

.product-text > * {
    max-width: 512px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 4rem;
}

.is-reverse .product-text > * {
    padding-left: 0;
    max-width: 472px;
}

.product-text h5 {
    line-height: 1.25;
    margin-bottom: 0.85em;
    padding-top: 0.3em;
}

.has-background .product-text > * {
    max-width: 600px;
    padding-left: 5.12vw;
}

.teaser-content .h4 {
    padding-top: 1rem;
    padding-bottom: 3.8rem;
}

.faq-text h1,
.faq-text h2,
.faq-text h3,
.faq-text h4,
.faq-text h5,
.faq-text h6 {
    text-align: left;
}

.faq-text h1:after {
    display: none;
}

@media (min-width: 768px) {
    [class*="o-flex"].showcase-product.has-gutter:not(.no-vertical-margin) > * {
        margin-bottom: 0;
    }
}

@media (max-width: 991px) {
    .product-teaser .product-image {
        height: auto;
    }

    [class*="o-flex"].product-teaser.has-medium-gutter {
        margin-left: calc(4rem / -2);
        margin-right: calc(4rem / -2);
    }

    .is-reverse .product-text > * {
        margin-left: auto;
        margin-right: auto;
    }

    .has-background .product-text > *,
    .has-background .product-text > p {
        padding-left: 0;
    }

    .teaser-content .h4 {
        padding-bottom: 0;
    }

    .product-teaser .product-image img  {
        max-height: 500px;
    }

    .product-teaser .product-text .h2-md-down {
        max-width: 250px;
    }
}

@media (max-width: 768px) {
    .product-text > *,
    .product-text p {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
    }
}

.-shop .quote-section .image-container {
    max-width: 100%;
}

.products {
    padding-top: 7.3rem;
}

.products-intro {
    margin-top: 4.5rem;
    padding-bottom: 1rem;
}

.products h4 {
    margin-bottom: 1.1em;
}

.product-list .o-group {
    margin-bottom: 0;
}

.product-overview {
    max-width: 810px;
    margin: 0 auto;
}

.product-image img {
    width: auto;
    max-width: 100%;
    max-height: 363px;
}

.product-overview a:hover,
.product-overview a:focus {
    text-decoration: none;
}

.product-overview .product-title {
    max-width: 273px;
    margin: 0 auto;
    padding-top: 5px;
    line-height: 1.227;
}

.product-overview .product-title + .product-claim {
    margin-top: 2.6rem;
}

.product-overview .product-price {
    margin-bottom: 8px;
}

.product-overview .product-sale {
    margin-top: 1.5rem;
    margin-bottom: -4px;
}

.add-product .button {
    min-width: 275px;
    max-width: 275px;
    margin: 3rem auto;
}

.product-overview .product-claim,
.product-showcase-text .product-claim {
    color: #46C8CD;
    margin-bottom: -3px;
}

.product-overview .product-sale,
.product-showcase-text .product-sale {
    font-size: 16px;
    color: #A5DC6E;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.product-overview .product-status {
    font-size: 16px;
    text-transform: uppercase;
    margin-top: 1.5rem;
    margin-bottom: -4px;
}

.product-overview .product-not-in-stock {
    color: #E3503D;
}

.product-overview .product-not-available {
    color: #A5DC6E;
}

.showcase-title {
    margin-left: auto;
    margin-right: auto;
}

.product-discount {
    font-size: 16px;
    height: 48px;
    width: 110px;
    border-radius: 100px;
    position: absolute;
    top: -5rem;
    right: -1.8rem;
    letter-spacing: 0.1em;
    background: #A5DC6E;
}

.product-list .background-image {
    position: absolute;
    top: -18.8rem;
    right: 0;
}

@media (max-width: 991px) {
    .product-overview .product-title {
        max-width: 180px;
    }

    .product-discount {
        top: 1rem;
        right: 1rem;
        z-index: 10;
    }
}

@media (max-width: 768px) {
    .product-overview .product-title {
        max-width: 162px;
    }
}

.product-showcase-text > *,
.product-showcase-text p {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 3rem;
}

.overview-showcase .product-showcase-text > *,
.overview-showcase .product-showcase-text p {
    padding-left: 0;
    margin-left: 1rem;
}

.overview-showcase .is-reverse .product-showcase-text > *,
.overview-showcase .is-reverse .product-showcase-text p {
    margin-left: auto;
    margin-right: 1rem;
}

section:not(.overview-showcase) .product-showcase-title {
    margin-bottom: 7rem;
    padding-top: 5px;
}

.product-showcase-text .h3 {
    margin-bottom: 7.2rem;
}

.product-showcase-text h4 {
    margin-bottom: 2.5rem;
}

.overview-showcase .product-showcase-text h5 {
    margin-bottom: 1.2rem;
    margin-top: 8px;
}

.product-showcase-text p {
    font-size: 18px;
    line-height: 1.556;
}

.product-showcase-text .product-claim {
    padding-top: 1.1rem;
}

.product-showcase-text .product-price {
    margin-bottom: -3px;
    margin-top: -4px;
}

.product-showcase-text .product-sale {
    margin-bottom: 1.2rem;
}

.product-showcase-image img {
    max-width: 670px;
}

.product-image-in-text {
    max-width: 333px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.product-image-in-text {
    display: block;
    margin-right: 0;
}

.product-image .product-discount {
    top: 18px;
    left: 42px;
    z-index: 2;
    color: #2B2C29;
}

.is-reverse .product-showcase-image .product-discount {
    left: inherit;
    right: 42px;
}

.teaser-showcase .h3 {
    margin-bottom: 2rem;
}

.teaser-showcase .product-showcase-text > h5:nth-child(2) {
    margin-bottom: 15px;
}

.teaser-showcase .product-showcase-text p {
    font-size: 20px;
    max-width: 434px;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .product-showcase-text .h3 {
        margin-bottom: 5.2rem;
    }

    .overview-showcase .product-showcase-text > *,
    .overview-showcase .product-showcase-text p {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
    }
}

@media (max-width: 769px) {
    .product-showcase .product-image {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .product-image-in-text {
        display: none;
    }
}

.is-middle {
    vertical-align: middle;
}

.is-bottom {
    vertical-align: bottom;
}

.cart {
    padding-top: 3rem;
}

.cart .h4 {
    margin-bottom: 0;
}

.cart-divider {
    height: 6px;
    width: 100%;
    background-color: #2B2C29;
    border-radius: 6px;
    margin-top: 0;
}

.checkout input,
.checkout select {
    width: 100%;
    padding-left: 25px;
}

.checkout input[type="checkbox"] + label::before,
.checkout input[type="radio"] + label::before {
    width: 48px;
    height: 48px;
    border-radius: 48px;
}

.checkout input[type="radio"]:checked + label::after,
.checkout input[type="checkbox"]:checked + label::after {
    width: 24px;
    height: 24px;
    background: currentColor;
    border-radius: 36px;
    top: 12px;
    left: 12px;
}

.checkout input[type="radio"] + label,
.checkout input[type="checkbox"] + label {
    min-height: 48px;
    padding-left: 70px;
}

.checkout label span {
    padding-top: 15px;
    display: block;
}

.checkout .shop-field,
.checkout button:not(.small-width),
.checkout a.button:not(.small-width) {
    width: 100%;
    margin-bottom: 24px;
}

.checkout .h4 {
    margin-bottom: 29px;
}

@media (max-width: 768px) {
    .checkout #billingAddressSameAsShipping + label span {
        padding-top: 8px;
        white-space: break-spaces;
    }
}

/** Coupon **/

.coupon {
    padding: 30px 0;
    border-bottom: 1px solid rgba(43, 44, 41, 0.2);
}

.coupon-text {
    padding: 15px 0 0;
}

.coupon-name {
    display: inline-block;
    margin-right: 30px;
}

/* Nav */

.nav-checkout {
    padding-top: 13px;
    margin-bottom: 18px;
}

#pageContent .nav-checkout ul {
    padding: 35px 60px;
    border-top: 6px solid #2B2C29;
    counter-reset: checkout-counter;
    list-style: none;
}

.nav-checkout li {
    counter-increment: checkout-counter;
}

.nav-checkout .item:before {
    content: counter(checkout-counter);
    height: 48px;
    width: 48px;
    background: #ffffff;
    border-radius: 48px;
    border: 1px solid #2B2C29;
    position: absolute;
    top: -62px;
    left: calc(50% - 24px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.nav-checkout .active .item:before {
    background-color: #2B2C29;
    color: #ffffff;
}

@media (max-width: 768px) {
    #pageContent .nav-checkout ul {
        padding-left: 0;
        padding-right: 0;
    }

    #pageContent .nav-checkout li:not(.active) span {
        display: none;
    }

    #pageContent .nav-checkout li span {
        -webkit-hyphens: manual;
            -ms-hyphens: manual;
                hyphens: manual;
    }

    #pageContent .nav-checkout li {
        padding: 0 5px;
        min-width: 68px;
    }
}

.nav-checkout a {
    text-decoration: none;
}

.order-summary .o-group {
    margin-top: 0;
    margin-bottom: 0;
}

.customer-nav {
    position: absolute;
    background: #2B2C29;
    color: #ffffff;
    right: 0;
    padding: 20px;
    border-radius: 5px;
    top: 70px;
    display: none;
}

.js-customer-open.customer-nav {
    display: block;
}

.-blog .customer-nav {
    color: #2B2C29;
    background-color: #ffffff;
}

.customer-nav:before {
    content: "";
    display: block;
    width: 20px;
    height: 35px;
    background: #2B2C29;
    position: absolute;
    top: -12px;
    transform: rotate(45deg);
    right: 59px;
    border-radius: 5px 0 0 0;
}

.customer-nav a {
    transition: all .25s ease;
}

.customer-nav a:hover,
.customer-nav a:focus {
    color: #46C8CD;
}

.customer-delete {
    color: #E3503D;
    padding: 0;
    background-color: transparent;
    font-size: inherit;
    border: none;
}

.customer-delete:hover,
.customer-delete:focus {
    background-color: transparent;
    color: #46C8CD;
}

.address {
    flex-flow: column;
    align-items: flex-start;
    height: 100%;
}

.address-block {
    height: 100%;
}

.address-controls {
    width: 100%;
}

.flash-messages {
	text-align: center;
}

.flash-messages > * {
	display: block;
	padding: calc(5rem / 4);
	border-radius: 194px;
}

.flash-messages .notice {
	background-color: #A5DC6E;
}

.flash-messages .success {
	background-color: #A5DC6E;
}

.flash-messages .error {
	background-color: #E3503D;
}

.table th {
	padding: 0 0 25px 0;
}

.table td {
	padding: 25px 0;
}

.table tbody tr {
	border-bottom: 1px solid rgba(43, 44, 41, 0.2);
}

.table tbody tr:first-child {
	border-top: 1px solid rgba(43, 44, 41, 0.2);
}

/*-- Order table */

.table-orders th {
}

.table-orders td {
	padding: 25px 0;
}

.table-orders tr {
	border-bottom: 1px solid rgba(43, 44, 41, 0.2);
}

.table-orders td:last-child {
	width: 110px;
}

/* -- Cart table -- */

.table-cart tbody tr,
.table-cart tfoot tr:nth-last-child(2) {
	border-bottom: 1px solid rgba(43, 44, 41, 0.2);
}

.table-cart tbody td {
	padding: 25px 0;
}

.table-cart tfoot td {
	padding: 0 0 25px;
}

.table-cart tfoot tr:first-child td {
	padding-top: 25px;
}

.table-cart .total td {
	padding-top: 98px;
}

.table-cart .remove-item label {
	margin-bottom: 0;
}

.table-cart .quantity > div {
	display: inline-block
}

.table-cart .quantity span {
	cursor: pointer;
}

.table-cart input.qty:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="search"]):not(.button) {
	border: 0;
	padding: 0 20px;
	width: 50px;
	box-sizing: content-box;
}

.table-cart .qty input:focus {
	background-color: transparent;
}

@media(max-width: 768px) {
	.table td {
		display: inline-block;
	}

	/*-- Order table */

	.table-orders thead {
		display: none;
	}

	.table-orders tr {
		display: flex;
	}

	.table-orders td {
		width: 50%;
		padding-left: 5px;
		padding-right: 5px;
	}

	.table-orders td:nth-child(1),
	.table-orders td:nth-child(2) {
		padding-bottom: 0;
	}

	.table-orders td:nth-child(2),
	.table-orders td:nth-child(5) {
		width: 50%;
		text-align: right;
	}

	.table-orders td:nth-child(3) {
		display: none;
	}

	.table-orders td:nth-child(4) {
		text-align: left;
	}

	/* -- Cart table -- */
	.table-cart:not(.editable) tbody td:nth-child(1),
	.table-cart tbody td:nth-child(2) {
		display: none;
	}

	.table-cart tbody td:nth-child(1) {
		width: 40px;
		vertical-align: top;
	}

	.table-cart tbody td:nth-child(2) {
		display: none;
	}

	.table-cart tbody td:nth-child(3) {
		width: calc(100% - 40px);
		padding-bottom: 0;
	}

	.table-cart tbody td:nth-child(4) {
		display: inline-block;
		width: 100%;
		padding-top: 0;
	}

	.table-cart tfoot td {
		width: 50%;
	}

	.table-cart tfoot td:nth-child(1) {
		text-align: left;
	}

	.table-cart tfoot td:nth-child(2) {
		text-align: right;
	}

}



/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3R5bGVzLWFzeW5jLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vdmFyaWFibGVzLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL2Jhc2UuY3NzIiwid2VicGFjazovLy8uLi9zdHlsZXMtYXN5bmMvYXJ0aWNsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4uL3N0eWxlcy1hc3luYy9icmVhZGNydW1icy5jc3MiLCJ3ZWJwYWNrOi8vLy4uL3N0eWxlcy1hc3luYy9mb3JtLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL21lZGlhLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL2pvYi5jc3MiLCJ3ZWJwYWNrOi8vLy4uL3N0eWxlcy1hc3luYy9ob21lLWludHJvLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL2hvdC1uZXdzLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL3dlLXdhbnQteW91LmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL3RoaXMtaXMtdml2YWdlLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL3RoZS13b21hbi1iZWhpbmQtdml2YWdlLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL2Jsb2cuY3NzIiwid2VicGFjazovLy8uLi9zdHlsZXMtYXN5bmMvc2VydmljZS5jc3MiLCJ3ZWJwYWNrOi8vLy4uL3N0eWxlcy1hc3luYy9jb21wb25lbnRzLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWNyaXRpY2FsL2xheW91dC5jc3MiLCJ3ZWJwYWNrOi8vLy4uL3N0eWxlcy1hc3luYy9hbmltYXRpb24uY3NzIiwid2VicGFjazovLy8uLi9zdHlsZXMtYXN5bmMvNDA0LmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL3Byb2R1Y3QuY3NzIiwid2VicGFjazovLy8uLi9zdHlsZXMtYXN5bmMvcHJvZHVjdC1vdmVydmlldy5jc3MiLCJ3ZWJwYWNrOi8vLy4uL3N0eWxlcy1hc3luYy9wcm9kdWN0LXNob3djYXNlLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL2NoZWNrb3V0LmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL2N1c3RvbWVyLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL2ZsYXNoLW1lc3NhZ2VzLmNzcyIsIndlYnBhY2s6Ly8vLi4vc3R5bGVzLWFzeW5jL3RhYmxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTs7QUFFRixtQkFBbUI7O0FDZm5CO0lBQ0ksOEJBQThCOztJQXFCOUIsbUJBQW1COztJQWdCbkIsb0JBQW9CLEVBZXFELG9DQUFvQyxFQUNwQyxzQ0FBc0MsRUFDdEMsb0NBQW9DLEVBQ3BDLHNDQUFzQyxFQUN0QyxvQ0FBb0MsRUFzQmpGLDRDQUE0Qzs7SUFLeEUsMkJBQTJCLEVBZ0JXLGNBQWM7O0lBUXBELFlBQVksR0FTaUIsV0FBVzs7SUFLeEMsUUFBUSxFQUNzQixjQUFjOztJQU01QyxTQUFTOztJQWVULFdBQVc7O0lBT1gsWUFBWTs7SUFLWix3QkFBd0Isa0JBQ2UsNENBQTRDLGlCQUM1Qyx5REFBeUQsa0JBQ3pELHFDQUFxQyxXQUNyQyw2Q0FBNkMsb0JBQzdDLGlEQUFpRCxFQUNqRCxzREFBc0QsWUFDdEQsdURBQXVELGdCQUN2RCxpRUFBaUUsU0FDakUsNENBQTRDLHNCQUM1QyxpREFBaUQsd0JBQ2pELGtCQUFrQjs7SUFFekQsZ0JBQWdCO0FBS3BCOztBQUVBLGtCQUFrQjs7QUM5S2xCLG1CQUFtQjs7QUFDbkI7SUFDSSx5QkFBbUM7QUFDdkM7O0FBRUE7SUFDSSx5QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxnSUFBZ0k7QUFDcEk7O0FBRUE7SUFDSSx5QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSx5QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSw0RkFBaUM7QUFDckM7O0FBRUE7SUFDSSx5QkFBNkI7QUFDakM7O0FBRUE7SUFD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eUI7Q0FDekIsdUJBQXVCO0FBQ3hCOztBQUVBO0NBQ0MsNkJBQTZCO0FBQzlCOztBQUVBO0NBQ0M7RUFDQyxxQkFBcUI7Q0FDdEI7O0NBRUEsa0JBQWtCOztDQUVsQjtFQUNDLGFBQWE7Q0FDZDs7Q0FFQTtFQUNDLGFBQWE7Q0FDZDs7Q0FFQTtFQUNDLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsa0JBQWtCO0NBQ25COztDQUVBOztFQUVDLGlCQUFpQjtDQUNsQjs7Q0FFQTs7RUFFQyxVQUFVO0VBQ1YsaUJBQWlCO0NBQ2xCOztDQUVBO0VBQ0MsYUFBYTtDQUNkOztDQUVBO0VBQ0MsZ0JBQWdCO0NBQ2pCOztDQUVBLHFCQUFxQjtDQUNyQjs7RUFFQyxhQUFhO0NBQ2Q7O0NBRUE7RUFDQyxXQUFXO0VBQ1gsbUJBQW1CO0NBQ3BCOztDQUVBO0VBQ0MsYUFBYTtDQUNkOztDQUVBO0VBQ0Msd0JBQXdCO0VBQ3hCLGlCQUFpQjtDQUNsQjs7Q0FFQTtFQUNDLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsY0FBYztDQUNmOztDQUVBO0VBQ0MsVUFBVTtDQUNYOztDQUVBO0VBQ0MsZ0JBQWdCO0NBQ2pCOztDQUVBO0VBQ0MsaUJBQWlCO0NBQ2xCOztBQUVEIiwiZmlsZSI6ImhlbGl1bS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIOKVkuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlVxuICog4pSCICAgICAgICAgICBIb1cgdE8gd3JJdEUgQ29ERSAgICAgICAgICAg4pSCXG4gKiDilZ7ilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilaTilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilaFcbiAqIOKUgiAgICAgICAgICB2YXJpYWJsZSDilIIgLS1saWtlLXRoaXMgICAgICAg4pSCXG4gKiDilIIgY3VzdC4gbWVkaWEgcXVlcnkg4pSCIC0tW2Zvcnx3aGVuXS1bLi5dIOKUglxuICog4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSkXG4gKiDilIIgICAgICBsYXlvdXQsIG9iai4g4pSCIC5vLVsuLl0gICAgICAgICAgIOKUglxuICog4pSCICAgIGVsZW1lbnQsIGNtcHQuIOKUgiAubGlrZS10aGlzICAgICAgICDilIJcbiAqIOKUgiAgICAgICAgIENTUyBzdGF0ZSDilIIgLltpc3xoYXNdLVsuLl0gICAg4pSCXG4gKiDilIIgICAgICAgICAgSlMgc3RhdGUg4pSCIC5qcy1bLi5dICAgICAgICAgIOKUglxuICog4pSCICAgICAgIHRoZW1lLCBtb2QuIOKUgiAuLWxpa2UtdGhpcyAgICAgICDilIJcbiAqIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmFxuICovXG5cbi8qIC0tLSBTdHlsZXMgLS0tICovXG5cbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy9iYXNlLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvYXJ0aWNsZS5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL2JyZWFkY3J1bWJzLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvZm9ybS5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL21lZGlhLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvam9iLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvaG9tZS1pbnRyby5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL2hvdC1uZXdzLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvd2Utd2FudC15b3UuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy90aGlzLWlzLXZpdmFnZS5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL3RoZS13b21hbi1iZWhpbmQtdml2YWdlLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvYmxvZy5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL3NlcnZpY2UuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy9jb21wb25lbnRzLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtY3JpdGljYWwvbGF5b3V0LmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvYW5pbWF0aW9uLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvNDA0LmNzcyc7XG5cbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy9wcm9kdWN0LmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvcHJvZHVjdC1vdmVydmlldy5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL3Byb2R1Y3Qtc2hvd2Nhc2UuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy9jaGVja291dC5jc3MnO1xuQGltcG9ydCAnLi4vc3R5bGVzLWFzeW5jL2N1c3RvbWVyLmNzcyc7XG5AaW1wb3J0ICcuLi9zdHlsZXMtYXN5bmMvZmxhc2gtbWVzc2FnZXMuY3NzJztcbkBpbXBvcnQgJy4uL3N0eWxlcy1hc3luYy90YWJsZXMuY3NzJztcblxuIiwiOnJvb3Qge1xuICAgIC8qIENvbG9ycyAtIEJhc2UgMTYgRWlnaHRpZXMgKi9cbiAgICAtLWdyYXk6ICNhMDlmOTM7XG4gICAgLS1yZWQ6ICNFMzUwM0Q7XG4gICAgLS1vcmFuZ2U6ICNmOTkxNTc7XG4gICAgLS15ZWxsb3c6ICNmZmNjNjY7XG4gICAgLS1ibHVlOiAjNjY5OWNjO1xuICAgIC0tdmlvbGV0OiAjY2M5OWNjO1xuICAgIC0tbWFnZW50YTogI2QyN2I1MztcblxuICAgIC0tYmxhY2s6ICMyQjJDMjk7XG4gICAgLS1kYXJrOiB2YXIoLS1ibGFjayk7XG4gICAgLS1saWdodDogI2ZmZmZmZjtcbiAgICAtLWxpZ2h0LWdyYXk6ICNGMkYyRjI7XG4gICAgLS1ncmVlbjogI0E1REM2RTtcbiAgICAtLWN5YW46ICM0NkM4Q0Q7XG4gICAgLS1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDAsICNBNURDNkUgMCUsICNhNWRjNmUgNDIuNiUsICM0NmM4Y2QgNzYuNCUsICM0NmM4Y2QgMTAwJSk7XG4gICAgLS1ncmFkaWVudC1mbGlwcGVkOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjQTVEQzZFIDAlLCAjYTVkYzZlIDQyLjYlLCAjNDZjOGNkIDc2LjQlLCAjNDZjOGNkIDEwMCUpO1xuICAgIC0tZ3JhZGllbnQtaG9yaXpvbnRhbDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgI0E1REM2RSAwJSwgI2E1ZGM2ZSA0Mi42JSwgIzQ2YzhjZCA3Ni40JSwgIzQ2YzhjZCAxMDAlKTtcblxuICAgIC0tcGFnZS1iYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG5cbiAgICAvKiBUZXh0IC0gRGVmYXVsdCAqL1xuICAgIC0tZGVmYXVsdC1mb250LWZhbWlseTogXCJGaWxzb24gUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1mYW1pbHktYmxhY2s6IFwiRmlsc29uIEJsYWNrXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtZmFtaWx5LWhlYXZ5OiBcIkZpbHNvbiBIZWF2eVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWZhbWlseS1tZWRpdW06IFwiRmlsc29uIE1lZGl1bVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gICAgLS1kZWZhdWx0LWRhcmstdGV4dC1jb2xvcjogdmFyKC0tZGFyayk7XG4gICAgLS1kZWZhdWx0LWxpZ2h0LXRleHQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgICAtLWRlZmF1bHQtZm9udC1zaXplOiBjYWxjKDE4cHggKyAoMjAgLSAxOCkgKiAoMTAwdncgLSAzMjBweCkgLyAoMTQ0MCAtIDc2OCkpO1xuICAgIC0tZGVmYXVsdC1zbWFsbC1mb250LXNpemU6IGNhbGMoMTZweCArICgxOCAtIDE2KSAqICgxMDB2dyAtIDMyMHB4KSAvICgxNDQwIC0gNzY4KSk7XG4gICAgLS1kZWZhdWx0LWZvbnQtc2l6ZS1zbTogMThweDtcbiAgICAtLWRlZmF1bHQtZm9udC1zaXplLXhsOiAyMHB4O1xuICAgIC0tZGVmYXVsdC1zbWFsbC1mb250LXNpemUtc206IDE2cHg7XG4gICAgLS1kZWZhdWx0LXNtYWxsLWZvbnQtc2l6ZS14bDogMThweDtcbiAgICAtLWRlZmF1bHQtZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAtLWRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIC8qIFRleHQgLSBIZWFkaW5ncyAqL1xuICAgIC0taGVhZGluZ3MtZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJsYWNrKTtcbiAgICAtLWhlYWRpbmdzLWNvbG9yOiBpbmhlcml0O1xuICAgIC0taGVhZGluZ3MtZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAtLWhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjE3O1xuICAgIC0taGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogMC40ZW07XG5cbiAgICAtLWgxLW1hcmdpbi10b3A6IDA7XG4gICAgLS1oMS1tYXJnaW4tYm90dG9tOiAwLjRlbTtcbiAgICAtLWgyLW1hcmdpbi10b3A6IDA7XG4gICAgLS1oMi1tYXJnaW4tYm90dG9tOiAwLjU2ZW07XG4gICAgLS1oMy1tYXJnaW4tdG9wOiAwO1xuICAgIC0taDMtbWFyZ2luLWJvdHRvbTogMC40ZW07XG4gICAgLS1oNC1tYXJnaW4tYm90dG9tOiAxLjY2ZW07XG5cbiAgICAtLWgxLWZvbnQtc2l6ZTogY2FsYyg2MHB4ICsgKDcwIC0gNjApICogKDEwMHZ3IC0gNzY4cHgpIC8gKDE0NDAgLSA3NjgpKTsgLyogNXJlbSBAIDE0NDBweCAtPiAyLjhyZW0gQCAzMjBweCAqL1xuICAgIC0taDItZm9udC1zaXplOiBjYWxjKDM2cHggKyAoNjAgLSAzNikgKiAoMTAwdncgLSA3NjhweCkgLyAoMTQ0MCAtIDc2OCkpOyAvKiAzLjZyZW0gQCAxNDQwcHggLT4gMi40cmVtIEAgMzIwcHggKi9cbiAgICAtLWgzLWZvbnQtc2l6ZTogY2FsYygyNnB4ICsgKDQ0IC0gMjYpICogKDEwMHZ3IC0gNzY4cHgpIC8gKDE0NDAgLSA3NjgpKTsgLyogM3JlbSBAIDE0NDBweCAtPiAyLjFyZW0gQCAzMjBweCAqL1xuICAgIC0taDQtZm9udC1zaXplOiBjYWxjKDIwcHggKyAoMjYgLSAyMCkgKiAoMTAwdncgLSA3NjhweCkgLyAoMTQ0MCAtIDc2OCkpOyAvKiAyLjVyZW0gQCAxNDQwcHggLT4gMS45cmVtIEAgMzIwcHggKi9cbiAgICAtLWg1LWZvbnQtc2l6ZTogY2FsYygxOHB4ICsgKDIwIC0gMTgpICogKDEwMHZ3IC0gNzY4cHgpIC8gKDEyMDAgLSA3NjgpKTsgLyogMnJlbSBAIDE0NDBweCAtPiAxLjhyZW0gQCAzMjBweCAqL1xuICAgIC0taW50cm8tZm9udC1zaXplOiBjYWxjKDYwcHggKyAoOTAgLSA2MCkgKiAoMTAwdncgLSA3NjhweCkgLyAoMTQ0MCAtIDc2OCkpO1xuICAgIC0tYnV0dG9uLWZvbnQtc2l6ZTogMTZweDtcbiAgICAtLWlucHV0LWZvbnQtc2l6ZTogMTZweDtcbiAgICAtLXNob3AtZm9udC1zaXplOiAxOHB4O1xuICAgIC0tc21hbGwtZm9udC1zaXplOiAxNHB4O1xuICAgIC0tZXh0cmEtc21hbGwtZm9udC1zaXplOiAxMnB4O1xuXG4gICAgLS1oMS1mb250LXNpemUteGw6IDcwcHg7XG4gICAgLS1oMi1mb250LXNpemUteGw6IDYwcHg7XG4gICAgLS1oMy1mb250LXNpemUteGw6IDQ0cHg7XG4gICAgLS1oNC1mb250LXNpemUteGw6IDI2cHg7XG4gICAgLS1oNS1mb250LXNpemUteGw6IDIwcHg7XG4gICAgLS1pbnRyby1mb250LXNpemUteGw6IDkwcHg7XG5cbiAgICAtLWgxLWZvbnQtc2l6ZS1zbTogNjBweDtcbiAgICAtLWgyLWZvbnQtc2l6ZS1zbTogMzZweDtcbiAgICAtLWgzLWZvbnQtc2l6ZS1zbTogMjZweDtcbiAgICAtLWg0LWZvbnQtc2l6ZS1zbTogMjBweDtcbiAgICAtLWg1LWZvbnQtc2l6ZS1zbTogMThweDtcbiAgICAtLWludHJvLWZvbnQtc2l6ZS1zbTogNTBweDtcbiAgICAtLWJ1dHRvbi1mb250LXNpemUtc206IDE2cHg7XG4gICAgLS1pbnB1dC1mb250LXNpemUtc206IDE2cHg7IC8qIG1pbiBmb250LXNpemUgdG8gYXZvaWQgc2NhbGluZyBvbiBmb2N1cyAqL1xuXG4gICAgLS1wLW1hcmdpbi1ib3R0b206IDEuNzVlbTtcbiAgICAtLW1lZGlhLW1hcmdpbi1oZWlnaHQ6IDJlbTtcblxuICAgIC8qIFBhZ2UgLSBkZWZhdWx0LCBsYXlvdXQgKi9cbiAgICAtLXBhZ2UtbWF4d2lkdGg6IDEwOC42cmVtO1xuICAgIC0tcGFnZS1tYXh3aWR0aC1sYXJnZTogMTM2LjZyZW07XG4gICAgLS1wYWdlLWd1dHRlci13aWR0aDogNXJlbTtcbiAgICAtLXBhZ2UtZ3V0dGVyLXdpZHRoLXNtOiAycmVtO1xuXG4gICAgLS1zZWN0aW9uLW1hcmdpbi1oZWlnaHQ6IHZhcigtLWJpZy1zcGFjaW5nKTtcbiAgICAtLXNlY3Rpb24tbWFyZ2luLWhlaWdodC1zbTogdmFyKC0tYmlnLXNwYWNpbmctc20pO1xuXG4gICAgLS1jb21wb25lbnQtbWFyZ2luLWhlaWdodDogNi4yNXZtaW47XG4gICAgLS1jb21wb25lbnQtbWFyZ2luLWhlaWdodC1zbTogM3JlbTtcblxuXG4gICAgLS1sYXlvdXQtZ3V0dGVyLXdpZHRoOiA0cmVtO1xuICAgIC0tbGF5b3V0LWd1dHRlci1oZWlnaHQ6IDNyZW07XG4gICAgLS1sYXlvdXQtZ3V0dGVyLW1lZGl1bS13aWR0aDogOS41cmVtO1xuICAgIC0tbGF5b3V0LWd1dHRlci1tZWRpdW0taGVpZ2h0OiAxMHJlbTsgLyogbm90IGZpbmFsICovXG4gICAgLS1sYXlvdXQtZ3V0dGVyLWJpZy13aWR0aDogMTEuNXJlbTtcbiAgICAtLWxheW91dC1ndXR0ZXItYmlnLWhlaWdodDogMjByZW07XG5cbiAgICAtLWJpZ2dlci1ndXR0ZXI6IDIxLjdyZW07XG5cbiAgICAtLWNhcm91c2VsLWd1dHRlci13aWR0aDogM3JlbTtcblxuICAgIC8qIFNwYWNpbmcgKi9cbiAgICAtLWV4dHJhLXNtYWxsLXNwYWNpbmc6IDNyZW07XG4gICAgLS1zbWFsbC1zcGFjaW5nOiA1cmVtO1xuICAgIC0tbWVkaXVtLXNwYWNpbmc6IDExcmVtO1xuICAgIC0tbGFyZ2Utc3BhY2luZzogMTMuMnJlbTtcbiAgICAtLWJpZy1zcGFjaW5nOiAyMHJlbTtcblxuICAgIC0tZXh0cmEtc21hbGwtc3BhY2luZy1zbTogM3JlbTtcbiAgICAtLXNtYWxsLXNwYWNpbmctc206IDVyZW07XG4gICAgLS1tZWRpdW0tc3BhY2luZy1zbTogMTFyZW07ICAvKnZsdCA4cmVtKi9cbiAgICAtLWJpZy1zcGFjaW5nLXNtOiAxMHJlbTtcblxuICAgIC0tYm9yZGVyLXJhZGl1czogMTk0cHg7XG5cbiAgICAvKiBSd2QgKi9cbiAgICAtLXJ3ZC1tYXJnaW4taGVpZ2h0LW1kOiAyMXB4OyAvKiBjb250YWN0IDEgKi9cbiAgICAtLXJ3ZC1tYXJnaW4taGVpZ2h0LWxnOiAyMXB4O1xuICAgIC0tcndkLW1hcmdpbi1oZWlnaHQtc206IDEycHg7XG4gICAgLS1tZW51LXRvZ2dsZS1oZWlnaHQ6IDU1cHg7XG4gICAgLS1tZW51LXRvZ2dsZS1oZWlnaHQtcmVkdWNlZDogMjZweDtcblxuICAgIC8qIEZvcm0gKi9cbiAgICAtLWZvcm0tZGVmYXVsdC1jb2xvcjogMCwgMCUsIDMyJTtcbiAgICAtLWZvcm0tYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrKTtcbiAgICAtLWZvcm0tZXJyb3ItY29sb3I6IDM1OSwgODMlLCA3MSU7XG4gICAgLS1mb3JtLWFjdGl2ZS1jb2xvcjogMjEwLCA1MCUsIDYwJTtcbiAgICAtLWZvcm0tcmVhZG9ubHktY29sb3I6IHZhcigtLWdyYXkpO1xuICAgIC0tZm9ybS1pbnZhbGlkLWNvbG9yOiAzNiwgMTAwJSwgNTAlO1xuICAgIC0tZm9ybS1lcnJvci1ib3JkZXItY29sb3I6IDM1OSwgODMlLCA3MSU7XG4gICAgLS1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogODUsIDEwMCUsIDMwJTtcbiAgICAtLWZvcm0tZXJyb3ItdGV4dC1jb2xvcjogI0UzNTAzRDtcbiAgICAtLWZvcm0tZXJyb3ItYmFja2dyb3VuZDogMzU5LCA4MyUsIDcxJTtcbiAgICAtLWZvcm0tc3VjY2Vzcy1jb2xvcjogIzg3ZmU2YTtcbiAgICAtLWZvcm0taW5wdXQtYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAtLWZvcm0tb3B0aW9uLWhvdmVyLWNvbG9yOiAjZWRlZGVkO1xuXG4gICAgLyogQnV0dG9uICovXG4gICAgLS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB2YXIoLS1ibGFjayk7XG4gICAgLS1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xuICAgIC0tYnV0dG9uLWRlZmF1bHQtY29sb3I6IHZhcigtLWRlZmF1bHQtbGlnaHQtdGV4dC1jb2xvcik7XG4gICAgLS1idXR0b24tYWN0aXZlLWNvbG9yOiB2YXIoLS1kZWZhdWx0LWxpZ2h0LXRleHQtY29sb3IpO1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2spO1xuXG4gICAgLyogVGltaW5ncyAqL1xuICAgIC0tZGVmYXVsdC10aW1pbmc6IDI1MG1zO1xuICAgIC0tdHJhbnNpdGlvbi1hcHBlYXItc3BlZWQ6IDgwMG1zO1xuICAgIC0tdHJhbnNpdGlvbi1hcHBlYXItZGVsYXk6IDMwMG1zO1xuXG4gICAgLyogRGVmYXVsdCBzcGFjZSB1bml0cyAqL1xuICAgIC0temVyby13aWR0aC1zcGFjZTogMDsgICAgICAgICAgICAgICAgIC8qICAgMCAgZW0gfCBBbGxvd3MgbGluZSBicmVhaywgbGlrZSA8d2JyPiAqL1xuICAgIC0taGFpci1zcGFjZTogMC4wNDE3ZW07ICAgICAgICAgICAgICAgIC8qIDEvMjQgZW0gfCBXaWR0aCB2YXJpZXMsIGJ1dCBuYXJyb3dlciB0aGFuIHRoaW4gc3BhY2UgKi9cbiAgICAtLWZpbmUtc3BhY2U6IDAuMTI1ZW07ICAgICAgICAgICAgICAgICAvKiAxLzggIGVtIHwgRm9yIEZyZW5jaCBwdW5jdHVhdGlvbiAqL1xuICAgIC0tc2l4LXBlci1lbS1zcGFjZTogMC4xNjY3ZW07ICAgICAgICAgIC8qIDEvNiAgZW0gfCBNaWdodCBiZSBzdWl0YWJsZSBmb3IgZ3JvdXBpbmcgKi9cbiAgICAtLXRoaW4tc3BhY2U6IDAuMmVtOyAgICAgICAgICAgICAgICAgICAvKiAxLzUgIGVtIHwgUmVjb21tZW5kZWQgbWluaW11bSB3aWR0aCBvZiBzcGFjZSAqL1xuICAgIC0tbWVkaXVtLW1hdGhlbWF0aWNhbC1zcGFjZTogMC4yMjIyZW07IC8qIDQvMTggZW0gfCBBcm91bmQgb3BlcmF0b3JzIChhY2NvcmRpbmcgdG8gQ2hpY2FnbykgKi9cbiAgICAtLWZvdXItcGVyLWVtLXNwYWNlOiAwLjI1ZW07ICAgICAgICAgICAvKiAxLzQgIGVtIHwgbWlkIHNwYWNlOiBBdmVyYWdlIHdpZHRoIG9mIG5vcm1hbCBzcGFjZSAqL1xuICAgIC0tdGhpY2stc3BhY2U6IDAuMjc3OGVtOyAgICAgICAgICAgICAgIC8qIDUvMTggZW0gfCBBcm91bmQgcmVsYXRpb25hbCBvcGVyYXRvcnMgKGFjY29yZGluZyB0byBDaGljYWdvKSAqL1xuICAgIC0tdGhyZWUtcGVyLWVtLXNwYWNlOiAwLjMzMzNlbTsgICAgICAgIC8qIDEvMyAgZW0gfCBXaWR0aCBvZiBzcGFjZSBpbiBhIHdpZGUgZm9udCAqL1xuICAgIC0tZW4tc3BhY2U6IDAuNWVtOyAgICAgICAgICAgICAgICAgICAgIC8qIDEvMiAgZW0gfCBSZWNvbW1lbmRlZCBtYXhpbXVtIHdpZHRoIG9mIHNwYWNlICovXG4gICAgLS1lbS1zcGFjZTogMWVtOyAgICAgICAgICAgICAgICAgICAgICAgLyogICAxICBlbSB8IE9uZSAqL1xuXG4gICAgLyogQnJlYWtwb2ludHMgKi9cbiAgICAtLWJwLXNtOiA1NDRweDtcbiAgICAtLWJwLW1kOiA3NjhweDtcbiAgICAtLWJwLWxnOiA5OTJweDtcbiAgICAtLWJwLXhsOiAxMjAwcHg7XG59XG5cbi8qIE1lZGlhIHF1ZXJpZXMgKi9cbkBjdXN0b20tbWVkaWEgLS1mb3IteHMgKHdpZHRoIDwgNTk2cHgpO1xuQGN1c3RvbS1tZWRpYSAtLWZvci1zbSAod2lkdGggPj0gNTQ0cHgpIGFuZCAod2lkdGggPCA3NjhweCk7XG5AY3VzdG9tLW1lZGlhIC0tZm9yLW1kICh3aWR0aCA+PSA3NjhweCkgYW5kICh3aWR0aCA8IDk5MnB4KTtcbkBjdXN0b20tbWVkaWEgLS1mb3ItbGcgKHdpZHRoID49IDk5MnB4KSBhbmQgKHdpZHRoIDwgMTQ0MHB4KTtcbkBjdXN0b20tbWVkaWEgLS1mb3IteGwgKHdpZHRoID49IDE0NDBweCk7XG5cbkBjdXN0b20tbWVkaWEgLS1mb3Itc20tdXAgKHdpZHRoID49IDU0NHB4KTtcbkBjdXN0b20tbWVkaWEgLS1mb3ItbWQtdXAgKHdpZHRoID49IDc2OHB4KTtcbkBjdXN0b20tbWVkaWEgLS1mb3ItbGctdXAgKHdpZHRoID49IDk5MnB4KTtcbkBjdXN0b20tbWVkaWEgLS1mb3IteGwtdXAgKHdpZHRoID49IDE0NDBweCk7XG5cbkBjdXN0b20tbWVkaWEgLS1mb3Itc20tZG93biAod2lkdGggPCA3NjlweCk7XG5AY3VzdG9tLW1lZGlhIC0tZm9yLW1kLWRvd24gKHdpZHRoIDwgOTkycHgpO1xuQGN1c3RvbS1tZWRpYSAtLWZvci1sZy1kb3duICh3aWR0aCA8IDE0NDBweCk7XG5cbkBjdXN0b20tbWVkaWEgLS1mb3ItYnVyZ2VyLW5hdiAod2lkdGggPCA5OTJweCk7XG5AY3VzdG9tLW1lZGlhIC0tZm9yLXN0YW5kYXJkLW5hdiAod2lkdGggPj0gOTkycHgpO1xuXG5AY3VzdG9tLW1lZGlhIC0tZm9yLXRvdWNoLWRldmljZSAoZGV2aWNlLXdpZHRoIDw9IDEwMjRweCk7XG5AY3VzdG9tLW1lZGlhIC0tZm9yLXBvaW50aW5nLWRldmljZSAoZGV2aWNlLXdpZHRoID4gMTAyNXB4KTtcbiIsIkBpbXBvcnQgdXJsKC4uLy4uL3ZhcmlhYmxlcy5jc3MpO1xuXG4vKiAtLS0gVGhlbWVzIC0tLSAqL1xuLmhhcy1iYWNrZ3JvdW5kLi1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLi1jeWFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeWFuKTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLi1jeWFuLWdyYWRpZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDcwLCAyMDAsIDIwNSwgMC42OTgpIDAlLCByZ2JhKDcwLCAyMDAsIDIwNSwgMSkgNzMuOSUsIHJnYmEoNzAsIDIwMCwgMjA1LCAxKSAxMDAlKSwgI2ZmZjtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLi1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4pO1xufVxuXG4uaGFzLWJhY2tncm91bmQuLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG59XG5cbi5oYXMtYmFja2dyb3VuZC4tZ3JhZGllbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYWRpZW50KTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLi1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrKTtcbn1cblxuQG1lZGlhICgtLWZvci1tZC1kb3duKSB7XG4gICAgLmhhcy1iYWNrZ3JvdW5kLW1kLWRvd24uLWdyYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTtcbiAgICB9XG59XG5cbi4tYmxvZ092ZXJ2aWV3IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrKTtcbn1cblxuLi1ob21lIC5wYWdlLW5hdixcbi4tYmxvZ092ZXJ2aWV3IC5wYWdlLW5hdiB7XG4gICAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cblxuLi1ob21lIC5wYWdlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi4taG9tZSAucGFnZS1oZWFkZXIuanMtYmFja2dyb3VuZCxcbi4tYmxvZ092ZXJ2aWV3IC5wYWdlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG59XG5cbi8qIExpbmsgKi9cbm1haW4gcCBhLFxuYS5zaW1wbGUtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tZGVmYXVsdC10aW1pbmcpIGNvbG9yIGVhc2U7XG59XG5cbkBtZWRpYSAoLS1mb3Itc20tdXApIHtcbiAgICBtYWluIHAgYTpob3ZlcixcbiAgICBhLnNpbXBsZS1saW5rOmhvdmVyLFxuICAgIGEuc2ltcGxlLWxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tY3lhbik7XG4gICAgfVxufVxuXG4uZGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5kbCBkdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmRsIGRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5kZWZpbml0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmRlZmluaXRpb24gKiB7XG4gICAgZmxvYXQ6bGVmdDtcbn1cblxuXG4uc21hbGwtc2NyZWVuLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAoLS1mb3Itc20tZG93bikge1xuICAgIC5zbWFsbC1zY3JlZW4tb25seSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59IiwiQGltcG9ydCB1cmwoLi4vLi4vdmFyaWFibGVzLmNzcyk7XG5cbmFydGljbGUgaHIge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgbWFyZ2luOiAxLjc1ZW0gMTByZW07XG59XG5cbmFydGljbGUgb2wsXG5hcnRpY2xlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuLm8tZWRpdG9yaWFsICsgLm8tZWRpdG9yaWFsOm5vdChbY2xhc3MqPVwiY2VsbC1cIl0pLFxuLm8tbGF6eS1tZWRpYSArIC5vLWVkaXRvcmlhbDpub3QoW2NsYXNzKj1cImNlbGwtXCJdKSxcbi5vLWdvb2dsZS1tYXAgKyAuby1lZGl0b3JpYWw6bm90KFtjbGFzcyo9XCJjZWxsLVwiXSkge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNlY3Rpb24tbWFyZ2luLWhlaWdodCk7XG59XG5cbi5vLWVkaXRvcmlhbCArIC5vLWxhenktbWVkaWE6bm90KFtjbGFzcyo9XCJjZWxsLVwiXSksXG4uby1lZGl0b3JpYWwgKyAuby1nb29nbGUtbWFwOm5vdChbY2xhc3MqPVwiY2VsbC1cIl0pIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zZWN0aW9uLW1hcmdpbi1oZWlnaHQpO1xufVxuXG4uby1sYXp5LW1lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogLS0tIExhenkgTWVkaWEgRWRpdG9yaWFsIC0tLSAqL1xuXG4uby1sYXp5LW1lZGlhIC5vLWVkaXRvcmlhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uby1sYXp5LW1lZGlhIC5vLWVkaXRvcmlhbCAudGl0bGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiAtLS0gU2VhcmNoIC0tLSAqL1xuLm8tc2VhcmNoIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uby1zZWFyY2ggLnNlYXJjaC1yZXN1bHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4taGVpZ2h0KVxufVxuIiwiQGltcG9ydCB1cmwoLi4vLi4vdmFyaWFibGVzLmNzcyk7XG5cbjpyb290IHtcbiAgICAtLWJyZWFkY3J1bWItc3BhY2U6IDFlbTtcbn1cblxuLm8tYnJlYWRjcnVtYnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uby1icmVhZGNydW1icyBsaS5zcGxpdHRlciB7XG4gICAgbWFyZ2luOiAwIHZhcigtLWJyZWFkY3J1bWItc3BhY2UpO1xufVxuXG4uby1icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uby1icmVhZGNydW1icyAubGluayB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kZWZhdWx0LXRpbWluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uby1icmVhZGNydW1icyAuaGFzLXN2Zy1pY29uIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIkBpbXBvcnQgdXJsKC4uLy4uL3ZhcmlhYmxlcy5jc3MpO1xuXG5mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIC0tLSBEZWZhdWx0IHNldHRpbmdzIC0tLSAqL1xuZmllbGRzZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi8qQG1lZGlhICgtLWZvci1zbS1kb3duKSB7Ki9cbi8qICAgIGZpZWxkc2V0IHsqL1xuLyogICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07Ki9cbi8qICAgIH0qL1xuLyp9Ki9cblxuZmllbGRzZXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnJlcXVpcmVkLWxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4ud2lubmllIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICByaWdodDogLTI0NjZweDtcbn1cblxuLndpbm5pZSBsYWJlbCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuZmllbGRzZXQgLmZvcm0taXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbmJ1dHRvbiwgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5idXR0b246LW1vei11aS1pbnZhbGlkLFxuaW5wdXQ6LW1vei11aS1pbnZhbGlkLFxudGV4dGFyZWE6LW1vei11aS1pbnZhbGlkIHtcbiAgICBib3gtc2hhZG93OiAwIDA7XG59XG5cbmJ1dHRvbiwgaW5wdXQsIHRleHRhcmVhLCBsYWJlbCB7XG4gICAgdHJhbnNpdGlvbjogMzUwbXM7XG59XG5cbmlucHV0LCB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbmZvcm0gYnV0dG9uLFxubGFiZWw6bm90KC5pcy1zdGF0aWMpLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZm9ybSBidXR0b24sXG5mb3JtIGJ1dHRvbi5oYXMtc3ZnLWljb24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbSAwLjg1ZW0gMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG5mb3JtIGJ1dHRvbi5oYXMtc3ZnLWljb24ge1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIG1pbi1oZWlnaHQ6IDIuMjVlbTsgLyogbGluZS1oZWlnaHQgKyBwYWRkaW5nICovXG4gICAgbWluLXdpZHRoOiAyLjI1ZW07XG59XG5cbmZvcm0gYnV0dG9uLmhhcy1zdmctaWNvbiA+IHN2ZyB7XG4gICAgbWF4LWhlaWdodDogMWVtO1xufVxuXG5mb3JtIGJ1dHRvbjpmb2N1cyxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgLypib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tcGFnZS1iYWNrZ3JvdW5kKSwgMCAwIDAgNHB4IGhzbGEodmFyKC0tZm9ybS1hY3RpdmUtY29sb3IpLCAwLjM1KTsqL1xufVxuXG5AbWVkaWEgKC0tZm9yLXBvaW50aW5nLWRldmljZSkge1xuICAgIGZvcm0gYnV0dG9uOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLXRvdWNoLWRldmljZSkge1xuICAgIGZvcm0gYnV0dG9uOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgfVxufVxuXG5bdHlwZT1cIm51bWJlclwiXSB7IC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmxhYmVsLFxubGVnZW5kIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjE1ZW07XG59XG5cbnNlbGVjdCwgb3B0aW9uIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuc2VsZWN0IG9wdGlvbiB7XG4gICAgcGFkZGluZzogMC43NWVtIDJlbSAwLjg1ZW0gMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAzZW07XG59XG5cbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJzZWFyY2hcIl0pOm5vdCguYnV0dG9uKSxcbnRleHRhcmVhLCBzZWxlY3Q6bm90KC5idXR0b24pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMmVtIDAuODVlbSAxZW07IC8qIHBhZGRpbmctcmlnaHQgMmVtIGJlY2F1c2Ugb2YgaWUgKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZm9ybS1ib3JkZXItY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgLypib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggdmFyKC0tZm9ybS1pbnB1dC1iYWNrZ3JvdW5kKSBpbnNldCFpbXBvcnRhbnQ7Ki9cbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWZvcm0tYm9yZGVyLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB2YXIoLS1mb3JtLWlucHV0LWJhY2tncm91bmQpIGluc2V0IWltcG9ydGFudDtcbn1cblxuXG5mb3JtIGlucHV0Oi1pbnRlcm5hbC1hdXRvZmlsbC1wcmV2aWV3ZWQsXG5mb3JtIGlucHV0Oi1pbnRlcm5hbC1hdXRvZmlsbC1zZWxlY3RlZCxcbmZvcm0gdGV4dGFyZWE6LWludGVybmFsLWF1dG9maWxsLXByZXZpZXdlZCxcbmZvcm0gdGV4dGFyZWE6LWludGVybmFsLWF1dG9maWxsLXNlbGVjdGVkLFxuZm9ybSBzZWxlY3Q6LWludGVybmFsLWF1dG9maWxsLXByZXZpZXdlZCxcbmZvcm0gc2VsZWN0Oi1pbnRlcm5hbC1hdXRvZmlsbC1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpIWltcG9ydGFudDtcbn1cblxuXG5AbWVkaWEgKC0tZm9yLXNtLWRvd24pIHtcbiAgICBzZWxlY3QsXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cInNlYXJjaFwiXSksXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cInNlYXJjaFwiXSksXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDFlbSAxMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgfVxufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAxZW07XG59XG5cbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJzZWFyY2hcIl0pOm5vdCguYnV0dG9uKTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzLFxuc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1jb2xvcjogaHNsKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogaHNsKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSk7XG4gICAgLypib3gtc2hhZG93OiAwIDAgNHB4IGhzbGEodmFyKC0tZm9ybS1hY3RpdmUtY29sb3IpLCAwLjcpLCAwIDAgMCAxMDAwcHggd2hpdGUgaW5zZXQhaW1wb3J0YW50OyovXG59XG5cbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJzZWFyY2hcIl0pOm5vdCguYnV0dG9uKS5qcy1lcnJvcixcbnRleHRhcmVhLmpzLWVycm9yIHtcbiAgICBvdXRsaW5lOiAwIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGhzbCh2YXIoLS1mb3JtLWVycm9yLWJvcmRlci1jb2xvcikpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwic2VhcmNoXCJdKS5qcy12YWxpZCxcbnRleHRhcmVhLmpzLXZhbGlkIHtcbiAgICBvdXRsaW5lOiAwIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGhzbCh2YXIoLS1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcikpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwic2VhcmNoXCJdKS5qcy12YWxpZDpmb2N1cyxcbnRleHRhcmVhLmpzLXZhbGlkOmZvY3VzIHtcbiAgICAgYm94LXNoYWRvdzogMCAwIDRweCBoc2xhKHZhcigtLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSwgMC43KSwgMCAwIDAgMTAwMHB4IHdoaXRlIGluc2V0IWltcG9ydGFudDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cInNlYXJjaFwiXSkuanMtZXJyb3I6Zm9jdXMsXG50ZXh0YXJlYS5qcy1lcnJvcjpmb2N1cyB7XG4gICAgb3V0bGluZTogMCAwIDRweCBoc2xhKHZhcigtLWZvcm0tYWN0aXZlLWNvbG9yKSwgMC43KSFpbXBvcnRhbnQ7XG59XG5cbmlucHV0OmRpc2FibGVkLFxudGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMzU7XG59XG5cbi8qIENoZWNrYm94ICsgUmFkaW8gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBoc2wodmFyKC0tZm9ybS1kZWZhdWx0LWNvbG9yKSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHdoaXRlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgb3V0bGluZTogMDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IGhzbCh2YXIoLS1mb3JtLWFjdGl2ZS1jb2xvcikpXG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTFweDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyp2aXNpYmlsaXR5OiBoaWRkZW47Ki9cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZDogaHNsKHZhcigtLWZvcm0tZGVmYXVsdC1jb2xvcikpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVlbTtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxcHggMCAwIDJlbTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIFtjbGFzc149XCJmaWVsZC1lcnJvclwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxlZnQ6IDI3cHg7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZm9ybS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYmFja2dyb3VuZCk7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5qcy1lcnJvciArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0uanMtZXJyb3IgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICBoc2wodmFyKC0tZm9ybS1lcnJvci1ib3JkZXItY29sb3IpKTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQuanMtdmFsaWQgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQuanMtdmFsaWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICBoc2wodmFyKC0tZm9ybS12YWxpZC1ib3JkZXItY29sb3IpKTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgY29udGVudDogXCJcXDI3MTRcIjtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1mb3JtLXJlYWRvbmx5LWNvbG9yKTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6ZGlzYWJsZWQgKyBsYWJlbDo6YWZ0ZXIsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDpkaXNhYmxlZCArIGxhYmVsOjphZnRlciB7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tcmVhZG9ubHktY29sb3IpO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMC41ZW07XG4gICAgaGVpZ2h0OiAwLjVlbTtcbiAgICB0b3A6IDAuNWVtO1xuICAgIGxlZnQ6IDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi8qIC0tLSBMYWJlbCAtLS0gKi9cblxubGFiZWw6bm90KC5pcy1zdGF0aWMpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjE1ZW07XG59XG5cbmxhYmVsLmpzLWVycm9yOm5vdCguaXMtc3RhdGljKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxubGFiZWwuYXMtcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDAuODU7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG5sYWJlbC5hcy1wbGFjZWhvbGRlci5hY3RpdmUge1xuICAgIGNvbG9yOiBoc2wodmFyKC0tZm9ybS1hY3RpdmUtY29sb3IpKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0wLjVlbSwgLTIuNWVtLCAwKSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbmxhYmVsIHNwYW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbmlucHV0OmludmFsaWQgKyBsYWJlbC5hY3RpdmUge1xuICAgIGNvbG9yOiBoc2wodmFyKC0tZm9ybS1lcnJvci1ib3JkZXItY29sb3IpKTtcbn1cblxuLmZvcm0tZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuW2NsYXNzXj1cImZpZWxkLWVycm9yXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZXJyb3ItdGV4dC1jb2xvcik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5bY2xhc3NePVwiZmllbGQtZXJyb3JcIl0gPiBwIHtcbiAgICBtYXJnaW46IDAgMCAwLjVlbSAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuW2NsYXNzXj1cImZpZWxkLWVycm9yXCJdOm5vdCguZmllbGQtZXJyb3ItaW5saW5lKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5mb3JtLW1lc3NhZ2Uge1xufVxuXG4uZm9ybS1tZXNzYWdlLWVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1lcnJvci10ZXh0LWNvbG9yKTtcbn1cblxuLmZvcm0tbWVzc2FnZS1zZW5kaW5nIHtcbn1cblxuLmZvcm0tbWVzc2FnZS1zdWNjZXNzIHtcbn1cblxuLmpvYi1mb3JtIC5mb3JtLW1lc3NhZ2Utc3VjY2VzcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5mb3JtIC5idXR0b24td3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBtZWRpYSAoLS1mb3Itc20tZG93bikge1xuICAgIGZvcm0gLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbmZvcm0gYnV0dG9uLFxuZm9ybSAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbixcbmZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLyptYXJnaW46IDAgMC41ZW07Ki9cbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZm9ybS1ib3JkZXItY29sb3IpO1xufVxuXG5mb3JtIC5jZWxsLTFvZjEsXG5mb3JtIC5jZWxsLTFvZjIsXG5mb3JtIC5sYW5ndWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwic2VhcmNoXCJdKTpub3QoLmJ1dHRvbiksXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmlucHV0LmJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG5cbmJ1dHRvbi1pbnB1dC1hcnJvdyAuc2hhZG93ICsgaW5wdXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcbn1cblxuaW5wdXQuYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uYnV0dG9uLWlucHV0LWFycm93IC5zaGFkb3cge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYWRpZW50LWhvcml6b250YWwpO1xuICAgIHRvcDogNXB4O1xuICAgIGxlZnQ6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogUGxhY2Vob2xkZXIgc3R5bGUgKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIG9wYWNpdHk6IC41O1xufVxuXG4vKiBGaXJlZm94IDQtMTggKi9cbjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIG9wYWNpdHk6IC41O1xufVxuXG4vKiBGaXJlZm94IDE5LTUwICovXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgb3BhY2l0eTogLjU7XG59XG5cbi8qIC0gSW50ZXJuZXQgRXhwbG9yZXIgMTDigJMxMVxuICAgLSBJbnRlcm5ldCBFeHBsb3JlciBNb2JpbGUgMTAtMTEgKi9cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3IhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IC41O1xufVxuXG4vKiBFZGdlIChhbHNvIHN1cHBvcnRzIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcikgKi9cbjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIG9wYWNpdHk6IC41O1xufVxuXG4vKiBDU1MgUHNldWRvLUVsZW1lbnRzIExldmVsIDQgRWRpdG9yJ3MgRHJhZnRcbiAgIC0gQnJvd3NlcnMgbm90IG1lbnRpb25lZCBpbiB2ZW5kb3IgcHJlZml4ZXNcbiAgIC0gQnJvd3NlciBvZiBuZXdlciB2ZXJzaW9ucyB0aGFuIG1lbnRpb25lZCBpbiB2ZW5kb3IgcHJlZml4ZXMgKi9cbjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgb3BhY2l0eTogLjU7XG59XG5cbi8qKiBDdXN0b20gSW5wdXQgU3R5bGUgKiovXG4uZm9ybS1pbnB1dDpub3QoLmFycm93KSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMTJweCAyM3B4O1xufVxuXG4uZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5qb2ItZm9ybSAuby1vaS1mb3JtIHtcbiAgICB3aWR0aDogMzMzcHg7XG4gICAgYm9yZGVyOiAwLjE1cmVtIHNvbGlkIHZhcigtLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyLjVyZW0gMi41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIuNXJlbTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtICgzMzNweCAvIDIpKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG59XG5cbi5qb2ItZm9ybSAuby1vaS1mb3JtOmJlZm9yZSB7XG4gICAgd2lkdGg6IDMzM3B4O1xuICAgIGhlaWdodDogMjFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xufVxuXG4uam9iLWZvcm0gLmJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1pbi13aWR0aDogMzA1cHg7XG59XG5cbi5qb2ItZm9ybSAuZm9ybS1pbnB1dDpub3QoLmFycm93KSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW1lZGl1bSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zbWFsbC1mb250LXNpemUpICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5qb2ItZm9ybSB0ZXh0YXJlYS5mb3JtLWlucHV0IHtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xufVxuXG4uam9iLWZvcm0gLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICB3aWR0aDogMzMzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5qb2ItZm9ybSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5qb2ItZm9ybS5qcy1mb3JtLW9wZW4ge1xuICAgIHotaW5kZXg6IDM7XG59XG5cbi5qb2ItZm9ybSAuam9iLWZpZWxkcyxcbi5qb2ItZm9ybSAuZmllbGQtc3VjY2VzcyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcbn1cblxuLmpvYi1mb3JtIC5qcy1oaWRlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IC0xO1xufVxuXG4uam9iLWZvcm0gLmZpZWxkLXN1Y2Nlc3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE0cHg7XG59XG5cbi5maWVsZC1lcnJvciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xufVxuXG4uam9iLWZvcm0gLmljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uam9iLWZvcm0gLm8tb2ktZm9ybSB7XG4gICAgcGFkZGluZzogMTRweDtcbn1cblxuLmpvYi1mb3JtIC5mb3JtLW1lc3NhZ2Utc3VjY2VzcyB7XG4gICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICBwYWRkaW5nOiAzOXB4IDE1cHggMzRweDtcbn1cblxuLmpvYi1mb3JtIC5mb3JtLW1lc3NhZ2Utc3VjY2VzcyBoNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5qb2ItZm9ybSAuZm9ybS1tZXNzYWdlLXN1Y2Nlc3MgaDQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5qb2ItZm9ybSBbY2xhc3MqPVwiby1mbGV4XCJdLmhhcy1ndXR0ZXI6bm90KC5uby12ZXJ0aWNhbC1tYXJnaW4pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS45cmVtO1xufVxuXG4uam9iLWZvcm0gW2NsYXNzKj1cIm8tZmxleFwiXS5oYXMtZ3V0dGVyOm5vdCgubm8tdmVydGljYWwtbWFyZ2luKSA+ICouZm9ybS1maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS45cmVtO1xufVxuXG4uam9iLWZvcm0gLmZvcm0tZmllbGQgbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbn1cblxuQG1lZGlhICgtLWZvci1tZC11cCkge1xuICAgIC5qb2ItZm9ybSAuZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG5cbiAgICAuam9iLWZvcm0gW2NsYXNzKj1cIm8tZmxleFwiXS5oYXMtZ3V0dGVyOm5vdCgubm8tdmVydGljYWwtbWFyZ2luKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW07XG4gICAgfVxuXG4gICAgLmpvYi1mb3JtIFtjbGFzcyo9XCJvLWZsZXhcIl0uaGFzLWd1dHRlcjpub3QoLm5vLXZlcnRpY2FsLW1hcmdpbikgPiAqLmZvcm0tZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmpvYi1mb3JtIC5idXR0b24uZ3JlZW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgIH1cbn0iLCIuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaW1hZ2UtY292ZXIgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiA1MzhweDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmhvcml6b250YWwtZm9ybWF0IHtcbiAgICB3aWR0aDogMzAzcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaG9yaXpvbnRhbC1mb3JtYXQudmlkZW8gLnNoYWRvdyB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMHB4KTtcbn1cblxuLmNpcmNsZS1pbWFnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2UtY29udGFpbmVyIHBpY3R1cmUge1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxudmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnNpbXBsZS12aWRlby1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi52aWRlby1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kZWZhdWx0LXRpbWluZykgZWFzZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG59XG5cbi52aWRlby1idXR0b24gaW1nIHtcbiAgICB3aWR0aDogNjVweDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgdG9wOiBjYWxjKCgxMDAlIC0gNjVweCAtIDEwcHgpIC8gMik7XG4gICAgbGVmdDogY2FsYygoMTAwJSAtIDY1cHggKSAvIDIpO1xufVxuXG4udmlkZW8tYnV0dG9uIC5idXR0b24tYmFja2dyb3VuZC1ob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWRlZmF1bHQtdGltaW5nKSBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi52aWRlby1idXR0b246aG92ZXIgLmJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuLnZpZGVvLWJ1dHRvbjpmb2N1cyAuYnV0dG9uLWJhY2tncm91bmQtaG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi52aWRlby1idXR0b24uaGlkZSB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuQG1lZGlhICgtLWZvci1tZC11cCkge1xuICAgIC5ob3Jpem9udGFsLWZvcm1hdCB7XG4gICAgICAgIHdpZHRoOiAzMzNweDtcbiAgICB9XG59XG5cbi5zaGFkb3cge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkaWVudC1mbGlwcGVkKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDExcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uaGFzLWJvcmRlciBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmltYWdlLWNvbnRhaW5lciAuc2hhZG93IHtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uc2hhZG93LmJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrKTtcbn1cblxuLnNoYWRvdy5jeWFuIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jeWFuKTtcbn1cblxuLnNoYWRvdy5ub25lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaW1hZ2UtY29udGFpbmVyIC50aWt0b2stZW1iZWQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbkBtZWRpYSAoLS1mb3ItbWQtZG93bikge1xuICAgIC52aWRlby1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgfVxuXG4gICAgLnZpZGVvLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1wYWdlLWd1dHRlci13aWR0aC1zbSkgKyB2YXIoLS1wYWdlLWd1dHRlci13aWR0aC1zbSkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xuICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLXBhZ2UtZ3V0dGVyLXdpZHRoLXNtKSAqIC0xKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbi50aWt0b2stZW1iZWQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcHgpO1xufVxuXG4uY29udGVudC12aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLnRpa3RvayAuaGlkZGVuLXZpZGVvIHtcbiAgICBoZWlnaHQ6IDU2OXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuIiwiOnJvb3Qge1xuICAgIC0tam9iLWd1dHRlcjogdmFyKC0tYmlnZ2VyLWd1dHRlcik7XG4gICAgLS1qb2ItZ3V0dGVyLW1kOiAycmVtO1xufVxuLmpvYjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JheSk7XG59XG5cbi5qb2Ige1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uam9iIC50aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiRmlsc29uIEJsYWNrXCI7XG59XG5cbi5qb2IgLnN1Yi10aXRsZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS4zODU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmpvYiAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4uam9iIC50ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1Njtcbn1cblxuLmpvYiAuam9iLWJ1dHRvbixcbi5qb2IgLm8tb2ktZm9ybSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMzM3B4O1xuICAgIG1hcmdpbjogNHJlbSBhdXRvIDA7XG59XG5cbi5qb2IgLnRleHQgKyAuam9iLWZvcm0gLmpvYi1idXR0b24sXG4uam9iIC50ZXh0ICsgLmpvYi1mb3JtIC5vLW9pLWZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDQuNnJlbTtcbn1cblxuLmpvYiAuaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5qb2ItZm9ybSAuby1vaS1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5qb2ItZm9ybSAuc3VibWl0LWJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uam9iLWZvcm0gLmZvcm0tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5qb2ItZm9ybSAuYnV0dG9uLnByaW1hcnkuYXJyb3cuZG93bjpob3Zlcixcbi5qb2ItZm9ybSAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrKTtcbn1cblxuQG1lZGlhICgtLWZvci1tZC1kb3duKSB7XG4gICAgLmpvYiB7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDUwcHggMTIwcHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJvLWZsZXhcIl0uaGFzLW5vLWd1dHRlci1tZC1kb3duLmpvYnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1wYWdlLWd1dHRlci13aWR0aC1zbSkgKiAtMSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wYWdlLWd1dHRlci13aWR0aC1zbSkgKiAtMSk7XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLXNtLWRvd24pIHtcbiAgICAuam9iIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMjBweCAxMjBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhICgtLWZvci1sZy11cCkge1xuICAgIC5qb2JzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODVweDtcbiAgICAgICAgcGFkZGluZzogMCA2NHB4O1xuICAgIH1cblxuICAgIC5qb2IsXG4gICAgLmpvYjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5qb2ItdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiA0MnB4IDYzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG5cbiAgICAuam9iLXRleHQgLnN1Yi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcbiAgICB9XG5cbiAgICAuam9iIC5zdWItdGl0bGUgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ2MjtcbiAgICB9XG5cbiAgICAuaXMtam9iLWJvdHRvbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcmVtO1xuICAgIH1cblxuICAgIC5qb2I6bm90KC5jZWxsLTFvZjEpIC5qb2ItdGV4dCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMS45cmVtO1xuICAgIH1cblxuICAgIC5qb2I6bm90KC5jZWxsLTFvZjEpIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjguNHJlbTtcbiAgICB9XG5cbiAgICBbY2xhc3MqPVwiby1mbGV4XCJdLmhhcy1iaWdnZXItZ3V0dGVyOm5vdCgubm8tdmVydGljYWwtbWFyZ2luKS5qb2JzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTguMXJlbTtcbiAgICB9XG5cbiAgICBbY2xhc3MqPVwiby1mbGV4XCJdLmhhcy1iaWdnZXItZ3V0dGVyOm5vdCgubm8tdmVydGljYWwtbWFyZ2luKSA+IC5qb2Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4LjFyZW07XG4gICAgfVxuXG4gICAgLmpvYi5jZWxsLTFvZjEgLmpvYi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWpvYi1ndXR0ZXItbWQpIC0gNXJlbSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDIlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gKDEwMCUgLSB2YXIoLS1qb2ItZ3V0dGVyLW1kKSAtIDVyZW0pIC8gMik7XG4gICAgfVxuXG4gICAgLmpvYi5jZWxsLTFvZjEgLmpvYi1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTNyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICB9XG5cbiAgICAuam9iLmNlbGwtMW9mMSAuam9iLWNvbnRlbnQgLmltYWdlLWNvbnRhaW5lcixcbiAgICAuam9iLmNlbGwtMW9mMSAuam9iLWNvbnRlbnQgLmlzLWNlbnRlcixcbiAgICAuam9iLmNlbGwtMW9mMSAuam9iLWZvcm0gPiAuYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMzNweDtcbiAgICB9XG5cbiAgICAuam9iIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cblxuICAgIC5qb2ItY29udGVudCAuaDUge1xuICAgICAgICBtYXgtd2lkdGg6IDIxMHB4O1xuICAgICAgICBtYXJnaW46IDEuMXJlbSBhdXRvIDA7XG4gICAgfVxuXG4gICAgLmpvYi5jZWxsLTFvZjEgKyAuam9iLmlzLWpvYi1ib3R0b20ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOXJlbTtcbiAgICB9XG5cbiAgICAuam9iLmNlbGwtMW9mMSArIC5qb2IuaXMtam9iLWJvdHRvbSArIC5qb2IuaXMtam9iLXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC02LjZyZW07XG4gICAgfVxuXG4gICAgLmpvYiAudGV4dCArIC5qb2ItZm9ybSAuam9iLWJ1dHRvbixcbiAgICAuam9iIC50ZXh0ICsgLmpvYi1mb3JtIC5vLW9pLWZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjNyZW07XG4gICAgfVxuXG4gICAgLmpvYi1pbnRybyBwIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuICAgIH1cblxuICAgIC5qb2IgLnRleHQgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc3ODtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuICAgIH1cblxuICAgIC5qb2IgLmpvYi1idXR0b24sXG4gICAgLmpvYiAuby1vaS1mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG5cbiAgICAuam9iLWJ1dHRvbiArIC5qb2ItYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhICgtLWZvci14bC11cCkge1xuXG4gICAgLmpvYi5jZWxsLTFvZjEgLmpvYi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWpvYi1ndXR0ZXIpIC0gNXJlbSk7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gKDEwMCUgLSB2YXIoLS1qb2ItZ3V0dGVyKSAtIDVyZW0pIC8gMik7XG4gICAgfVxuXG4gICAgLmpvYi5jZWxsLTFvZjEgLmpvYi1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEzJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICBbY2xhc3MqPVwiby1mbGV4XCJdLmhhcy1iaWdnZXItZ3V0dGVyLmpvYnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTkyMHB4O1xuICAgIH1cbn1cblxuLyogU3BlY2lhbCBDYXNlICovXG5AbWVkaWEgKG1heC13aWR0aDogMzc1cHgpIHtcbiAgICAuam9iLWZvcm0gLm8tb2ktZm9ybTo6YmVmb3JlLFxuICAgIC5qb2IgLmpvYi1idXR0b24sIC5qb2IgLm8tb2ktZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5qb2ItZm9ybSAuby1vaS1mb3JtIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuam9iLWZvcm0gLmJ1dHRvbiB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn0iLCIuaG9tZS1pbnRyby5vLXNlY3Rpb24uaGFzLXRvcC1pbm5lci1zcGFjZSAge1xuICAgIG1hcmdpbi10b3A6IDEycmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODQzcHggNjM5cHg7IC8qMTEwNXB4IDgwMXB4OyAqL1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0yMHB4IHRvcCA0cmVtO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5ob21lLXRpdGxlIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMnJlbSk7XG4gICAgbWF4LWhlaWdodDogNjEwcHg7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgICBtYXJnaW4tdG9wOiA4cmVtO1xufVxuXG4uaG9tZS10aXRsZSBoMSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDg5O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5ob21lLXRpdGxlIGgxOjphZnRlciB7XG4gICAgbWFyZ2luOiAyN3B4IGF1dG8gMDtcbn1cblxuLmhvbWUtaW50cm8tdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM4NTtcbiAgICBwYWRkaW5nLWJvdHRvbTogOC44cmVtO1xufVxuXG4uaG9tZS1pbnRyby10ZXh0IHAge1xuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgIGh5cGhlbnM6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmludHJvLWxvZ28ge1xuICAgIHdpZHRoOiAxMzNweDtcbiAgICBtYXJnaW46IDAgYXV0byAxOHB4O1xufVxuXG4vKkludHJvIEJhY2tncm91bmQgR3JhZGllbnQqL1xuLmdyYWRpZW50LWZpbHRlcjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xufVxuXG4uZ3JhZGllbnQtZmlsdGVyLmZsaXBwZWQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYWRpZW50LWZsaXBwZWQpO1xufVxuXG5AbWVkaWEgKC0tZm9yLXNtLXVwKSB7XG4gICAgLmhvbWUtaW50cm8uby1zZWN0aW9uLmhhcy10b3AtaW5uZXItc3BhY2UgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJyZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTA1OXB4IDgwNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIHRvcCA4LjNyZW07XG4gICAgfVxuXG4gICAgLmhvbWUtdGl0bGUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLW1lZGl1bS1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAuaG9tZS10aXRsZSBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgfVxuXG4gICAgLmhvbWUtdGl0bGUgaDE6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiAzMnB4IGF1dG8gMDtcbiAgICB9XG5cbiAgICAuaG9tZS1pbnRyby10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuOXJlbTtcbiAgICB9XG5cbiAgICAuaW50cm8tbG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zNXB4O1xuICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaG9tZS1pbnRyby5vLXNlY3Rpb24uaGFzLXRvcC1pbm5lci1zcGFjZSAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNDQ4cHggMTA5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA4cmVtIHRvcCAxNHJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuaG9tZS1pbnRyby5vLXNlY3Rpb24uaGFzLXRvcC1pbm5lci1zcGFjZSAge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA3LjdyZW0gdG9wIDExcmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NjdweCkgYW5kIChtYXgtd2lkdGg6IDE5MjBweCkge1xuICAgIC5ob21lLWludHJvLm8tc2VjdGlvbi5oYXMtdG9wLWlubmVyLXNwYWNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKDEwMCUgLSAoNjBweCArICg3NyAtIDYwKSAqICgxMDB2dyAtIDE0NjdweCkgLyAoMTQ2Ny0gMTUwMCkpKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAvKiA3OXB4ID0gd2hpdGUgaW1hZ2Ugc3BhY2UgKi9cbiAgICAuaG9tZS1pbnRyby5vLXNlY3Rpb24uaGFzLXRvcC1pbm5lci1zcGFjZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYyg1MCUgKyAzN3B4KTtcbiAgICB9XG5cblxuICAgIC5pbnRyby1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG59IiwiLmhvdC1uZXdzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiAyMnJlbTtcbn1cblxuLmhvdC1uZXdzIC5iYWNrZHJvcC1pbWFnZSB7XG4gICAgbGVmdDogLThyZW07XG4gICAgdG9wOiAtMzByZW07XG4gICAgd2lkdGg6IDQxMHB4O1xuICAgIGhlaWdodDogNDU0cHg7XG4gICAgei1pbmRleDogMztcbn1cblxuLmNpcmNsZS10aXRsZS5ob3QtbmV3cyBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaG90LW5ld3MtdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogLTVyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob3QtbmV3cy10ZXh0IGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNDVlbTtcbn1cblxuLmhvdC1uZXdzLXRleHQgaDQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLmhvdC1uZXdzLXRleHQgLmJ1dHRvbi1pbnB1dC1hcnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmhvdC1uZXdzLXRleHQgLmJ1dHRvbi5ncmVlbiB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmhvdC1uZXdzLXRleHQgI21jX2VtYmVkX3NpZ251cCB7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5ob3QtbmV3cy10ZXh0IC5vLW9pLWZvcm0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG4ubmV3c2xldHRlci1mb3JtIC5hcnJvdy1pbnB1dCB7XG4gICAgcGFkZGluZy1yaWdodDogNjhweCAhaW1wb3J0YW50O1xufVxuXG4vKi5uZXdzbGV0dGVyLWVycm9yLCovXG4uaG90LW5ld3MtdGV4dCAuZmllbGQtZXJyb3IgcCxcbi5ob3QtbmV3cy10ZXh0IGZpZWxkc2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMnJlbTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5ob3QtbmV3cy10ZXh0IFtjbGFzc149XCJmaWVsZC1lcnJvclwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ob3QtbmV3cyAuby1vaS1mb3JtIC5idXR0b24taW5wdXQtYXJyb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDIuOHJlbTtcbn1cblxuLnBob25lIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDhweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyNi40cHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhICgtLWZvci1tZC11cCkge1xuICAgIC5ob3QtbmV3cy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMjJyZW0gNXJlbSAwO1xuICAgIH1cblxuICAgIC5waG9uZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLWxnLXVwKSB7XG4gICAgLmhvdC1uZXdzLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAuaG90LW5ld3MgLmJhY2tkcm9wLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTQzLjdyZW07XG4gICAgICAgIHRvcDogLjJyZW07XG4gICAgICAgIHdpZHRoOiA1NzBweDtcbiAgICAgICAgaGVpZ2h0OiA2MzFweDtcbiAgICB9XG5cbiAgICAuaG90LW5ld3MuY2lyY2xlLXRpdGxlIGgyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTtcbiAgICB9XG5cbiAgICAuaG90LW5ld3MtdGV4dCBoNCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4yNWVtO1xuICAgIH1cblxuICAgIC5ob3QtbmV3cy10ZXh0ICNtY19lbWJlZF9zaWdudXAge1xuICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgfVxuXG4gICAgLmhvdC1uZXdzLXRleHQgLm8tb2ktZm9ybSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmhvdC1uZXdzLXRleHQgLmJ1dHRvbi1pbnB1dC1hcnJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuM3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIud2Utd2FudC15b3Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTQwNnB4IDEwNjhweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgNDYuNXJlbSByaWdodCA0My41JTtcbn1cblxuLndlLXdhbnQteW91LWludHJvIC5oNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbn1cblxuLndlLXdhbnQteW91LWludHJvIC5oNC1tZC1kb3duIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xufVxuXG5cbkBtZWRpYSAoLS1mb3ItbWQtdXApIHtcbiAgICAud2Utd2FudC15b3Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgNDUuNHJlbSBsZWZ0IC03cmVtO1xuICAgIH1cblxuICAgIC53ZS13YW50LXlvdSBoMSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cblxuICAgIC53ZS13YW50LXlvdSAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgIC53ZS13YW50LXlvdS1pbnRybyAuaDUge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuXG4ud2Utd2FudC15b3UtdGVhc2VyIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2FsYyg1NSUgKyA1cHgpIGJvdHRvbSBjYWxjKC02NiUgKyAxOHB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMDFweCA5MTJweDtcbn1cblxuLndlLXdhbnQteW91LXRlYXNlciAuaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4ud2Utd2FudC15b3UtdGVhc2VyIC5pbWFnZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy41cmVtO1xufVxuXG4ud2Utd2FudC15b3UtdGVhc2VyIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMnJlbTtcbn1cblxuQG1lZGlhICgtLWZvci1tZC11cCkge1xuICAgIC53ZS13YW50LXlvdS10ZWFzZXIuby1zZWN0aW9uLmhhcy1ib3R0b20taW5uZXItc3BhY2Uge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUuMXJlbTtcbiAgICB9XG5cbiAgICAud2Utd2FudC15b3UtdGVhc2VyIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgfVxuXG4gICAgLndlLXdhbnQteW91LXRlYXNlciAuaW50cm8sIC53ZS13YW50LXlvdS10ZWFzZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC53ZS13YW50LXlvdS10ZWFzZXIgLmludHJvIGg0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NTdweDtcbiAgICAgICAgbWFyZ2luOiA1LjVyZW0gYXV0byAxLjdyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC53ZS13YW50LXlvdS10ZWFzZXIgLmludHJvIHAge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG4gICAgfVxuXG4gICAgLndlLXdhbnQteW91LXRlYXNlciAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAud2Utd2FudC15b3UtdGVhc2VyIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLndlLXdhbnQteW91LXRlYXNlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLTY2cHggYm90dG9tIC00NzdweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTU4cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgLndlLXdhbnQteW91LXRlYXNlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDUuNnJlbSB0b3AgNDYycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjUzM3B4O1xuICAgIH1cbn0iLCIvKiBUaGlzIGlzIHZpdmFnZSAqL1xuXG4udGhpcy1pcy12aXZhZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2JhY2tkcm9wcy90aGlzSXNWaXZhZ2Uuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgNjQuNnJlbSBsZWZ0IDU2dnc7XG59XG5cbi50aGlzLWlzLXZpdmFnZSBwaWN0dXJlLFxuLnRoYXQtd2FudHMtdml2YWdlIHBpY3R1cmUsXG4uaG93LXZpdmFnZS13b3JrcyBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLnRoaXMtaXMtdml2YWdlIGltZyB7XG4gICAgd2lkdGg6IDQwOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgbWFyZ2luLXRvcDogODFweDtcbn1cblxuLnRoaXMtaXMtdml2YWdlIHAge1xuICAgIG1heC13aWR0aDogNTU2cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaHlwaGVuczogbm9uZTtcbn1cblxuQG1lZGlhICgtLWZvci1sZy11cCkge1xuICAgIC50aGlzLWlzLXZpdmFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2JhY2tkcm9wcy90aGlzSXNWaXZhZ2Uuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTM5N3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gLTIzLjNyZW0gbGVmdCA1MHZ3O1xuICAgIH1cblxuICAgIC50aGlzLWlzLXZpdmFnZSBpbWcge1xuICAgICAgICB3aWR0aDogNTMwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjhweDtcbiAgICB9XG5cbiAgICAudGhpcy1pcy12aXZhZ2UgLmgxIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgfVxuXG4gICAgLnRoaXMtaXMtdml2YWdlIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NjdweCkgYW5kIChtYXgtd2lkdGg6IDI1MDBweCkge1xuICAgIC50aGlzLWlzLXZpdmFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMzk3cHggKyAoMTU4NiAtIDEzOTcpICogKDEwMHZ3IC0gMTQ2N3B4KSAvICgyNTAwIC0gMTQ2NykpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2FsYygoMjMzcHggKyAoMjgxIC0gMjMzKSAqICgxMDB2dyAtIDE0NjdweCkgLyAoMjUwMCAtIDE0NjcpKSAqIC0xKSBsZWZ0IDUwdnc7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KSB7XG4gICAgLnRoaXMtaXMtdml2YWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTg2cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAtMjguMXJlbSBsZWZ0IDUwdnc7XG4gICAgfVxufVxuXG4vKiBFbmQgVGhpcyBpcyB2aXZhZ2UgKi9cblxuLyogVGhhdCB3YW50cyB2aXZhZ2UgKi9cbi50aGF0LXdhbnRzLXZpdmFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvYmFja2Ryb3BzL3RoYXRXYW50c1ZpdmFnZS5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDc1MnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAzMi43cmVtIHJpZ2h0IDU3dnc7XG59XG5cbi50aGF0LXdhbnRzLXZpdmFnZSBpbWcge1xuICAgIHdpZHRoOiA0NzRweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnRoYXQtd2FudHMtdml2YWdlIGgyIHtcbiAgICBwYWRkaW5nOiAwIDRyZW07XG59XG5cbi50aGF0LXdhbnRzLXZpdmFnZSBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGhhdC13YW50cy12aXZhZ2UgLmludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbn1cblxuLnRoYXQtd2FudHMtdml2YWdlIC5pbnRybyBwIHtcbiAgICBoeXBoZW5zOiBub25lO1xufVxuXG4jLWhvdy12aXZhZ2Utd29ya3MsXG4jLXRoYXQtd2FudHMtdml2YWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAoLS1mb3ItbGctdXApIHtcbiAgICAudGhhdC13YW50cy12aXZhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyNThweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIC0yNy4zcmVtIHJpZ2h0IDcwLjV2dztcbiAgICB9XG5cbiAgICAudGhhdC13YW50cy12aXZhZ2UgLnRleHQtY29udGFpbmVyID4gKiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgIC50aGF0LXdhbnRzLXZpdmFnZSBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0M3B4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA0NzJweDtcbiAgICB9XG5cbiAgICAudGhhdC13YW50cy12aXZhZ2UgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICB9XG5cbiAgICAudGhhdC13YW50cy12aXZhZ2UgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC50aGF0LXdhbnRzLXZpdmFnZSAuaW50cm8ge1xuICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NjdweCkgYW5kIChtYXgtd2lkdGg6IDI1MDBweCkge1xuICAgIC50aGF0LXdhbnRzLXZpdmFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjYWxjKCgyNzNweCArICgyNjEgLSAyNzMpICogKDEwMHZ3IC0gMTQ2N3B4KSAvICgyNTAwIC0gMTQ2NykpICogLTEpIHJpZ2h0IGNhbGMoMTAzM3B4ICsgKDE0ODAgLSAxMDMzKSAqICgxMDB2dyAtIDE0NjdweCkgLyAoMjUwMCAtIDE0NjcpKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyNTAwcHgpIHtcbiAgICAudGhhdC13YW50cy12aXZhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gLTI2LjFyZW0gcmlnaHQgNTkuMnZ3O1xuICAgIH1cbn1cblxuLyogRW5kIFRoYXQgd2FudHMgdml2YWdlICovXG5cbi8qIEhvdyB2aXZhZ2Ugd29ya3MgKi9cblxuLmhvdy12aXZhZ2Utd29ya3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2JhY2tkcm9wcy9ob3dWaXZhZ2VXb3Jrcy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwNzlweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgLTExLjVyZW0gbGVmdCAzOXZ3O1xufVxuXG4uaG93LXZpdmFnZS13b3JrcyBpbWcge1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1MHB4O1xufVxuXG4uaG93LXZpdmFnZS13b3JrcyAuaW50cm8ge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG5cbi5ob3ctdml2YWdlLXdvcmtzIC5pbnRybyBwIHtcbiAgICBoeXBoZW5zOiBub25lO1xuICAgIHBhZGRpbmc6IDAgM3B4O1xufVxuXG5AbWVkaWEgKC0tZm9yLW1kLXVwKSB7XG4gICAgLmhvdy12aXZhZ2Utd29ya3MgaW1nIHtcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhICgtLWZvci1sZy11cCkge1xuICAgIC5ob3ctdml2YWdlLXdvcmtzIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzA5cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAtMjAuM3JlbSBsZWZ0IDU2LjN2dztcbiAgICB9XG5cbiAgICAuaG93LXZpdmFnZS13b3JrcyAuby1jb21wb25lbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuM3JlbTtcbiAgICB9XG5cbiAgICAuaG93LXZpdmFnZS13b3JrcyBpbWcge1xuICAgICAgICB3aWR0aDogNTIycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTMuMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1OHB4O1xuICAgIH1cblxuICAgIC5ob3ctdml2YWdlLXdvcmtzIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG59XG5cbi8qIEVuZCBIb3cgdml2YWdlIHdvcmtzICAqLyIsIi50aGUtd29tYW4tYmVoaW5kLXZpdmFnZS10ZWFzZXIuaGFzLWJvdHRvbS1pbm5lci1zcGFjZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTByZW0gIWltcG9ydGFudDtcbn1cblxuLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlciAuby1jb21wb25lbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG59XG5cbi50aGUtd29tYW4tYmVoaW5kLXZpdmFnZS10ZWFzZXIgLmludHJvIHtcbiAgICBncmlkLXJvdzogMztcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbn1cblxuLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlciAuYnV0dG9uIHtcbiAgICB3aWR0aDogMjc1cHg7XG4gICAgbWFyZ2luOiA0cmVtIGF1dG8gMDtcbn1cblxuLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlciAuaW50cm8gcCB7XG4gICAgaHlwaGVuczogbm9uZTtcbn1cblxuLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlciAubWVkaWEtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyLjNyZW07XG59XG5cbi50aGUtd29tYW4tYmVoaW5kLXZpdmFnZS10ZWFzZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogNDM1cHg7XG59XG5cbkBtZWRpYSAoLS1mb3ItbWQtdXApIHtcbiAgICAudGhlLXdvbWFuLWJlaGluZC12aXZhZ2UtdGVhc2VyLmhhcy1ib3R0b20taW5uZXItc3BhY2Uge1xuICAgICAgICAvKmJhY2tncm91bmQtc2l6ZTogMTMwNHB4IDk5MXB4OyovXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxOC42cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNS42cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlciAuaW50cm8ge1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAudGhlLXdvbWFuLWJlaGluZC12aXZhZ2UtdGVhc2VyIC5tZWRpYS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjdyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjZyZW07XG4gICAgfVxuXG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlciBwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNHJlbTtcbiAgICB9XG5cbiAgICAudGhlLXdvbWFuLWJlaGluZC12aXZhZ2UtdGVhc2VyIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA3LjVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLW1kKSB7XG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlci5oYXMtYm90dG9tLWlubmVyLXNwYWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLXRlYXNlci5oYXMtYm90dG9tLWlubmVyLXNwYWNlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIyLjlyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zLjZyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cblxufVxuXG4uYmlnLXF1b3RlIHtcbiAgICBwYWRkaW5nOiAzcmVtO1xufVxuXG4uYmlnLXF1b3RlIC5oNSB7XG4gICAgcGFkZGluZy10b3A6IDMuOXJlbTtcbn1cblxuLmJpZy1xdW90ZS1hdXRob3Ige1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4uYmlnLXF1b3RlLWF1dGhvcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMy40cmVtIGF1dG8gMy4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4udGhlLXdvbWFuLWJlaGluZC12aXZhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA5cHg7XG59XG5cbi50aGUtd29tYW4tYmVoaW5kLXZpdmFnZSAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogNDM1cHg7XG59XG5cbi50aGUtd29tYW4tYmVoaW5kLXZpdmFnZSAucHJlc2VudGF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4udGhlLXdvbWFuLWJlaGluZC12aXZhZ2UgLmludHJvIHtcbiAgICBtYXJnaW4tdG9wOiA1LjZyZW07XG59XG5cbi50aGUtd29tYW4tYmVoaW5kLXZpdmFnZS1pbnRyby10ZXh0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNS40cmVtO1xufVxuXG4udGhlLXdvbWFuLWJlaGluZC12aXZhZ2Utb3V0cm8tdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDUuNnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbn1cblxuQG1lZGlhICgtLWZvci1tZC11cCkge1xuICAgIC5iaWctcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA5LjlyZW0gOS45cmVtIDkuNHJlbTtcbiAgICB9XG5cbiAgICAuYmlnLXF1b3RlIC5oNSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cblxuICAgIC5iaWctcXVvdGUtYXV0aG9yIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmJpZy1xdW90ZS1hdXRob3I6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAzLjJyZW0gYXV0byAzcmVtO1xuICAgIH1cblxuICAgIC50aGUtd29tYW4tYmVoaW5kLXZpdmFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2LjVyZW07XG4gICAgfVxuXG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlIC5wcmVzZW50YXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiA1LjJyZW0gYXV0byAxMi4xcmVtO1xuICAgIH1cblxuICAgIC50aGUtd29tYW4tYmVoaW5kLXZpdmFnZSAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlIC5pbnRybyB7XG4gICAgICAgIG1heC13aWR0aDogNzcwcHg7XG4gICAgICAgIG1hcmdpbjogNi4zcmVtIGF1dG8gMDtcbiAgICB9XG5cbiAgICAudGhlLXdvbWFuLWJlaGluZC12aXZhZ2UtaW50cm8tdGV4dCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5LjVyZW07XG4gICAgfVxuXG4gICAgLnRoZS13b21hbi1iZWhpbmQtdml2YWdlLW91dHJvLXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogOS41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjdyZW07XG4gICAgfVxufSIsIi5ibG9nLXRlYXNlcnMgLmludHJvIHtcbiAgICBoeXBoZW5zOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjFyZW07XG59XG5cbi5ibG9nLWNhdGVnb3J5LFxuLmJsb2ctaGVhZGxpbmUsXG4uYmxvZy1saXN0IC5hcnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG59XG5cbi5ibG9nLWVudHJ5IGltZyxcbi5ibG9nLWVudHJ5IC5zaGFkb3cge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmJsb2ctZW50cnkgLnNoYWRvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG59XG5cbi5ibG9nLWVudHJ5IC5yZWFkLW1vcmU6YWZ0ZXIge1xuICAgIHJpZ2h0OiAyNnB4O1xuICAgIG1hc2stc2l6ZTogMzBweCAyMHB4O1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tZGVmYXVsdC10aW1pbmcpIGVhc2U7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pY29ucy9hcnJvdy1sb25nLnN2ZycpO1xuICAgIG1hc2staW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ljb25zL2Fycm93LWxvbmcuc3ZnJyk7XG4gICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uLXg6IHJpZ2h0O1xuICAgIG1hc2stcG9zaXRpb24teDogcmlnaHQ7XG59XG5cbi5ibG9nLWVudHJ5OmhvdmVyIC5yZWFkLW1vcmU6YWZ0ZXIsXG4uYmxvZy1lbnRyeTpmb2N1cyAucmVhZC1tb3JlOmFmdGVyIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICByaWdodDogMjJweDtcbn1cblxuLmJsb2ctZW50cnkgaW1nLFxuLmJsb2ctZW50cnkgLmJsb2ctY2F0ZWdvcnksXG4uYmxvZy1lbnRyeSAuYmxvZy1oZWFkbGluZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWRlZmF1bHQtdGltaW5nKSBlYXNlO1xufVxuXG4uYmxvZy1lbnRyeTpob3ZlciBpbWcsXG4uYmxvZy1lbnRyeTpmb2N1cyBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLmJsb2ctZW50cnk6aG92ZXIgLmJsb2ctY2F0ZWdvcnksXG4uYmxvZy1lbnRyeTpob3ZlciAuYmxvZy1oZWFkbGluZSxcbi5ibG9nLWVudHJ5OmZvY3VzIC5ibG9nLWNhdGVnb3J5LFxuLmJsb2ctZW50cnk6Zm9jdXMgLmJsb2ctaGVhZGxpbmUge1xuICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XG59XG5cbi5ibG9nLWVudHJ5IC5tZWRpYS1jb250YWluZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMS4yNTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmJsb2ctdGVhc2VycyAuaW50cm8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG4gICAgfVxuXG4gICAgLmJsb2ctdGVhc2VycyBoNCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMTJlbTtcbiAgICB9XG5cbiAgICAuYmxvZy10ZWFzZXJzIC5pbnRybyBwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmJsb2ctdGVhc2VycyAuYnV0dG9uLmdyZWVuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTQ0cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDkuNXJlbTtcbiAgICB9XG5cbiAgICAuYmxvZy10ZWFzZXJzIC5ibG9nLWVudHJ5IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzVweDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgLmJsb2ctdGVhc2VycyAuYXJyb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiAyM3B4O1xuICAgIH1cblxuICAgIC5ibG9nLXRlYXNlcnMgaDIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMy42cmVtO1xuICAgIH1cbn1cblxuLmJsb2ctaW50cm8ge1xuICAgIGh5cGhlbnM6IG5vbmU7XG59XG5cbi5ibG9nLWNhdGVnb3J5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uYmxvZy1oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2ctb3ZlcnZpZXcge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmctdG9wOiA2OXB4O1xufVxuXG4uaGlkZS1ibG9nIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubG9hZGVkIC5oaWRlLWJsb2cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5ibG9nLWludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbn1cblxuLmJsb2ctc2VsZWN0IHtcbiAgICB6LWluZGV4OiA0O1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xufVxuXG4uYmxvZy1zZWxlY3Q6YWZ0ZXJ7XG4gICAgcmlnaHQ6IDE4cHg7XG59XG5cbi5ibG9nLW92ZXJ2aWV3IC5idXR0b24taW5wdXQtYXJyb3c6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9nLW92ZXJ2aWV3IC5pbWFnZS1jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbn1cblxuLmJsb2ctb3B0aW9uLWxpc3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMnB4IDIycHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDEzcHggMjNweCA2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbn1cblxuLmJsb2ctb3B0aW9uLWxpc3Q6YmVmb3JlLFxuLmJsb2ctb3B0aW9uLWxpc3Q6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ibG9nLW9wdGlvbi1saXN0OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAyNnB4O1xufVxuXG4uYmxvZy1vcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ibG9nLWVudHJ5ID4gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKC0tZm9yLW1kLXVwKSB7XG4gICAgLmJsb2ctb3B0aW9uLWxpc3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjhweCAyOHB4O1xuICAgICAgICBwYWRkaW5nOiAxN3B4IDM1cHggMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3JlbTtcbiAgICB9XG5cbiAgICAuYmxvZy1vcHRpb24tbGlzdDpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLmJsb2ctb3B0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgICB9XG59XG5cbi5ibG9nLW92ZXJ2aWV3IC5ibG9nLWxpc3Qge1xuICAgIG1pbi1oZWlnaHQ6IDYwdmg7XG59XG5cbkBtZWRpYSAoLS1mb3ItbWQpIHtcbiAgICAuYmxvZy1vdmVydmlldyAuYmxvZy1saXN0IHtcbiAgICAgICAgcGFkZGluZzogMCAzcmVtO1xuICAgIH1cbn1cblxuLyouYmxvZy1zZWxlY3QsKi9cbi8qLmJsb2ctc2VsZWN0OmhvdmVyIHBhdGggIHsqL1xuLyogICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWRlZmF1bHQtdGltaW5nKSBlYXNlOyovXG4vKn0qL1xuXG4uYmxvZy1zZWxlY3QuYnV0dG9uLmNvbG9yZWQuYXJyb3c6OmFmdGVyIHtcbiAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1kZWZhdWx0LXRpbWluZykgZWFzZTtcbn1cblxuLmJsb2ctc2VsZWN0OmhvdmVyLFxuLmJsb2ctc2VsZWN0OmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbikgIWltcG9ydGFudDtcbn1cblxuLmJsb2ctc2VsZWN0OmhvdmVyIHBhdGggLFxuLmJsb2ctc2VsZWN0OmZvY3VzIHBhdGgge1xuICAgIGZpbGw6IHZhcigtLWdyZWVuKTtcbn1cblxuLmJsb2ctc2VsZWN0LmJ1dHRvbi5jb2xvcmVkLmFycm93OmhvdmVyOjphZnRlcixcbi5ibG9nLXNlbGVjdC5idXR0b24uY29sb3JlZC5hcnJvdzpmb2N1czo6YWZ0ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XG59XG5cbi5sb2FkLW1vcmUge1xuICAgIG1hcmdpbjogLTEwcHggMCAxMHB4O1xufVxuXG4uYmxvZy1vdmVydmlldyBbY2xhc3MqPVwiby1mbGV4XCJdLmhhcy1iaWctZ3V0dGVyOm5vdCgubm8tdmVydGljYWwtbWFyZ2luKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMjByZW0gLSAyMHB4KTtcbn1cblxuLnF1b3RlLXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsICNmZmYgMCUsICNmZmYgMzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKSwgdXJsKCcuLi8uLi9hc3NldHMvYmFja2Ryb3BzL1ZpdmFnZV9HcnVwcGVfMkIyQzI5X1JHQi5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0MTJweCAxODMxcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxOSUgYm90dG9tIC0zNi42cmVtO1xufVxuXG4ucXVvdGUtc2VjdGlvbjphZnRlciB7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMCwgcmdiKDcwLCAyMDAsIDIwNSkgMCUsIHJnYmEoNzAsIDIwMCwgMjA1LCAuNykgNDIuNiUsICNhNWRjNmUgNzYuNCUsICNBNURDNkUgMTAwJSk7XG59XG5cbi5xdW90ZS1zZWN0aW9uIC5pbWFnZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDM5cHg7XG4gICAgbWF4LXdpZHRoOiA0MTBweDtcbn1cblxuLnF1b3RlLXNlY3Rpb24gLmg0IHtcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xufVxuXG4ucXVvdGUtc2VjdGlvbiAucXVvdGUtYXV0aG9yIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxuLnF1b3RlLXNlY3Rpb24gLnNoYWRvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ucXVvdGUtc2VjdGlvbiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xufVxuXG4ucXVvdGUtc2VjdGlvbiAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xufVxuXG5AbWVkaWEgKC0tZm9yLW1kLWRvd24pIHtcbiAgICAuYmxvZy1vdmVydmlldyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgIH1cblxuICAgIC5ibG9nLW92ZXJ2aWV3IC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5ibG9nLW92ZXJ2aWV3IC5ibG9nLWhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgIC5ibG9nLW92ZXJ2aWV3IGgxOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICB9XG5cbiAgICAuYmxvZy1pbnRybyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5ibG9nLXNlbGVjdCB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLmJsb2ctbGlzdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5ibG9nLWxpc3QgLmFycm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAuYmxvZy1lbnRyeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgfVxuXG4gICAgLnF1b3RlLXNlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4NDBweCAxMzk4cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMjMlIGJvdHRvbSAyLjdyZW07XG4gICAgfVxuXG4gICAgLnF1b3RlLXNlY3Rpb246YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuN3JlbSk7XG4gICAgfVxuXG4gICAgLnF1b3RlLXNlY3Rpb24gLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDY1cHg7XG4gICAgfVxuXG4gICAgLnF1b3RlLXNlY3Rpb24gLmg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmJsb2ctb3ZlcnZpZXcgW2NsYXNzKj1cIm8tZmxleFwiXS5oYXMtYmlnLWd1dHRlcjpub3QoLm5vLXZlcnRpY2FsLW1hcmdpbikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xMXJlbSArIDVweCk7XG4gICAgfVxuXG4gICAgW2NsYXNzKj1cIm8tZmxleFwiXS5ibG9nLWxpc3QuaGFzLWJpZy1ndXR0ZXI6bm90KC5uby12ZXJ0aWNhbC1tYXJnaW4pID4gKiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW1lZGl1bS1zcGFjaW5nLXNtKTtcbiAgICB9XG5cbiAgICAucXVvdGUtc2VjdGlvbiAucXVvdGUtYXV0aG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjRyZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5xdW90ZS1zZWN0aW9uIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhICgtLWZvci1zbSkge1xuICAgIC5ibG9nLW92ZXJ2aWV3IFtjbGFzcyo9XCJvLWZsZXhcIl0uaGFzLWJpZy1ndXR0ZXI6bm90KC5uby12ZXJ0aWNhbC1tYXJnaW4pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDBweCAvIC0yKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDQwcHggLyAtMik7XG4gICAgfVxuXG4gICAgW2NsYXNzKj1cIm8tZmxleFwiXS5ibG9nLWxpc3QuaGFzLWJpZy1ndXR0ZXI6bm90KC5uby12ZXJ0aWNhbC1tYXJnaW4pID4gKiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg0MHB4IC8gMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoNDBweCAvIDIpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIC5xdW90ZS1zZWN0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxOTIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyoqIEJsb2cgZW50cnkgKiovXG4uYmxvZy1lbnRyeS1pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG59XG5cbi5ibG9nLWVudHJ5LWludHJvIGgxIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xufVxuXG4uYmxvZy1lbnRyeS1pbnRybyAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmJsb2ctZW50cnktaW50cm8gLmg0IHtcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmJsb2ctZW50cnktY29udGVudCAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyOHB4O1xufVxuXG4uYmxvZy1lbnRyeS1jb250ZW50IHAge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi5ibG9nLWVudHJ5LWJhY2sgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtOHB4O1xufVxuXG5AbWVkaWEgKC0tZm9yLW1kLXVwKSB7XG4gICAgLmJsb2ctZW50cnktaW50cm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjZweDtcbiAgICB9XG5cbiAgICAuYmxvZy1lbnRyeS1pbnRybyBoMSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzOXB4O1xuICAgIH1cblxuICAgIC5ibG9nLWVudHJ5LWludHJvIC5oNCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzNweDtcbiAgICB9XG5cbiAgICAuYmxvZy1lbnRyeS1jb250ZW50IC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA4OXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3N3B4O1xuICAgIH1cblxuICAgIC5ibG9nLWVudHJ5LWJhY2sgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLnJlYWQtYWxsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOC41cmVtO1xuICAgIH1cbn0iLCIuc2VydmljZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG59XG5cbi5zZXJ2aWNlIGgxIHtcbiAgICBsZXR0ZXItc3BhY2luZzogLS43NXB4O1xufVxuXG4uc2VydmljZSBoMS5pcy1sZWZ0OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNlcnZpY2UgaDQsXG4uc2VydmljZSBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIHBhZGRpbmctdG9wOiAyLjJyZW07XG59XG5cbi5zZXJ2aWNlLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4XG59XG5cbi5zZXJ2aWNlIHAge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uc2VydmljZSBoMyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LWZhbWlseTogXCJGaWxzb24gQmxhY2tcIjtcbn1cblxuLnNlcnZpY2UgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU1ZW07XG59XG5cbkBtZWRpYSAoLS1mb3ItbWQtdXApIHtcbiAgICAuc2VydmljZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5cmVtO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlIGgxOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDkwMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlIGg0LFxuICAgIC5zZXJ2aWNlIGg1IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNHJlbTtcbiAgICB9XG5cbiAgICAuc2VydmljZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICB9XG5cbiAgICAuc2VydmljZSBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2ZW07XG4gICAgfVxufSIsIi5iYWNrZHJvcC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xufVxuXG4uY2lyY2xlLXRpdGxlIHtcbiAgICB3aWR0aDogMzI1cHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGFyayk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHBhZGRpbmc6IDcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2lyY2xlLXRpdGxlIGgyIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cblxuLmNpcmNsZS10aXRsZS5iaWctY2lyY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgd2lkdGg6IDU1MnB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyouY2lyY2xlLXRpdGxlLmJpZy1jaXJjbGU6YWZ0ZXIgeyovXG4vKiAgICBjb250ZW50OiBcIlwiOyovXG4vKiAgICBkaXNwbGF5OiBibG9jazsqL1xuLyogICAgaGVpZ2h0OiAxMDAlOyovXG4vKiAgICB3aWR0aDogMTAwJTsqL1xuLyogICAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQtZmxpcHBlZCk7Ki9cbi8qICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsqL1xuLyogICAgdG9wOiAxMHB4OyovXG4vKiAgICBsZWZ0OiAxMXB4OyovXG4vKiAgICB6LWluZGV4OiAtMTsqL1xuLyogICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyovXG4vKiAgICBvcGFjaXR5OiAuNTsqL1xuLyogICAgYm9yZGVyLXJhZGl1czogNTAlOyovXG4vKn0qL1xuXG4uY2lyY2xlLXRpdGxlLmJpZy1jaXJjbGUgaDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrKTtcbiAgICBwYWRkaW5nLXRvcDogMjJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmNpcmNsZS10aXRsZSAuYmFja2Ryb3AtaW1hZ2Uge1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi8qKiBUaGF0IHdhbnRzIHZpdmFnZSAqKi9cbiN0aGF0LXdhbnRzLXZpdmFnZSB7XG4gICAgbWFyZ2luLXRvcDogMjRyZW07XG59XG5cbiN0aGF0LXdhbnRzLXZpdmFnZSAuYmFja2Ryb3AtaW1hZ2Uge1xuICAgIHdpZHRoOiAyODJweDtcbiAgICAvKnJpZ2h0OiAtMzYuMnJlbTsqL1xuICAgIHRvcDogLTI4LjZyZW07XG59XG5cbiNob3ctdml2YWdlLXdvcmtzIHtcbiAgICBtYXJnaW4tdG9wOiAyNC41cmVtO1xufVxuXG4jaG93LXZpdmFnZS13b3JrcyAuYmFja2Ryb3AtaW1hZ2Uge1xuICAgIHdpZHRoOiAyOTlweDtcbiAgICB0b3A6IC0yOHJlbTtcbn1cblxuLm8tc2VjdGlvbjpsYXN0LWNoaWxkIC5jaXJjbGUtZWRpdG9yaWFsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xcmVtO1xufVxuXG5AbWVkaWEgKC0tZm9yLW1kLXVwKSB7XG4gICAgLmNpcmNsZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiA0MjBweDtcbiAgICB9XG5cbiAgICBzZWN0aW9uOmZpcnN0LWNoaWxkIC5jaXJjbGUtZWRpdG9yaWFsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDdyZW07XG4gICAgfVxuXG4gICAgLmNpcmNsZS10aXRsZS5iaWctY2lyY2xlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAvKiogVW5kZXJsaW5lIFRpdGxlICoqL1xuICAgIC5jaXJjbGUtdGl0bGUuYmlnLWNpcmNsZSBoMSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbiAgICAuY2lyY2xlLXRpdGxlIC5oMyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxODtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuICAgIC5jaXJjbGUtdGl0bGU6bm90KC5ob3QtbmV3cykgLmJhY2tkcm9wLWltYWdlIHtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgLmNpcmNsZS1lZGl0b3JpYWwgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgLmNpcmNsZS1lZGl0b3JpYWwgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgfVxuXG5cbiAgICAvKiogVGhhdCB3YW50cyB2aXZhZ2UgKiovXG4gICAgI3RoaXMtaXMtdml2YWdlICsgLnRleHQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIH1cblxuICAgICN0aGF0LXdhbnRzLXZpdmFnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgIH1cblxuICAgICN0aGF0LXdhbnRzLXZpdmFnZSAuYmFja2Ryb3AtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNDAzcHg7XG4gICAgICAgIHJpZ2h0OiAtMzYuMnJlbTtcbiAgICAgICAgdG9wOiAtMTUuNHJlbTtcbiAgICB9XG5cbiAgICAjdGhhdC13YW50cy12aXZhZ2UgKyAudGV4dC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgfVxuXG4gICAgI2hvdy12aXZhZ2Utd29ya3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICNob3ctdml2YWdlLXdvcmtzIC5iYWNrZHJvcC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA0NDBweDtcbiAgICAgICAgbGVmdDogLTM3LjRyZW07XG4gICAgICAgIHRvcDogLTExLjdyZW07XG4gICAgfVxuXG4gICAgI2hvdy12aXZhZ2Utd29ya3MgKyAudGV4dC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgfVxuXG4gICAgLm8tc2VjdGlvbjpsYXN0LWNoaWxkIC5jaXJjbGUtZWRpdG9yaWFsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLWxnLXVwKSB7XG4gICAgLmNpcmNsZS10aXRsZS5iaWctY2lyY2xlIGgxOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDJweDtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhICgtLWZvci1tZC1kb3duKSB7XG4gICAgLmNpcmNsZS10aXRsZS5iaWctY2lyY2xlIHtcbiAgICAgICAgd2lkdGg6IDMyN3B4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmNpcmNsZS10aXRsZSBoMjpsYXN0LWNoaWxkLCAuY2lyY2xlLXRpdGxlIGgxIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmNpcmNsZS10aXRsZSAuc2hhZG93IHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5uZXdzLWNpcmNsZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQtZmxpcHBlZCk7XG4gICAgd2lkdGg6IDQ3MHB4O1xuICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7XG59XG5cbkBtZWRpYSAoLS1mb3ItbWQtdXApIHtcbiAgICAubmV3cy1jaXJjbGUge1xuICAgICAgICBwYWRkaW5nOiAxMHJlbTtcbiAgICB9XG59XG5cbi8qKiBDb250YWN0ICoqL1xuI2NvbnRhY3QgLmludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG59XG5cbiNjb250YWN0IC5idXR0b24ge1xuICAgIG1hcmdpbjogMCAyNnB4O1xuICAgIHdpZHRoOiAzMzNweDtcbn1cblxuQG1lZGlhICgtLWZvci1tZC1kb3duKSB7XG4gICAgI2NvbnRhY3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07XG4gICAgfVxuXG4gICAgI2NvbnRhY3QgLmludHJvIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oNS1mb250LXNpemUtc20pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NTY7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuOHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgfVxuXG4gICAgI2NvbnRhY3QgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0byA0MnB4O1xuICAgICAgICB3aWR0aDogMjc1cHg7XG4gICAgfVxuXG4gICAgI2NvbnRhY3QgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8qKiBFbmQgQ29udGFjdCAqKi9cblxuLyoqIFNvY2lhbCBUZWFzZXIgKiovXG4uc29jaWFsLXRlYXNlci1pbWFnZSB7XG4gICAgbWFyZ2luOiAtNXB4IGF1dG8gMjdweCAxNXB4O1xuICAgIGhlaWdodDogMzc1cHg7XG59XG5cbi5zb2NpYWwtdGVhc2VyIC5pbnRybyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnNvY2lhbC10ZWFzZXIgLmljb24tbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAzM3B4O1xufVxuXG4uc29jaWFsLXRlYXNlciAuc29jaWFsLW1lZGlhIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zb2NpYWwtdGVhc2VyIC5zb2NpYWwtbWVkaWEudGlrLXRvayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbn1cblxuLnNvY2lhbC10ZWFzZXIgYSB7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIHRvcDogLTVweDtcbn1cblxuXG4uc29jaWFsLXRlYXNlciAuc3ZnLWhvdmVyIHtcbiAgICBoZWlnaHQ6IDU1cHg7XG59XG5cbi5zb2NpYWwtdGVhc2VyIC5zdmctZGVmYXVsdCB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGhlaWdodDogNTJweDtcbn1cblxuLnNvY2lhbC10ZWFzZXItaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjg0cHg7XG4gICAgbWFyZ2luOiAuOXJlbSBhdXRvIDMuNnJlbSA3cmVtO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnNvY2lhbC10ZWFzZXIgLmljb24tbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLThweDtcbiAgICBtYXJnaW4tdG9wOiA0MnB4O1xufVxuXG4uc29jaWFsLXRlYXNlciAuc29jaWFsLW1lZGlhIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zb2NpYWwtdGVhc2VyIC5zb2NpYWwtbWVkaWEudGlrLXRvayB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi8qKiBFbmQgU29jaWFsIFRlYXNlciAqKi9cblxuLyoqIEJyYW5kIENvbXBvbmVudCAqKi9cbi5icmFuZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvYmFja2Ryb3BzL2JyYW5kLWJhY2tncm91bmQuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2NzRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMCBsZWZ0IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDMuMnJlbSAhaW1wb3J0YW50O1xufVxuXG4uYnJhbmQtaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDQ3OXB4O1xufVxuXG4uYnJhbmQtdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG59XG5cbi5icmFuZC1kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA0NzVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBsaW5lLWhlaWdodDogMS41NTY7XG59XG5cbi5icmFuZC1kZXNjcmlwdGlvbiBoNCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJsYWNrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnJhbmQtbGluayB7XG4gICAgbWFyZ2luLXRvcDogNDRweDtcbn1cblxuQG1lZGlhICgtLWZvci1zbS1kb3duKSB7XG4gICAgLmJyYW5kLWltYWdlIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjc0cHgpIHtcbiAgICAuYnJhbmQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMCBsZWZ0IDExNSU7XG4gICAgfVxufSIsIi5tdC1leHRyYS1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZXh0cmEtc21hbGwtc3BhY2luZy1zbSk7XG59XG5cbi5tdC1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc21hbGwtc3BhY2luZy1zbSk7XG59XG5cbi5tdC1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1lZGl1bS1zcGFjaW5nLXNtKTtcbn1cblxuLm10LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1sYXJnZS1zcGFjaW5nKTtcbn1cblxuLm10LWJpZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tYmlnLXNwYWNpbmctc20pO1xufVxuXG4ubWItZXh0cmEtc21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWV4dHJhLXNtYWxsLXNwYWNpbmctc20pO1xufVxuXG4ubWItc21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNtYWxsLXNwYWNpbmctc20pO1xufVxuXG4ubWItbWVkaXVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tZWRpdW0tc3BhY2luZy1zbSk7XG59XG5cbi5tYi1sYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbGFyZ2Utc3BhY2luZyk7XG59XG5cbi5tYi1iaWcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJpZy1zcGFjaW5nLXNtKTtcbn1cblxuQG1lZGlhICgtLWZvci1tZC11cCkge1xuICAgIC5tdC1leHRyYS1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWV4dHJhLXNtYWxsLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC5tdC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNtYWxsLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC5tdC1tZWRpdW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1tZWRpdW0tc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLm10LWxhcmdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tbGFyZ2Utc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLm10LWJpZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWJpZy1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAubWItZXh0cmEtc21hbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1leHRyYS1zbWFsbC1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAubWItc21hbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zbWFsbC1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAubWItbWVkaXVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWVkaXVtLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC5tYi1sYXJnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWxhcmdlLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC5tYi1iaWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1iaWctc3BhY2luZyk7XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLW1kLWRvd24pIHtcbiAgICAubXQtZXh0cmEtc21hbGwtbWQtZG93biB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWV4dHJhLXNtYWxsLXNwYWNpbmctc20pO1xuICAgIH1cblxuICAgIC5tdC1zbWFsbC1tZC1kb3duIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc21hbGwtc3BhY2luZy1zbSk7XG4gICAgfVxuXG4gICAgLm10LW1lZGl1bS1tZC1kb3duIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tbWVkaXVtLXNwYWNpbmctc20pO1xuICAgIH1cblxuICAgIC5tdC1sYXJnZS1tZC1kb3duIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tbGFyZ2Utc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLm10LWJpZy1tZC1kb3duIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tYmlnLXNwYWNpbmctc20pO1xuICAgIH1cblxuICAgIC5tYi1leHRyYS1zbWFsbC1tZC1kb3duIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZXh0cmEtc21hbGwtc3BhY2luZy1zbSk7XG4gICAgfVxuXG4gICAgLm1iLXNtYWxsLW1kLWRvd24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zbWFsbC1zcGFjaW5nLXNtKTtcbiAgICB9XG5cbiAgICAubWItbWVkaXVtLW1kLWRvd24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tZWRpdW0tc3BhY2luZy1zbSk7XG4gICAgfVxuXG4gICAgLm1iLWxhcmdlLW1kLWRvd24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1sYXJnZS1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAubWItYmlnLW1kLWRvd24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1iaWctc3BhY2luZy1zbSk7XG4gICAgfVxuXG4gICAgLm10LW5vbmUtbWQtZG93biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLm1iLW5vbmUtbWQtZG93biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4ucHQtZXh0cmEtc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1leHRyYS1zbWFsbC1zcGFjaW5nLXNtKTtcbn1cblxuLnB0LXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc21hbGwtc3BhY2luZy1zbSk7XG59XG5cbi5wdC1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1tZWRpdW0tc3BhY2luZy1zbSk7XG59XG5cbi5wdC1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWxhcmdlLXNwYWNpbmcpO1xufVxuXG4ucHQtYmlnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tYmlnLXNwYWNpbmctc20pO1xufVxuXG4ucGItZXh0cmEtc21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1leHRyYS1zbWFsbC1zcGFjaW5nLXNtKTtcbn1cblxuLnBiLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc21hbGwtc3BhY2luZy1zbSk7XG59XG5cbi5wYi1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1tZWRpdW0tc3BhY2luZy1zbSk7XG59XG5cbi5wYi1iaWcge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1iaWctc3BhY2luZy1zbSk7XG59XG5cbkBtZWRpYSAoLS1mb3ItbWQtZG93bikge1xuICAgIC5wdC1leHRyYS1zbWFsbC1tZC1kb3duIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWV4dHJhLXNtYWxsLXNwYWNpbmctc20pO1xuICAgIH1cblxuICAgIC5wdC1zbWFsbC1tZC1kb3duIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNtYWxsLXNwYWNpbmctc20pO1xuICAgIH1cblxuICAgIC5wdC1tZWRpdW0tbWQtZG93biB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1tZWRpdW0tc3BhY2luZy1zbSk7XG4gICAgfVxuXG4gICAgLnB0LWxhcmdlLW1kLWRvd24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tbGFyZ2Utc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLnB0LWJpZy1tZC1kb3duIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWJpZy1zcGFjaW5nLXNtKTtcbiAgICB9XG5cbiAgICAucGItZXh0cmEtc21hbGwtbWQtZG93biB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1leHRyYS1zbWFsbC1zcGFjaW5nLXNtKTtcbiAgICB9XG5cbiAgICAucGItc21hbGwtbWQtZG93biB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zbWFsbC1zcGFjaW5nLXNtKTtcbiAgICB9XG5cbiAgICAucGItbWVkaXVtLW1kLWRvd24ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tbWVkaXVtLXNwYWNpbmctc20pO1xuICAgIH1cblxuICAgIC5wYi1iaWctbWQtZG93biB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1iaWctc3BhY2luZy1zbSk7XG4gICAgfVxufVxuXG4vKiBQYWdlLUd1dHRlciA9IDM1cHg7ICovXG4uZXh0cmEtc2lkZS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5leHRyYS1zaWRlLXBhZGRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cblxuLmV4dHJhLXNtYWxsLXNpZGUtcGFkZGluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xufVxuXG4uZXh0cmEtYmlnLXNpZGUtcGFkZGluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG59XG5cbkBtZWRpYSAoLS1mb3ItbWQtdXApIHtcbiAgICAucHQtZXh0cmEtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tZXh0cmEtc21hbGwtc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLnB0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNtYWxsLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC5wdC1tZWRpdW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tbWVkaXVtLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC5wdC1iaWcge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tYmlnLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC5wYi1leHRyYS1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1leHRyYS1zbWFsbC1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAucGItc21hbGwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc21hbGwtc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLnBiLW1lZGl1bSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1tZWRpdW0tc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLnBiLWJpZyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1iaWctc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLmV4dHJhLXNpZGUtcGFkZGluZywgLmV4dHJhLWJpZy1zaWRlLXBhZGRpbmcsIC5leHRyYS1zbWFsbC1zaWRlLXBhZGRpbmcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4jcGFnZUNvbnRlbnQgdWwsXG4jcGFnZUNvbnRlbnQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufSIsIi5zbGlkZS1lbnRlci1hY3RpdmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLnNsaWRlLWxlYXZlLWFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XG59XG5cbi5zbGlkZS1lbnRlci10bywgLnNsaWRlLWxlYXZlIHtcbiAgICBtYXgtaGVpZ2h0OiA3MzhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2xpZGUtZW50ZXIsIC5zbGlkZS1sZWF2ZS10byB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAwO1xufVxuXG4ud2lsbC1hcHBlYXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWFwcGVhci1zcGVlZCkgZWFzZSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYXBwZWFyLXNwZWVkKSBlYXNlO1xufVxuXG4ud2lsbC1hcHBlYXIuYXBwZWFyLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO1xufVxuXG4ud2lsbC1hcHBlYXIuYXBwZWFyLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xufVxuXG4ud2lsbC1hcHBlYXIuYXBwZWFyLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcbn1cblxuLmRpZC1hcHBlYXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5kaWQtYXBwZWFyLmFwcGVhci1sZWZ0LFxuLmRpZC1hcHBlYXIuYXBwZWFyLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5kaWQtYXBwZWFyLmFwcGVhci1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuXG4uYmxvZy1zbGlkZS1lbnRlciB7XG4gICBvcGFjaXR5OiAwO1xufVxuXG4uYmxvZy1zbGlkZS1lbnRlci1hY3RpdmUge1xuICAgIGFuaW1hdGlvbjogYmxvZy1zbGlkZS1pbiB2YXIoLS10cmFuc2l0aW9uLWFwcGVhci1zcGVlZCkgZWFzZS1pbiBmb3J3YXJkcztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYXBwZWFyLXNwZWVkKTtcbn1cblxuQGtleWZyYW1lcyBibG9nLXNsaWRlLWluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qKiBTVkcgSG92ZXIgQW5pbWF0aW9uICoqL1xuLnN2Zy1kZWZhdWx0LFxuLnN2Zy1ob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWRlZmF1bHQtdGltaW5nKSBlYXNlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLmhhcy1zdmctaG92ZXI6bm90KDpob3ZlcikgLnN2Zy1ob3Zlcixcbi5idXR0b24taGFzLXN2Zy1ob3Zlcjpub3QoOmhvdmVyKSAuc3ZnLWhvdmVyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uaGFzLXN2Zy1ob3ZlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLmVycm9yLTQwNCBoMSB7XG4gICAgZm9udC1zaXplOiA0MDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xufVxuXG4uZXJyb3ItNDA0IGgxOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZXJyb3ItNDA0IGEge1xuICAgIG1hcmdpbi10b3A6IDMuNXJlbTtcbn1cblxuQG1lZGlhICgtLWZvci1tZC1kb3duKSB7XG4gICAgLmVycm9yLTQwNCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgfVxufSIsIi5zaG9wLXByb2R1Y3Quby1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxMC43cmVtO1xufVxuXG5bY2xhc3MqPVwiby1mbGV4XCJdLmhhcy1tZWRpdW0tZ3V0dGVyOm5vdCgubm8tdmVydGljYWwtbWFyZ2luKSA+IC5wcm9kdWN0LWJhY2stbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWRlZmF1bHQtdGltaW5nKSBlYXNlO1xufVxuXG5cbkBtZWRpYSAoLS1mb3ItbWQtdXApIHtcbiAgICAucHJvZHVjdC1iYWNrLWxpbms6aG92ZXIsXG4gICAgLnByb2R1Y3QtYmFjay1saW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWN5YW4pXG4gICAgfVxufVxuXG4ucHJvZHVjdC1iYWNrLWxpbmsgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuN3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG59XG5cbi5wcm9kdWN0LWludHJvIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIwcHggKyAoNjAgLSAyMCkgKiAoMTAwdncgLSA3NjhweCkgLyAoMTQ0MCAtIDc2OCkpO1xufVxuXG4ucHJvZHVjdC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0LXRpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDEuMjI3O1xufVxuXG4ucHJvZHVjdC1pbnRybyBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3Qtc2l6ZSB7XG4gICAgbWFyZ2luOiA0cmVtIDAgLjlyZW07XG59XG5cbi5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWNsYWltIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xufVxuXG4ucHJvZHVjdC1wcmljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNhbGUtcHJpY2Uge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4ucHJvZHVjdC1pbmZvLWJsb2NrIHtcbiAgICBmb250LXNpemU6IHZhcigtLWJ1dHRvbi1mb250LXNpemUpO1xufVxuXG4ucHJvZHVjdC1hdmFpbGFiaWxpdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG59XG5cbi5wcm9kdWN0LXRvLWNhcmQge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG59XG5cbkBtZWRpYSAoLS1mb3Itc20tZG93bikge1xuICAgIC5wcm9kdWN0LWludHJvIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbnRybyBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aXRsZSBzcGFuIHtcbiAgICAgICAgaHlwaGVuczogbWFudWFsO1xuICAgIH1cblxufVxuXG5AbWVkaWEgKC0tZm9yLXhsLXVwKSB7XG4gICAgLnByb2R1Y3QtaW50cm8ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtYm9keSB7XG4gICAgbWFyZ2luLXRvcDogOHJlbTtcbiAgICBwYWRkaW5nOiAwIDJyZW0gM3JlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmxhY2spO1xufVxuXG4ucHJvZHVjdC1pbmZvLWJsb2NrIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xufVxuXG4ucHJvZHVjdC1pbmZvLWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IC43cmVtO1xufVxuXG4ucHJvZHVjdC1pbmZvLWljb24gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDU2cHg7XG59XG5cbi5wcm9kdWN0LWRlc2NyaXB0aW9uLWljb24gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4ucHJvZHVjdC11c2FnZSB7XG4gICAgcGFkZGluZzogNi41cmVtIDYuNXJlbSAzLjVyZW07XG59XG5cbi5wcm9kdWN0LXVzYWdlIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC11c2FnZS10ZXh0IC5oMSBzcGFuIHtcbiAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnByb2R1Y3QtdXNhZ2UtdGV4dCA+ICoge1xuICAgIG1heC13aWR0aDogNjYwcHg7XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuLnByb2R1Y3QtdXNhZ2UtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAyLjJyZW07XG59XG5cbi5wcm9kdWN0LWRlc2NyaXB0aW9uLWJsb2NrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC43cmVtO1xufVxuXG4ucHJvZHVjdC1kZXNjcmlwdGlvbi1ibG9jazpmaXJzdC1jaGlsZHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ibGFjayk7XG59XG5cbi5wcm9kdWN0LWRlc2NyaXB0aW9uLWJsb2NrOmxhc3QtY2hpbGR7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ibGFjayk7XG59XG5cbi5wcm9kdWN0LWRlc2NyaXB0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG59XG5cbi5wcm9kdWN0LWRlc2NyaXB0aW9uLWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnByb2R1Y3QtZGVzY3JpcHRpb24tdGl0bGUgKyAucHJvZHVjdC1kZXNjcmlwdGlvbi10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA5cmVtO1xufVxuXG4ucHJvZHVjdC1kZXNjcmlwdGlvbi10ZXh0IHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyOTtcbn1cblxuQG1lZGlhICgtLWZvci1tZC1kb3duKSB7XG4gICAgLnByb2R1Y3QtdXNhZ2UtdGV4dCA+ICoge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXVzYWdlIHtcbiAgICAgICAgcGFkZGluZzogNi41cmVtIDMuMXJlbSA2cmVtO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXVzYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuNnJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAoLS1mb3Itc20tZG93bikge1xuICAgIC5wcm9kdWN0LXNob3djYXNlLXRleHQgPiAqIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uLWJsb2NrOmZpcnN0LWNoaWxkLFxuICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uLWJsb2NrOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxufVxuXG5cbi8qIFRlYXNlciAqL1xuLnByb2R1Y3QtdGVhc2VycyBoMiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5wcm9kdWN0LXRlYXNlcnMgLmludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogMS45cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0uNHJlbTtcbn1cblxuLnByb2R1Y3QtaGVybyBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucHJvZHVjdC10ZWFzZXItaW50cm8ucHJvZHVjdC1saXN0IC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogLTMyLjhyZW07XG59XG5cbi5wcm9kdWN0LXRlYXNlci1pbnRybyBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4wOGVtO1xufVxuXG4ucHJvZHVjdC10ZWFzZXIgLnByb2R1Y3QtaW1hZ2Uge1xuICAgIGhlaWdodDogNDAuOTN2dztcbiAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kIC5wcm9kdWN0LXRlYXNlciAucHJvZHVjdC1pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5wcm9kdWN0LXRlYXNlciAucHJvZHVjdC1pbWFnZSBpbWcgIHtcbiAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kIC5wcm9kdWN0LXRlYXNlciAucHJvZHVjdC1pbWFnZSBpbWcgIHtcbiAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbn1cblxuW2NsYXNzKj1cIm8tZmxleFwiXS5wcm9kdWN0LXRlYXNlci5oYXMtZ3V0dGVyLmhhcy1iaWctdmVydGljYWwtbWFyZ2luOm5vdCgubm8tdmVydGljYWwtbWFyZ2luKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg4cmVtICogLTEuNSk7XG59XG5cbltjbGFzcyo9XCJvLWZsZXhcIl0ucHJvZHVjdC10ZWFzZXIuaGFzLW1lZGl1bS1ndXR0ZXIuaGFzLWJpZy12ZXJ0aWNhbC1tYXJnaW46bm90KC5uby12ZXJ0aWNhbC1tYXJnaW4pID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg4cmVtICogMS41KTtcbn1cblxuLnByb2R1Y3QtdGV4dCA+ICoge1xuICAgIG1heC13aWR0aDogNTEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbn1cblxuLmlzLXJldmVyc2UgLnByb2R1Y3QtdGV4dCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDQ3MnB4O1xufVxuXG4ucHJvZHVjdC10ZXh0IGg1IHtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg1ZW07XG4gICAgcGFkZGluZy10b3A6IDAuM2VtO1xufVxuXG4uaGFzLWJhY2tncm91bmQgLnByb2R1Y3QtdGV4dCA+ICoge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1LjEydnc7XG59XG5cbi50ZWFzZXItY29udGVudCAuaDQge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjhyZW07XG59XG5cbi5mYXEtdGV4dCBoMSxcbi5mYXEtdGV4dCBoMixcbi5mYXEtdGV4dCBoMyxcbi5mYXEtdGV4dCBoNCxcbi5mYXEtdGV4dCBoNSxcbi5mYXEtdGV4dCBoNiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZhcS10ZXh0IGgxOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKC0tZm9yLW1kLXVwKSB7XG4gICAgW2NsYXNzKj1cIm8tZmxleFwiXS5zaG93Y2FzZS1wcm9kdWN0Lmhhcy1ndXR0ZXI6bm90KC5uby12ZXJ0aWNhbC1tYXJnaW4pID4gKiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLW1kLWRvd24pIHtcbiAgICAucHJvZHVjdC10ZWFzZXIgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgW2NsYXNzKj1cIm8tZmxleFwiXS5wcm9kdWN0LXRlYXNlci5oYXMtbWVkaXVtLWd1dHRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWxheW91dC1ndXR0ZXItd2lkdGgpIC8gLTIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tbGF5b3V0LWd1dHRlci13aWR0aCkgLyAtMik7XG4gICAgfVxuXG4gICAgLmlzLXJldmVyc2UgLnByb2R1Y3QtdGV4dCA+ICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5oYXMtYmFja2dyb3VuZCAucHJvZHVjdC10ZXh0ID4gKixcbiAgICAuaGFzLWJhY2tncm91bmQgLnByb2R1Y3QtdGV4dCA+IHAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnRlYXNlci1jb250ZW50IC5oNCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXRlYXNlciAucHJvZHVjdC1pbWFnZSBpbWcgIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGVhc2VyIC5wcm9kdWN0LXRleHQgLmgyLW1kLWRvd24ge1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhICgtLWZvci1zbS1kb3duKSB7XG4gICAgLnByb2R1Y3QtdGV4dCA+ICosXG4gICAgLnByb2R1Y3QtdGV4dCBwIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG4uLXNob3AgLnF1b3RlLXNlY3Rpb24gLmltYWdlLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufSIsIi5wcm9kdWN0cyB7XG4gICAgcGFkZGluZy10b3A6IDcuM3JlbTtcbn1cblxuLnByb2R1Y3RzLWludHJvIHtcbiAgICBtYXJnaW4tdG9wOiA0LjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi5wcm9kdWN0cyBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xZW07XG59XG5cbi5wcm9kdWN0LWxpc3QgLm8tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcm9kdWN0LW92ZXJ2aWV3IHtcbiAgICBtYXgtd2lkdGg6IDgxMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAzNjNweDtcbn1cblxuLnByb2R1Y3Qtb3ZlcnZpZXcgYTpob3Zlcixcbi5wcm9kdWN0LW92ZXJ2aWV3IGE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnByb2R1Y3Qtb3ZlcnZpZXcgLnByb2R1Y3QtdGl0bGUge1xuICAgIG1heC13aWR0aDogMjczcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBsaW5lLWhlaWdodDogMS4yMjc7XG59XG5cbi5wcm9kdWN0LW92ZXJ2aWV3IC5wcm9kdWN0LXRpdGxlICsgLnByb2R1Y3QtY2xhaW0ge1xuICAgIG1hcmdpbi10b3A6IDIuNnJlbTtcbn1cblxuLnByb2R1Y3Qtb3ZlcnZpZXcgLnByb2R1Y3QtcHJpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnByb2R1Y3Qtb3ZlcnZpZXcgLnByb2R1Y3Qtc2FsZSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG59XG5cbi5hZGQtcHJvZHVjdCAuYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDI3NXB4O1xuICAgIG1heC13aWR0aDogMjc1cHg7XG4gICAgbWFyZ2luOiAzcmVtIGF1dG87XG59XG5cbi5wcm9kdWN0LW92ZXJ2aWV3IC5wcm9kdWN0LWNsYWltLFxuLnByb2R1Y3Qtc2hvd2Nhc2UtdGV4dCAucHJvZHVjdC1jbGFpbSB7XG4gICAgY29sb3I6IHZhcigtLWN5YW4pO1xuICAgIG1hcmdpbi1ib3R0b206IC0zcHg7XG59XG5cbi5wcm9kdWN0LW92ZXJ2aWV3IC5wcm9kdWN0LXNhbGUsXG4ucHJvZHVjdC1zaG93Y2FzZS10ZXh0IC5wcm9kdWN0LXNhbGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucHJvZHVjdC1vdmVydmlldyAucHJvZHVjdC1zdGF0dXMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTRweDtcbn1cblxuXG4ucHJvZHVjdC1vdmVydmlldyAucHJvZHVjdC1ub3QtaW4tc3RvY2sge1xuICAgIGNvbG9yOiB2YXIoLS1yZWQpO1xufVxuXG4ucHJvZHVjdC1vdmVydmlldyAucHJvZHVjdC1ub3QtYXZhaWxhYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xufVxuXG4uc2hvd2Nhc2UtdGl0bGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnByb2R1Y3QtZGlzY291bnQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnV0dG9uLWZvbnQtc2l6ZSk7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXJlbTtcbiAgICByaWdodDogLTEuOHJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4pO1xufVxuXG4ucHJvZHVjdC1saXN0IC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTguOHJlbTtcbiAgICByaWdodDogMDtcbn1cblxuQG1lZGlhICgtLWZvci1tZC1kb3duKSB7XG4gICAgLnByb2R1Y3Qtb3ZlcnZpZXcgLnByb2R1Y3QtdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRpc2NvdW50IHtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLXNtLWRvd24pIHtcbiAgICAucHJvZHVjdC1vdmVydmlldyAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogMTYycHg7XG4gICAgfVxufSIsIi5wcm9kdWN0LXNob3djYXNlLXRleHQgPiAqLFxuLnByb2R1Y3Qtc2hvd2Nhc2UtdGV4dCBwIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG5cbi5vdmVydmlldy1zaG93Y2FzZSAucHJvZHVjdC1zaG93Y2FzZS10ZXh0ID4gKixcbi5vdmVydmlldy1zaG93Y2FzZSAucHJvZHVjdC1zaG93Y2FzZS10ZXh0IHAge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLm92ZXJ2aWV3LXNob3djYXNlIC5pcy1yZXZlcnNlIC5wcm9kdWN0LXNob3djYXNlLXRleHQgPiAqLFxuLm92ZXJ2aWV3LXNob3djYXNlIC5pcy1yZXZlcnNlIC5wcm9kdWN0LXNob3djYXNlLXRleHQgcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG5zZWN0aW9uOm5vdCgub3ZlcnZpZXctc2hvd2Nhc2UpIC5wcm9kdWN0LXNob3djYXNlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3cmVtO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi5wcm9kdWN0LXNob3djYXNlLXRleHQgLmgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjJyZW07XG59XG5cbi5wcm9kdWN0LXNob3djYXNlLXRleHQgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLm92ZXJ2aWV3LXNob3djYXNlIC5wcm9kdWN0LXNob3djYXNlLXRleHQgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5wcm9kdWN0LXNob3djYXNlLXRleHQgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1Njtcbn1cblxuLnByb2R1Y3Qtc2hvd2Nhc2UtdGV4dCAucHJvZHVjdC1jbGFpbSB7XG4gICAgcGFkZGluZy10b3A6IDEuMXJlbTtcbn1cblxuLnByb2R1Y3Qtc2hvd2Nhc2UtdGV4dCAucHJvZHVjdC1wcmljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNweDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG4ucHJvZHVjdC1zaG93Y2FzZS10ZXh0IC5wcm9kdWN0LXNhbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbn1cblxuLnByb2R1Y3Qtc2hvd2Nhc2UtaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDY3MHB4O1xufVxuXG4ucHJvZHVjdC1pbWFnZS1pbi10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDMzM3B4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtaW4tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucHJvZHVjdC1pbWFnZSAucHJvZHVjdC1kaXNjb3VudCB7XG4gICAgdG9wOiAxOHB4O1xuICAgIGxlZnQ6IDQycHg7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tZGFyayk7XG59XG5cbi5pcy1yZXZlcnNlIC5wcm9kdWN0LXNob3djYXNlLWltYWdlIC5wcm9kdWN0LWRpc2NvdW50IHtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIHJpZ2h0OiA0MnB4O1xufVxuXG4udGVhc2VyLXNob3djYXNlIC5oMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnRlYXNlci1zaG93Y2FzZSAucHJvZHVjdC1zaG93Y2FzZS10ZXh0ID4gaDU6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGVhc2VyLXNob3djYXNlIC5wcm9kdWN0LXNob3djYXNlLXRleHQgcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1heC13aWR0aDogNDM0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhICgtLWZvci1zbS1kb3duKSB7XG4gICAgLnByb2R1Y3Qtc2hvd2Nhc2UtdGV4dCAuaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1LjJyZW07XG4gICAgfVxuXG4gICAgLm92ZXJ2aWV3LXNob3djYXNlIC5wcm9kdWN0LXNob3djYXNlLXRleHQgPiAqLFxuICAgIC5vdmVydmlldy1zaG93Y2FzZSAucHJvZHVjdC1zaG93Y2FzZS10ZXh0IHAge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjlweCkge1xuICAgIC5wcm9kdWN0LXNob3djYXNlIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnByb2R1Y3QtaW1hZ2UtaW4tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi5pcy1taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5pcy1ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi5jYXJ0IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbn1cblxuLmNhcnQgLmg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cblxuLmNhcnQtZGl2aWRlciB7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY2hlY2tvdXQgaW5wdXQsXG4uY2hlY2tvdXQgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG5cbi5jaGVja291dCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlLFxuLmNoZWNrb3V0IGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA0OHB4O1xufVxuXG4uY2hlY2tvdXQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXG4uY2hlY2tvdXQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgICB0b3A6IDEycHg7XG4gICAgbGVmdDogMTJweDtcbn1cblxuLmNoZWNrb3V0IGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuLmNoZWNrb3V0IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbn1cblxuLmNoZWNrb3V0IGxhYmVsIHNwYW4ge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2hlY2tvdXQgLnNob3AtZmllbGQsXG4uY2hlY2tvdXQgYnV0dG9uOm5vdCguc21hbGwtd2lkdGgpLFxuLmNoZWNrb3V0IGEuYnV0dG9uOm5vdCguc21hbGwtd2lkdGgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uY2hlY2tvdXQgLmg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xufVxuXG5AbWVkaWEgKC0tZm9yLXNtLWRvd24pIHtcbiAgICAuY2hlY2tvdXQgI2JpbGxpbmdBZGRyZXNzU2FtZUFzU2hpcHBpbmcgKyBsYWJlbCBzcGFuIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlcztcbiAgICB9XG59XG5cbi8qKiBDb3Vwb24gKiovXG5cbi5jb3Vwb24ge1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg0MywgNDQsIDQxLCAwLjIpO1xufVxuXG4uY291cG9uLXRleHQge1xuICAgIHBhZGRpbmc6IDE1cHggMCAwO1xufVxuXG4uY291cG9uLW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG5cblxuLyogTmF2ICovXG4ubmF2LWNoZWNrb3V0IHtcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuXG4jcGFnZUNvbnRlbnQgLm5hdi1jaGVja291dCB1bCB7XG4gICAgcGFkZGluZzogMzVweCA2MHB4O1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB2YXIoLS1ibGFjayk7XG4gICAgY291bnRlci1yZXNldDogY2hlY2tvdXQtY291bnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWNoZWNrb3V0IGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogY2hlY2tvdXQtY291bnRlcjtcbn1cblxuLm5hdi1jaGVja291dCAuaXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIoY2hlY2tvdXQtY291bnRlcik7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiA0OHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJsYWNrKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNjJweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDI0cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdi1jaGVja291dCAuYWN0aXZlIC5pdGVtOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XG59XG5cbkBtZWRpYSAoLS1mb3Itc20tZG93bikge1xuICAgICNwYWdlQ29udGVudCAubmF2LWNoZWNrb3V0IHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICNwYWdlQ29udGVudCAubmF2LWNoZWNrb3V0IGxpOm5vdCguYWN0aXZlKSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjcGFnZUNvbnRlbnQgLm5hdi1jaGVja291dCBsaSBzcGFuIHtcbiAgICAgICAgaHlwaGVuczogbWFudWFsO1xuICAgIH1cblxuICAgICNwYWdlQ29udGVudCAubmF2LWNoZWNrb3V0IGxpIHtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIG1pbi13aWR0aDogNjhweDtcbiAgICB9XG59XG5cbi5uYXYtY2hlY2tvdXQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ub3JkZXItc3VtbWFyeSAuby1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIi5jdXN0b21lci1uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRvcDogNzBweDtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uanMtY3VzdG9tZXItb3Blbi5jdXN0b21lci1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uLWJsb2cgLmN1c3RvbWVyLW5hdiB7XG4gICAgY29sb3I6IHZhcigtLWRhcmspO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cblxuLmN1c3RvbWVyLW5hdjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICByaWdodDogNTlweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDA7XG59XG5cbi5jdXN0b21lci1uYXYgYSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZTtcbn1cblxuLmN1c3RvbWVyLW5hdiBhOmhvdmVyLFxuLmN1c3RvbWVyLW5hdiBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY3lhbik7XG59XG5cblxuXG4uY3VzdG9tZXItZGVsZXRlIHtcbiAgICBjb2xvcjogdmFyKC0tcmVkKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5jdXN0b21lci1kZWxldGU6aG92ZXIsXG4uY3VzdG9tZXItZGVsZXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY3lhbik7XG59XG5cbi5hZGRyZXNzIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5hZGRyZXNzLWJsb2NrIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5hZGRyZXNzLWNvbnRyb2xzIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi5mbGFzaC1tZXNzYWdlcyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsYXNoLW1lc3NhZ2VzID4gKiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBjYWxjKHZhcigtLXBhZ2UtZ3V0dGVyLXdpZHRoKSAvIDQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmZsYXNoLW1lc3NhZ2VzIC5ub3RpY2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbik7XG59XG5cbi5mbGFzaC1tZXNzYWdlcyAuc3VjY2VzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuKTtcbn1cblxuLmZsYXNoLW1lc3NhZ2VzIC5lcnJvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZCk7XG59XG4iLCI6cm9vdCB7XG5cdC0tcm93LXBhZGRpbmctdmVydGljYWw6IDI1cHg7XG5cdC0tcm93LXRvdGFsLXBhZGRpbmctdG9wOiA5OHB4O1xuXHQtLWlucHV0LXdpZHRoOiA1MHB4O1xuXHQtLWlucHV0LXBhZGRpbmctaG9yaXpvbnRhbDogMjBweDtcblx0LS1pbnB1dC1ib3JkZXI6IDA7XG5cdC0tYm9yZGVyOiAxcHggc29saWQgcmdiYSg0MywgNDQsIDQxLCAwLjIpO1xufVxuXG4udGFibGUgdGgge1xuXHRwYWRkaW5nOiAwIDAgdmFyKC0tcm93LXBhZGRpbmctdmVydGljYWwpIDA7XG59XG5cbi50YWJsZSB0ZCB7XG5cdHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nLXZlcnRpY2FsKSAwO1xufVxuXG4udGFibGUgdGJvZHkgdHIge1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXIpO1xufVxuXG4udGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQge1xuXHRib3JkZXItdG9wOiB2YXIoLS1ib3JkZXIpO1xufVxuXG5cbi8qLS0gT3JkZXIgdGFibGUgKi9cbi50YWJsZS1vcmRlcnMgdGgge1xufVxuXG4udGFibGUtb3JkZXJzIHRkIHtcblx0cGFkZGluZzogMjVweCAwO1xufVxuXG4udGFibGUtb3JkZXJzIHRyIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNDMsIDQ0LCA0MSwgMC4yKTtcbn1cblxuLnRhYmxlLW9yZGVycyB0ZDpsYXN0LWNoaWxkIHtcblx0d2lkdGg6IDExMHB4O1xufVxuXG4vKiAtLSBDYXJ0IHRhYmxlIC0tICovXG4udGFibGUtY2FydCB0Ym9keSB0cixcbi50YWJsZS1jYXJ0IHRmb290IHRyOm50aC1sYXN0LWNoaWxkKDIpIHtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyKTtcbn1cblxuLnRhYmxlLWNhcnQgdGJvZHkgdGQge1xuXHRwYWRkaW5nOiB2YXIoLS1yb3ctcGFkZGluZy12ZXJ0aWNhbCkgMDtcbn1cblxuLnRhYmxlLWNhcnQgdGZvb3QgdGQge1xuXHRwYWRkaW5nOiAwIDAgdmFyKC0tcm93LXBhZGRpbmctdmVydGljYWwpO1xufVxuXG4udGFibGUtY2FydCB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0ZCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1yb3ctcGFkZGluZy12ZXJ0aWNhbCk7XG59XG5cbi50YWJsZS1jYXJ0IC50b3RhbCB0ZCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1yb3ctdG90YWwtcGFkZGluZy10b3ApO1xufVxuXG4udGFibGUtY2FydCAucmVtb3ZlLWl0ZW0gbGFiZWwge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udGFibGUtY2FydCAucXVhbnRpdHkgPiBkaXYge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbn1cblxuLnRhYmxlLWNhcnQgLnF1YW50aXR5IHNwYW4ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YWJsZS1jYXJ0IGlucHV0LnF0eTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwic2VhcmNoXCJdKTpub3QoLmJ1dHRvbikge1xuXHRib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlcik7XG5cdHBhZGRpbmc6IDAgdmFyKC0taW5wdXQtcGFkZGluZy1ob3Jpem9udGFsKTtcblx0d2lkdGg6IHZhcigtLWlucHV0LXdpZHRoKTtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi50YWJsZS1jYXJ0IC5xdHkgaW5wdXQ6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhKC0tZm9yLXNtLWRvd24pIHtcblx0LnRhYmxlIHRkIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQvKi0tIE9yZGVyIHRhYmxlICovXG5cblx0LnRhYmxlLW9yZGVycyB0aGVhZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1vcmRlcnMgdHIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHQudGFibGUtb3JkZXJzIHRkIHtcblx0XHR3aWR0aDogNTAlO1xuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0fVxuXG5cdC50YWJsZS1vcmRlcnMgdGQ6bnRoLWNoaWxkKDEpLFxuXHQudGFibGUtb3JkZXJzIHRkOm50aC1jaGlsZCgyKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHQudGFibGUtb3JkZXJzIHRkOm50aC1jaGlsZCgyKSxcblx0LnRhYmxlLW9yZGVycyB0ZDpudGgtY2hpbGQoNSkge1xuXHRcdHdpZHRoOiA1MCU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXHQudGFibGUtb3JkZXJzIHRkOm50aC1jaGlsZCgzKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1vcmRlcnMgdGQ6bnRoLWNoaWxkKDQpIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0LyogLS0gQ2FydCB0YWJsZSAtLSAqL1xuXHQudGFibGUtY2FydDpub3QoLmVkaXRhYmxlKSB0Ym9keSB0ZDpudGgtY2hpbGQoMSksXG5cdC50YWJsZS1jYXJ0IHRib2R5IHRkOm50aC1jaGlsZCgyKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1jYXJ0IHRib2R5IHRkOm50aC1jaGlsZCgxKSB7XG5cdFx0d2lkdGg6IDQwcHg7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxuXG5cdC50YWJsZS1jYXJ0IHRib2R5IHRkOm50aC1jaGlsZCgyKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC50YWJsZS1jYXJ0IHRib2R5IHRkOm50aC1jaGlsZCgzKSB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cblx0LnRhYmxlLWNhcnQgdGJvZHkgdGQ6bnRoLWNoaWxkKDQpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblxuXHQudGFibGUtY2FydCB0Zm9vdCB0ZCB7XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxuXG5cdC50YWJsZS1jYXJ0IHRmb290IHRkOm50aC1jaGlsZCgxKSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdC50YWJsZS1jYXJ0IHRmb290IHRkOm50aC1jaGlsZCgyKSB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiJdLCJzb3VyY2VSb290IjoiIn0=*/