body {
    background-color: rgb(255, 255, 255);
    max-width: 100%;
    overflow-x: hidden;
}

html, body, header, footer, section, nav, aside, article, a, figcaption, td, div, p, ul, ol, li, dl, dt, dd, select, input, textarea, label, button, hr {
    color: rgb(119, 119, 119);
    font: 400 16px/28px 'Josefin Sans', Helvetica, Arial, Tahoma, sans-serif;
    margin: 0;
    padding: 0;
    list-style: none;
    text-rendering: optimizelegibility;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
    color: rgb(128, 128, 128);
    font-family: 'Josefin Sans', Helvetica, Arial, Tahoma, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}


strong, b {
    font-weight: 600;
}

header {
    background-color: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid rgba(92, 101, 110, 0.22);
    height: 80px;
    position: fixed;
    width: 100%;
    z-index: 1001;
    top: 0;
}

header div {
    max-width: 1360px;
    margin: 0 auto;
    overflow: hidden;
    padding: 0 20px;
}


header div > a {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    width: 200px;
    height: 70px;
    float: left;
    overflow: hidden;
    margin-top: 5px;
    padding: 0;
    text-indent: -1000px;
}

@media screen and (max-width: 1220px) {
    header div > a {
        position: fixed;
        z-index: 1000;
        width: 122px;
        height: 41px;
    }
}

header nav {
    position: relative;
}

header nav ul {
    float: right;
}

header nav ul li {
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

header nav ul:last-child li,
header nav ul:nth-child(3) li {
    position: relative;
    display: inline-block;
    line-height: 18px;
    margin-right: 20px;
    border-top: 3px solid transparent;
}

header nav ul li a {
    color: rgb(128, 128, 128);
    text-decoration: none;
}

header nav ul:last-child li a,
header nav ul:nth-child(3) li a {
    display: block;
    padding: 16px 0;
    margin-top: 7px;
}

@media screen and (max-width: 1024px) {
    header nav.sticky ul:last-child {
        display: none;
    }

    header nav.active ul:last-child {
        display: block;
    }

    header nav ul:last-child {
        background-color: rgba(255, 255, 255, 0.95);
        width: 100%;
        position: fixed;
        margin-top: 81px;
    }

    header nav ul:last-child li a,
    header nav ul:nth-child(3) li a {
        padding: 5px 0;
    }

    header nav ul:last-child li {
        border-top: none;
        height: 30px;
        display: block;
        padding: 10px 10px;
    }

    header nav ul:last-child li:hover {
        border-top: none;
    }
}

header nav ul:last-child li:hover,
header nav ul:last-child li.selected,
header nav ul:nth-child(3) li:hover,
header nav ul:nth-child(3) li.selected {
    border-top-color: rgb(128, 128, 128);
}

@media screen and (max-width: 1024px) {
    header nav ul:last-child li.selected a,
    header nav ul:nth-child(3) li.selected a {
        color: rgb(127, 182, 28);
    }
}


header nav ul.currency li.s a:before,
header nav ul.language li.s a:before {
    font-family: "Material Design Icons";
    content: "\f0140" !important;
    position: absolute;
    margin-top: 15px;
    margin-left: 1px;
}

header nav ul.currency li.s a:before {
    margin-left: 6px;
}

header nav ul.currency,
header nav ul.language {
    margin-top: 10px;
    border: 2px solid rgba(0, 0, 0, 0.3);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    z-index: 10;
}

header nav ul.language {
    margin-right: 20px;
}

header nav ul.currency:hover,
header nav ul.language:hover {
    border-color: rgb(0, 0, 0);
}

header nav ul.currency.active,
header nav ul.language.active {
    border-color: rgb(0, 0, 0);
    background-color: rgb(255, 255, 255);
    background-position: center 200px;
}

header nav ul.currency.active li a,
header nav ul.language.active li a {
    color: rgb(0, 0, 0);
}

header nav ul.currency.active li a:hover,
header nav ul.language.active li a:hover,
header nav ul.currency.active li.s a,
header nav ul.language.active li.s a {
    color: rgb(0, 0, 0);
}

header nav ul.currency.active li:hover,
header nav ul.language.active li:hover {
    background-color: rgba(128, 128, 128, 0.15);
}

header nav ul.currency li,
header nav ul.language li {
    width: 44px;
    height: 44px;
    display: none;
    font-size: 12px;
    line-height: 36px;
    text-align: center;
}

header nav ul.currency li.s,
header nav ul.currency.active li,
header nav ul.currency li.s a,
header nav ul.currency.active li a,
header nav ul.language li.s,
header nav ul.language.active li,
header nav ul.language li.s a,
header nav ul.language.active li a {
    width: 44px;
    height: 44px;
    display: block;
}

/*
 * Language menu: the language code when closed, the native names when open.
 * The header hides its overflow, so the open list stays in the flow: it grows to the left
 * with a negative margin (44px closed - 220px open) and the menu next to it does not move.
 */
header nav ul.language {
    position: relative;
}

header nav ul.language li .name,
header nav ul.language.active li .code,
header nav ul.language.active li.s a:before {
    display: none;
}

header nav ul.language.active {
    z-index: 1001;
    width: 220px;
    margin-left: -176px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

header nav ul.language.active li,
header nav ul.language.active li a {
    width: auto;
    height: auto;
    line-height: 32px;
    text-align: left;
}

header nav ul.language.active li.s {
    background-color: rgba(128, 128, 128, 0.15);
}

header nav ul.language.active li .name {
    display: block;
    padding: 0 12px;
    font-size: 14px;
    text-transform: none;
    white-space: nowrap;
}

header nav button {
    position: relative;
    display: none;
    float: right;
    min-width: 50px;
    min-height: 50px;
    margin: 10px 20px 0 0;
    border: 2px solid rgba(0, 0, 0, .3);
    text-indent: -1000px;
    overflow: hidden;
    cursor: pointer;
    background: transparent;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

header nav button span,
header nav button span:before,
header nav button span:after {
    position: absolute;
    content: "";
    display: block;
    height: 3px;
    width: 28px;
    left: 50%;
    margin-left: -14px;
    background: rgba(0, 0, 0, .5);
}

header nav button span {
    top: 21px;
}

header nav button span:before {
    bottom: 8px;
}

header nav button span:after {
    top: 8px;
}

@media screen and (max-width: 1024px) {
    header nav button {
        display: block;
        border-color: rgba(255, 255, 255, .3);
    }

    header nav.active button {
        margin-right: 70px;
    }

    header nav button span,
    header nav button span:before,
    header nav button span:after {
        background: rgb(255, 255, 255);
    }

    header nav.sticky button {
        border-color: rgba(0, 0, 0, .3);
    }

    header nav.sticky button span,
    header nav.sticky button span:before,
    header nav.sticky button span:after {
        background: rgba(0, 0, 0, .5);
    }
}

header nav.sticky button {
    margin-right: 20px;
}

header nav.full-nav button {
    display: block;
}

header nav button:hover {
    border-color: rgb(0, 0, 0);
}

header nav button:focus {
    border-color: rgb(0, 0, 0);
    background-position: -31px -67px;
}

header nav button.active {
    border-color: rgb(0, 0, 0);
}

header nav button.active span {
    background: rgba(0, 0, 0, 0);
}

header nav button.active span:before {
    -webkit-transform: rotate(45deg) translate(5px, 6px);
    -moz-transform: rotate(45deg) translate(5px, 6px);
    -ms-transform: rotate(45deg) translate(5px, 6px);
    -o-transform: rotate(45deg) translate(5px, 6px);
    transform: rotate(45deg) translate(5px, 6px);
    background: rgb(0, 0, 0);
}

header nav button.active span:after {
    -webkit-transform: rotate(-45deg) translate(5px, -6px);
    -moz-transform: rotate(-45deg) translate(5px, -6px);
    -ms-transform: rotate(-45deg) translate(5px, -6px);
    -o-transform: rotate(-45deg) translate(5px, -6px);
    transform: rotate(-45deg) translate(5px, -6px);
    background: rgb(0, 0, 0);
}

footer {
    clear: both;
    text-align: center;
    font-size: 14px;
    line-height: 18px;
}

footer a {
    color: rgb(119, 119, 119);
}

section.picture-full {
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-position: center center;
    height: 500px;
    margin-bottom: 40px;
    position: relative;
    width: 100%;
    z-index: -1;
}

section.picture-full h1 {
    color: rgb(255, 255, 255);
    display: block;
    font-size: 40px;
    line-height: 60px;
    margin: 0 auto;
    text-align: center;
    padding: 0 10%;
    position: absolute;
    text-shadow: 0 0 12px rgb(0, 0, 0);
    top: 50%;
    transform: translateY(-50%);
    width: 80%;
}

section.picture-full span.hook {
    background-color: rgb(204, 0, 0);
    color: rgb(255, 255, 255);
    display: block;
    font-size: 20px;
    right: 0;
    margin-top: 100px;
    text-align: right;
    padding: 10px 20px;
    position: absolute;
    text-transform: uppercase;
    width: auto;
}

section.pictures {
    margin: 0 auto;
    max-width: 1050px;
    width: 100%;
}

section.pictures a.mdi-printer,
section.pictures a.mdi-web {
    color: rgb(119, 119, 119);
    cursor: pointer;
    float: right;
    font-size: 0px;
    margin-left: 12px;
    margin-top: 12px;
}

section.pictures a.mdi-printer::before,
section.pictures a.mdi-web::before {
    font-size: 44px !important;
}

section.pictures a:not(.mdi), a[href="#panorama"] > div {
    cursor: pointer;
    display: block;
    text-decoration: none;
    float: left;
    height: 272px;
    margin-bottom: 10px;
    margin-left: 0.166666%;
    margin-right: 0.166666%;
    overflow: hidden;
    width: 33%;
}

@media screen and (max-width: 1024px) {
    section.pictures a {
        clear: both !important;
        float: none !important;
        height: auto !important;
        width: 100% !important;
    }
}

section.pictures a div {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    display: block;
    height: 250px;
    overflow: hidden;
    width: 100%;
}

div.likeit {
    width: 100%;
    margin-top: -20px;
    text-align: right;
}

div.likeit svg {
    width: 250px;
}

div.likeit svg .star {
    fill: rgb(200, 200, 200);
    cursor: pointer;
}

article {
    clear: both;
    margin: 0 auto 30px auto;
    max-width: 1050px;
    padding-top: 10px;
    width: 100%;
}


@media screen and (max-width: 1024px) {
    article {
        width: auto;
        padding-left: 10px;
        padding-right: 10px;
    }
}

article h2 {
    padding-top: 5px;
    margin-top: 0;
}

article p {
    font-size: 20px;
    line-height: 30px;
    text-align: justify;
}

.mdi:before {
    font-size: 1.3rem !important;
}

article ul.icons {
    float: right;
}

article ul.icons li {
    display: inline-block;
    font-size: 1.3rem;
    margin-left: 0.5rem;
}

section.owner ul.icons {
    margin-bottom: 10px;
}

section.owner ul.icons li {
    display: inline-block;
    font-size: 14px;
    margin-right: 10px;
}

section.media,
section.documents,
section.external {
    clear: both;
    margin: 0 auto;
    max-width: 1050px;
    width: 100%;
}

section.media {
    text-align: center;
}

section.media iframe,
section.media video {
    margin-bottom: 20px;
}

/* Apply width only if it's not already set */
section.media iframe:not([width]),
section.media video:not([width]) {
    width: 100%;
}

/* Apply height only if it's not already set */
section.media iframe:not([height]),
section.media video:not([height]) {
    min-height: 500px;
}

section.media .panoramaList li {
    display: inline-block;
}

section.lots,
section.map {
    clear: both;
    margin: 0 auto 40px auto;
    max-width: 1050px;
    width: 100%;
}

section.lots table {
    width: 100%;
}

section.map #map {
    height: 500px;
    width: 100%;
}

section.legal {
    clear: both;
    margin: 0 auto 30px auto;
    max-width: 1050px;
    width: 100%;
}

section.legal .legalGraphical li {
    display: inline-block;
}

section.contact {
    margin: 0 auto 30px auto;
    max-width: 1050px;
    width: 100%;
}

@media screen and (max-width: 1024px) {
    section.details,
    section.map,
    section.legal,
    section.contact,
    section.documents,
    section.content,
    section.external {
        width: auto;
        padding-left: 10px;
        padding-right: 10px;
    }
}

section.contact ul {
    font-size: 0;
}

section.contact ul li {
    display: inline-block;
    font-size: 12px;
    vertical-align: top;
    width: 50%;
}

section.contact ul li:last-child {
    text-align: right;
}

@media screen and (min-width: 641px) {
    section.contact ul li:last-child p {
        margin-right: 220px;
    }
}

section.contact ul li:first-child img {
    float: left;
    margin-bottom: 40px;
    margin-right: 20px;
    max-height: 100px;
    max-width: 120px;
}

section.contact ul li:last-child img {
    float: right;
    margin-bottom: 40px;
    margin-left: 20px;
    max-height: 150px;
    max-width: 200px;
}

@media screen and (max-width: 1024px) {
    section.contact ul li {
        display: block;
        width: 100%;
        margin-bottom: 20px;
    }
}

section.content {
    margin: 100px auto 0 auto;
    max-width: 1050px;
}

section.details {
    clear: both;
    margin: 0 auto 40px auto;
    max-width: 1050px;
    width: 100%;
}

section.details div.areas {
    float: left;
    width: 48%;
}

section.details div.areas table {
    width: 100%;
}

section.details div.areas table tr {
    text-align: left;
}

section.details div.more {
    float: right;
    width: 48%;
}

@media screen and (max-width: 1024px) {
    section.details div.areas,
    section.details div.more {
        float: none;
        width: auto;
    }
}

section.contact {
    margin: 30px auto 0 auto;
}

section.content h1 {
    font-size: 30px;
    margin-bottom: 20px;
}

section.content h2 {
    color: rgb(180, 180, 180);
}

section.content table,
section.lots table {
    width: 100%;
    margin-bottom: 30px;
    border-spacing: 0;
    border-collapse: collapse;
}

section.content table th,
section.lots table th {
    background-color: rgb(230, 230, 230);
    text-align: left;
    padding: 5px 0;
}

section.content table tbody tr,
section.lots table tbody tr {
    cursor: pointer;
}

section.content table tbody tr:hover,
section.lots table tbody tr:hover {
    background-color: rgb(245, 245, 245);
}

section.content table td,
section.lots table td {
    border-bottom: 1px solid rgb(230, 230, 230);
    padding: 5px 0;
}

/*
@media screen and (max-width: 1000px) {
    section.content table td:not(.main),
    section.content table th:not(.main) {
        display: none;
    }
}
*/

section.content table svg {
    width: 100px;
}

section.content table svg .star {
    fill: rgb(240, 240, 240);
}

section.lots table td div.lot_status {
    display: block;
    padding: 5px 10px;
    margin-right: 20px;
    text-align: center;
    color: rgb(255, 255, 255);
}

section.lots table td div.active {
    background-color: rgb(146, 182, 0); 
}
section.lots table td div.inactive {
    background-color: rgb(173, 0, 43);
}
section.lots table td div.reserved {
    background-color: rgb(255, 165, 0);
}

section.content a {
    color: rgb(119, 119, 119);
}

section.social ul {
    font-size: 0;
}

section.social ul li {
    display: inline-block;
    font-size: 18px;
    margin-right: 20px;
    vertical-align: top;
    width: auto;
}

section.social ul li a {
    text-decoration: none;
}

section.fridaa {
    max-width: 1200px;
    height: auto;
}

section.fridaa iframe {
    width: 100%;
    height: 410px;
}

@media screen and (max-width: 840px) {
    section.fridaa iframe {
        height: 630px;
    }
}

ul.toolbar {
    margin-top: 80px;
    margin-bottom: 50px;
}

ul.toolbar li {
    cursor: pointer;
    display: inline-block;
    text-align: center;
    margin-bottom: 50px;
    width: 230px;
}

ul.toolbar li a {
    display: block;
    text-decoration: none;
    font-size: 20px;
    padding-top: 10px;
    width: 230px;
}

ul.toolbar li:before {
    font-size: 100px !important;
}

#contactForm {
    margin-bottom: 50px;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    section.contact {
        width: auto;
        padding-left: 10px;
        padding-right: 10px;
    }
}

section.calendar {
    margin: 0 auto 40px auto;
    max-width: 1050px;
    width: 100%;
}

@media screen and (max-width: 1024px) {
    section.calendar {
        width: auto;
        padding-left: 10px;
        padding-right: 10px;
    }
}

#contactForm textarea {
    background-color: rgb(250, 250, 250);
    border: 2px solid rgb(200, 200, 200);
    height: 200px;
    margin: 0 auto;
    width: 100%;
}

#preferenceForm input[type="submit"],
#contactForm input[type="submit"] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-color: rgb(200, 200, 200);
    border: none;
    color: rgb(255, 255, 255);
    margin: 0 auto;
    padding: 4px 20px;
}

section.owner .picture {
    clear: both;
    float: left;
    margin-bottom: 20px;
    margin-right: 20px;
}

section.owner .activity {
    clear: both;
}

section.owner > a {
    clear: both;
    display: block;
}

section.owner > h2 {
    font-size: 20px;
    margin-top: 0;
}

section.owner > h2 > a {
    text-decoration: none;
}

section.owner > hr {
    border: 0;
    border-top: 1px solid rgb(230, 230, 230);
    clear: both;
    display: block;
    height: 0;
    margin-bottom: 20px;
}

#ownerSearch {
    margin-bottom: 40px;
    padding: 0 0 10px 0;
    border-bottom: 1px dotted #CCCCCC;
}

#datepicker {
    width: 250px;
}

#ownerSearch input[type="submit"] {
    border: none;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: rgb(146, 182, 0);
    color: rgb(255, 255, 255);
    padding: 0 10px;
}

span.access {
    color: rgb(133, 135, 135);
    clear: both;
    display: block;
    margin-bottom: 10px;
    margin-left: 10px;
}

span.access a {
    background-color: transparent;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    color: rgb(146, 182, 0);
    display: inline-block;
    font-size: 14px;
    margin-right: 5px;
    padding: 8px 10px;
    text-decoration: none;
    text-transform: uppercase;
}

span.access a em {
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    margin-left: 5px;
}

span.access a.selected {
    background-color: rgb(146, 182, 0);
    color: rgb(255, 255, 255);
    font-size: 14px;
}

/* Calendar */
#calendarSeasonal #months {
    margin: 10px -1%;
}

#calendarSeasonal table {
    padding: 7px;
    width: 100%;
}

#calendarSeasonal table th,
#calendarSeasonal table td {
    font-size: 12px;
    height: 20px;
    text-align: center;
    vertical-align: top;
}

#calendarSeasonal #months {
    clear: both;
}

#calendarSeasonal .month {
    background-color: #e8eff1;
    float: left;
    height: 230px;
    margin: 1%;
    overflow: hidden;
    width: 31%;
}

@media screen and (max-width: 1024px) {
    #calendarSeasonal .month {
        width: 47%;
    }
}

#calendarSeasonal .month table {
    height: 184px;
}

#calendarSeasonal .month table td > a {
    color: #000000;
    display: block;
    text-decoration: none;
    padding-top: 0;
    height: 24px;
}

#calendarSeasonal .month table td > a:hover {
    background-color: #AAAAAA;
    color: white;
    height: 24px;
}

#calendarSeasonal .month span {
    display: block;
    text-align: center;
    padding-top: 5px;
    width: 100%;
    font-size: 16px;
}

#calendarSeasonal span.days,
#calendarSeasonal span.day {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

#calendarSeasonal span.days.free,
#calendarSeasonal td.day.free {
    background-color: #64ffc6;
}

#calendarSeasonal span.days,
#calendarSeasonal span.days {
    margin-left: 10px;
}

#calendarSeasonal span.days.booked-start-free,
#calendarSeasonal td.day.booked-start-free {
    background: linear-gradient(90deg, #64ffc6 50%, transparent 50%);
}

#calendarSeasonal span.days.booked-end-free,
#calendarSeasonal td.day.booked-end-free {
    background: linear-gradient(90deg, transparent 50%, #64ffc6 50%);
}

#calendarSeasonal span.days.option-start-free,
#calendarSeasonal td.day.option-start-free {
    background: linear-gradient(90deg, #64ffc6 50%, #7fe5ff 50%);
}

#calendarSeasonal span.days.option-end-free,
#calendarSeasonal td.day.option-end-free {
    background: linear-gradient(90deg, #7fe5ff 50%, #64ffc6 50%);
}

.actions {
    margin-top: 20px;
}

.actions li {
    display: inline-block;
}

.actions li a {
    border: 1px solid rgb(180, 180, 180);
    color: rgb(180, 180, 180);
    display: block;
    padding: 8px 14px;
    text-decoration: none;
}

.actions li.subscribe a {
    border: 1px solid rgb(146, 182, 0);
    color: rgb(146, 182, 0);
}

.actions li.unsubscribe a {
    border: 1px solid red;
    color: red;
}

.actions li a:hover {
    background-color: rgb(180, 180, 180);
    color: rgb(255, 255, 255);
}

.actions li.subscribe a:hover {
    background-color: rgb(146, 182, 0);
    color: rgb(255, 255, 255);
}

.actions li.unsubscribe a:hover {
    background-color: red;
    color: rgb(255, 255, 255);
}

.listing a {
    color: rgb(180, 180, 180);
}

.listing span.hook {
    background-color: rgb(204, 0, 0);
    color: rgb(255, 255, 255);
    display: block;
    font-size: 10px;
    margin-top: 5px;
    margin-left: 5px;
    text-align: left;
    line-height: 10px;
    padding: 2px 4px;
    position: absolute;
    text-transform: uppercase;
    width: auto;
}

.pictureHover {
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    box-shadow: 0 0 5px #333333;
    display: none;
    margin-top: -100px;
    margin-left: 120px;
    position: absolute;
    z-index: 120;
}

.pictureHover img {
    max-width: 600px;
}

#panorama_viewer {
    width: 100%;
    height: 400px;
    margin-bottom: 20px;
}

/* Calendar */
.ui-datepicker-trigger {
    background: none;
    border: none;
    padding: 0;
}

.ui-datepicker-trigger::before {
    content: '\F0ED';
    color: rgb(115, 115, 115);
    font-family: 'Material Design Icons', sans-serif;
    font-size: 22px;
}

/* Form */
ul.form > li {
    display: block;
}

ul.form > li > ul > li,
ul.form > li > div > ul > li {
    display: inline-block;
    min-width: 350px;
    padding: 4px 0;
    vertical-align: top;
}

ul.form > li > ul > li > label:first-child {
    display: block;
    padding-top: 3px;
}

ul.form > li > ul > li:first-child,
ul.form > li > ul > li:nth-child(3) {
    width: 150px;
    min-width: auto;
}

ul.form > li > ul > li:nth-child(4) {
    min-width: 0;
}

input[type=submit]:not([disabled]) {
    cursor: pointer;
}

form > .error {
    color: red;
    font-size: 1.5rem;
    margin: 1rem;
}

form > .success {
    color: green;
    font-size: 1.5rem;
    margin: 1rem;
}

.fancybox__caption {
    color: whitesmoke;
}

.fancybox__container button {
    background : #FFFFFF;
    color : #000000;
    margin : 5px;
}

/* Pagination */
.pager {
    text-align: center;
    padding-bottom: 50px;
}

.pager ul {
    display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pager li {
    display: inline-block;
    margin: 0 5px;
}

.pager li a {
    display: inline-block;
    padding: 5px 10px;
    border: 1px solid #ccc;
    text-decoration: none;
    color: #000;
}

.pager li.current a {
    background: #ccc;
}

.pager li a:hover {
    background: #ccc;
}

section.subscription div.status {
    display: block;
    float:right;
    width: 160px;
    line-height: 24px;
    padding: 12px 10px;
    text-align: center;
    color: rgb(255, 255, 255);
    
}

section.subscription div.status.active {
    background-color: rgb(146, 182, 0);
}
section.subscription div.status.inactive {
    background-color: red;
}

/* Consents preferences: the bulk row sits below, flush, while the rows it drives are offset */
section.subscription ul.consents-all {
    margin-top: 12px;
}

section.subscription ul.consents-all > li:first-child {
    font-size: 13px;
    font-style: italic;
    color: rgb(150, 150, 150);
}

section.subscription ul.consents-row {
    padding-left: 22px;
    border-left: 2px solid rgb(237, 237, 237);
}

section.subscription ul.consents-row:hover {
    border-left-color: rgb(200, 200, 200);
}

section.subscription ul.consents-submit {
    margin-top: 16px;
    padding-left: 22px;
}

/* Wide enough for the longest subscription label to stay on one line */
section.subscription ul.consents-all > li:first-child,
section.subscription ul.consents-row > li:first-child,
section.subscription ul.consents-submit > li:first-child {
    width: 200px;
}

/* Tri-state switch. Knob centred while neither radio is checked, then locked left or right. */
section.subscription span.consents-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

section.subscription span.consents-switch > input {
    /* Kept in the flow of the accessibility tree, just not painted */
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    margin: 0;
}

section.subscription span.consents-switch > label {
    font-size: 14px;
    color: rgb(170, 170, 170);
    cursor: pointer;
    transition: color 0.15s ease;
}

section.subscription span.consents-switch-track {
    position: relative;
    cursor: pointer;
    display: inline-block;
    width: 46px;
    height: 22px;
    border-radius: 11px;
    background: rgb(214, 214, 214);
    transition: background-color 0.2s ease;
}

section.subscription span.consents-switch-knob {
    position: absolute;
    top: 2px;
    left: 50%;
    margin-left: -9px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgb(255, 255, 255);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    transition: left 0.2s ease, margin-left 0.2s ease;
}

/* Withdrawn: knob left, track red, matching div.status.inactive */
section.subscription .consents-switch-off:checked ~ .consents-switch-track {
    background: red;
}

section.subscription .consents-switch-off:checked ~ .consents-switch-track .consents-switch-knob {
    left: 2px;
    margin-left: 0;
}

section.subscription .consents-switch-off:checked ~ label:first-of-type {
    color: rgb(90, 90, 90);
    font-weight: 600;
}

/* Granted: knob right, track green, matching div.status.active */
section.subscription .consents-switch-on:checked ~ .consents-switch-track {
    background: rgb(146, 182, 0);
}

section.subscription .consents-switch-on:checked ~ .consents-switch-track .consents-switch-knob {
    left: 26px;
    margin-left: 0;
}

section.subscription .consents-switch-on:checked ~ label:last-of-type {
    color: rgb(90, 90, 90);
    font-weight: 600;
}

/* Keyboard focus has to stay visible, the radio itself is not painted */
section.subscription span.consents-switch > input:focus-visible ~ .consents-switch-track {
    outline: 2px solid rgb(120, 120, 120);
    outline-offset: 2px;
}







@media print {
    header {
        position: static;
        background: none;
    }

    header nav,
    #ownerSearch,
    .contact_form,
    .likeit,
    .mdi-printer,
    .fancybox-overlay {
        display: none;
    }

    body {
        zoom: 65%;
    }

    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    @page {
        margin: 0;
    }

    body {
        margin: 1.6cm;
    }

}
:root {
    --api_green: rgb(0 206 124);
    --api_blue: rgb(151 209 220);
}

/* Pautions */
section.pautions > .pautions-container > .main-card {
    background-color: rgb(0 71 80) !important;
}

section.pautions > .pautions-container .text-bleu {
    color: var(--api_green) !important;
}

section.pautions > .pautions-container .text-rose,
section.pautions > .pautions-container .pautions-rose,
section.pautions > .pautions-container .pautions-rose * {
    color: var(--api_blue) !important;
}

section.pautions > .pautions-container a.btn-custom,
section.pautions > .pautions-container a.btn-custom * {
    color: var(--api_blue) !important;
    border-color: var(--api_blue) !important;
}

section.pautions > .pautions-container a.btn-custom:hover,
section.pautions > .pautions-container a.btn-custom:hover * {
    color: var(--api_green) !important;
    border-color: var(--api_green) !important;
}
/* Tooltip */
.tooltip > .tooltip-inner {
  z-index: 9999;
  background: black;
  color: white;
  border-radius: 3px;
  box-shadow: 0 0 2px rgba(0,0,0,0.5);
  padding: 5px;
  text-align: center;
  white-space: pre-wrap;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0lBQ2xDLHlDQUF5QztBQUM3QyxDO0FDOUJBLFlBQVk7QUFDWjtFQUNFLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixtQ0FBbUM7RUFDbkMsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixxQkFBcUI7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9leHRlcm5hbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy90b29sdGlwLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuaHRtbCwgYm9keSwgaGVhZGVyLCBmb290ZXIsIHNlY3Rpb24sIG5hdiwgYXNpZGUsIGFydGljbGUsIGEsIGZpZ2NhcHRpb24sIHRkLCBkaXYsIHAsIHVsLCBvbCwgbGksIGRsLCBkdCwgZGQsIHNlbGVjdCwgaW5wdXQsIHRleHRhcmVhLCBsYWJlbCwgYnV0dG9uLCBociB7XG4gICAgY29sb3I6IHJnYigxMTksIDExOSwgMTE5KTtcbiAgICBmb250OiA0MDAgMTZweC8yOHB4ICdKb3NlZmluIFNhbnMnLCBIZWx2ZXRpY2EsIEFyaWFsLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVsZWdpYmlsaXR5O1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmgxLCBoMiwgaDMge1xuICAgIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7XG4gICAgZm9udC1mYW1pbHk6ICdKb3NlZmluIFNhbnMnLCBIZWx2ZXRpY2EsIEFyaWFsLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5cbnN0cm9uZywgYiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDkyLCAxMDEsIDExMCwgMC4yMik7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIHRvcDogMDtcbn1cblxuaGVhZGVyIGRpdiB7XG4gICAgbWF4LXdpZHRoOiAxMzYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cblxuaGVhZGVyIGRpdiA+IGEge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtaW5kZW50OiAtMTAwMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICBoZWFkZXIgZGl2ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgd2lkdGg6IDEyMnB4O1xuICAgICAgICBoZWlnaHQ6IDQxcHg7XG4gICAgfVxufVxuXG5oZWFkZXIgbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmhlYWRlciBuYXYgdWwge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuaGVhZGVyIG5hdiB1bCBsaSB7XG4gICAgZm9udC1mYW1pbHk6ICdRdWlja3NhbmQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaGVhZGVyIG5hdiB1bDpsYXN0LWNoaWxkIGxpLFxuaGVhZGVyIG5hdiB1bDpudGgtY2hpbGQoMykgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuaGVhZGVyIG5hdiB1bCBsaSBhIHtcbiAgICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaGVhZGVyIG5hdiB1bDpsYXN0LWNoaWxkIGxpIGEsXG5oZWFkZXIgbmF2IHVsOm50aC1jaGlsZCgzKSBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBoZWFkZXIgbmF2LnN0aWNreSB1bDpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBoZWFkZXIgbmF2LmFjdGl2ZSB1bDpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaGVhZGVyIG5hdiB1bDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbWFyZ2luLXRvcDogODFweDtcbiAgICB9XG5cbiAgICBoZWFkZXIgbmF2IHVsOmxhc3QtY2hpbGQgbGkgYSxcbiAgICBoZWFkZXIgbmF2IHVsOm50aC1jaGlsZCgzKSBsaSBhIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgfVxuXG4gICAgaGVhZGVyIG5hdiB1bDpsYXN0LWNoaWxkIGxpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIH1cblxuICAgIGhlYWRlciBuYXYgdWw6bGFzdC1jaGlsZCBsaTpob3ZlciB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxufVxuXG5oZWFkZXIgbmF2IHVsOmxhc3QtY2hpbGQgbGk6aG92ZXIsXG5oZWFkZXIgbmF2IHVsOmxhc3QtY2hpbGQgbGkuc2VsZWN0ZWQsXG5oZWFkZXIgbmF2IHVsOm50aC1jaGlsZCgzKSBsaTpob3ZlcixcbmhlYWRlciBuYXYgdWw6bnRoLWNoaWxkKDMpIGxpLnNlbGVjdGVkIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIGhlYWRlciBuYXYgdWw6bGFzdC1jaGlsZCBsaS5zZWxlY3RlZCBhLFxuICAgIGhlYWRlciBuYXYgdWw6bnRoLWNoaWxkKDMpIGxpLnNlbGVjdGVkIGEge1xuICAgICAgICBjb2xvcjogcmdiKDEyNywgMTgyLCAyOCk7XG4gICAgfVxufVxuXG5cbmhlYWRlciBuYXYgdWwuY3VycmVuY3kgbGkucyBhOmJlZm9yZSxcbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UgbGkucyBhOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gICAgY29udGVudDogXCJcXGYwMTQwXCIgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMXB4O1xufVxuXG5oZWFkZXIgbmF2IHVsLmN1cnJlbmN5IGxpLnMgYTpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG59XG5cbmhlYWRlciBuYXYgdWwuY3VycmVuY3ksXG5oZWFkZXIgbmF2IHVsLmxhbmd1YWdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgei1pbmRleDogMTA7XG59XG5cbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuaGVhZGVyIG5hdiB1bC5jdXJyZW5jeTpob3ZlcixcbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2U6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDApO1xufVxuXG5oZWFkZXIgbmF2IHVsLmN1cnJlbmN5LmFjdGl2ZSxcbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYigwLCAwLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDIwMHB4O1xufVxuXG5oZWFkZXIgbmF2IHVsLmN1cnJlbmN5LmFjdGl2ZSBsaSBhLFxuaGVhZGVyIG5hdiB1bC5sYW5ndWFnZS5hY3RpdmUgbGkgYSB7XG4gICAgY29sb3I6IHJnYigwLCAwLCAwKTtcbn1cblxuaGVhZGVyIG5hdiB1bC5jdXJyZW5jeS5hY3RpdmUgbGkgYTpob3ZlcixcbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UuYWN0aXZlIGxpIGE6aG92ZXIsXG5oZWFkZXIgbmF2IHVsLmN1cnJlbmN5LmFjdGl2ZSBsaS5zIGEsXG5oZWFkZXIgbmF2IHVsLmxhbmd1YWdlLmFjdGl2ZSBsaS5zIGEge1xuICAgIGNvbG9yOiByZ2IoMCwgMCwgMCk7XG59XG5cbmhlYWRlciBuYXYgdWwuY3VycmVuY3kuYWN0aXZlIGxpOmhvdmVyLFxuaGVhZGVyIG5hdiB1bC5sYW5ndWFnZS5hY3RpdmUgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4xNSk7XG59XG5cbmhlYWRlciBuYXYgdWwuY3VycmVuY3kgbGksXG5oZWFkZXIgbmF2IHVsLmxhbmd1YWdlIGxpIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5oZWFkZXIgbmF2IHVsLmN1cnJlbmN5IGxpLnMsXG5oZWFkZXIgbmF2IHVsLmN1cnJlbmN5LmFjdGl2ZSBsaSxcbmhlYWRlciBuYXYgdWwuY3VycmVuY3kgbGkucyBhLFxuaGVhZGVyIG5hdiB1bC5jdXJyZW5jeS5hY3RpdmUgbGkgYSxcbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UgbGkucyxcbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UuYWN0aXZlIGxpLFxuaGVhZGVyIG5hdiB1bC5sYW5ndWFnZSBsaS5zIGEsXG5oZWFkZXIgbmF2IHVsLmxhbmd1YWdlLmFjdGl2ZSBsaSBhIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBMYW5ndWFnZSBtZW51OiB0aGUgbGFuZ3VhZ2UgY29kZSB3aGVuIGNsb3NlZCwgdGhlIG5hdGl2ZSBuYW1lcyB3aGVuIG9wZW4uXG4gKiBUaGUgaGVhZGVyIGhpZGVzIGl0cyBvdmVyZmxvdywgc28gdGhlIG9wZW4gbGlzdCBzdGF5cyBpbiB0aGUgZmxvdzogaXQgZ3Jvd3MgdG8gdGhlIGxlZnRcbiAqIHdpdGggYSBuZWdhdGl2ZSBtYXJnaW4gKDQ0cHggY2xvc2VkIC0gMjIwcHggb3BlbikgYW5kIHRoZSBtZW51IG5leHQgdG8gaXQgZG9lcyBub3QgbW92ZS5cbiAqL1xuaGVhZGVyIG5hdiB1bC5sYW5ndWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5oZWFkZXIgbmF2IHVsLmxhbmd1YWdlIGxpIC5uYW1lLFxuaGVhZGVyIG5hdiB1bC5sYW5ndWFnZS5hY3RpdmUgbGkgLmNvZGUsXG5oZWFkZXIgbmF2IHVsLmxhbmd1YWdlLmFjdGl2ZSBsaS5zIGE6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5oZWFkZXIgbmF2IHVsLmxhbmd1YWdlLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTAwMTtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNzZweDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UuYWN0aXZlIGxpLFxuaGVhZGVyIG5hdiB1bC5sYW5ndWFnZS5hY3RpdmUgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UuYWN0aXZlIGxpLnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4xNSk7XG59XG5cbmhlYWRlciBuYXYgdWwubGFuZ3VhZ2UuYWN0aXZlIGxpIC5uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbmhlYWRlciBuYXYgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWluLXdpZHRoOiA1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDIwcHggMCAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjMpO1xuICAgIHRleHQtaW5kZW50OiAtMTAwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuaGVhZGVyIG5hdiBidXR0b24gc3BhbixcbmhlYWRlciBuYXYgYnV0dG9uIHNwYW46YmVmb3JlLFxuaGVhZGVyIG5hdiBidXR0b24gc3BhbjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbn1cblxuaGVhZGVyIG5hdiBidXR0b24gc3BhbiB7XG4gICAgdG9wOiAyMXB4O1xufVxuXG5oZWFkZXIgbmF2IGJ1dHRvbiBzcGFuOmJlZm9yZSB7XG4gICAgYm90dG9tOiA4cHg7XG59XG5cbmhlYWRlciBuYXYgYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgIHRvcDogOHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBoZWFkZXIgbmF2IGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjMpO1xuICAgIH1cblxuICAgIGhlYWRlciBuYXYuYWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNzBweDtcbiAgICB9XG5cbiAgICBoZWFkZXIgbmF2IGJ1dHRvbiBzcGFuLFxuICAgIGhlYWRlciBuYXYgYnV0dG9uIHNwYW46YmVmb3JlLFxuICAgIGhlYWRlciBuYXYgYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgfVxuXG4gICAgaGVhZGVyIG5hdi5zdGlja3kgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4zKTtcbiAgICB9XG5cbiAgICBoZWFkZXIgbmF2LnN0aWNreSBidXR0b24gc3BhbixcbiAgICBoZWFkZXIgbmF2LnN0aWNreSBidXR0b24gc3BhbjpiZWZvcmUsXG4gICAgaGVhZGVyIG5hdi5zdGlja3kgYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICB9XG59XG5cbmhlYWRlciBuYXYuc3RpY2t5IGJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG5oZWFkZXIgbmF2LmZ1bGwtbmF2IGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbmhlYWRlciBuYXYgYnV0dG9uOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYigwLCAwLCAwKTtcbn1cblxuaGVhZGVyIG5hdiBidXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMXB4IC02N3B4O1xufVxuXG5oZWFkZXIgbmF2IGJ1dHRvbi5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDApO1xufVxuXG5oZWFkZXIgbmF2IGJ1dHRvbi5hY3RpdmUgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuaGVhZGVyIG5hdiBidXR0b24uYWN0aXZlIHNwYW46YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCA2cHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSg1cHgsIDZweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCA2cHgpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCA2cHgpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCA2cHgpO1xuICAgIGJhY2tncm91bmQ6IHJnYigwLCAwLCAwKTtcbn1cblxuaGVhZGVyIG5hdiBidXR0b24uYWN0aXZlIHNwYW46YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCAtNnB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDVweCwgLTZweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDVweCwgLTZweCk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCAtNnB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSg1cHgsIC02cHgpO1xuICAgIGJhY2tncm91bmQ6IHJnYigwLCAwLCAwKTtcbn1cblxuZm9vdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG5mb290ZXIgYSB7XG4gICAgY29sb3I6IHJnYigxMTksIDExOSwgMTE5KTtcbn1cblxuc2VjdGlvbi5waWN0dXJlLWZ1bGwge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuc2VjdGlvbi5waWN0dXJlLWZ1bGwgaDEge1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYigwLCAwLCAwKTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDgwJTtcbn1cblxuc2VjdGlvbi5waWN0dXJlLWZ1bGwgc3Bhbi5ob29rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA0LCAwLCAwKTtcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbnNlY3Rpb24ucGljdHVyZXMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTA1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5zZWN0aW9uLnBpY3R1cmVzIGEubWRpLXByaW50ZXIsXG5zZWN0aW9uLnBpY3R1cmVzIGEubWRpLXdlYiB7XG4gICAgY29sb3I6IHJnYigxMTksIDExOSwgMTE5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbnNlY3Rpb24ucGljdHVyZXMgYS5tZGktcHJpbnRlcjo6YmVmb3JlLFxuc2VjdGlvbi5waWN0dXJlcyBhLm1kaS13ZWI6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA0NHB4ICFpbXBvcnRhbnQ7XG59XG5cbnNlY3Rpb24ucGljdHVyZXMgYTpub3QoLm1kaSksIGFbaHJlZj1cIiNwYW5vcmFtYVwiXSA+IGRpdiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDI3MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMTY2NjY2JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTY2NjY2JTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAzMyU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIHNlY3Rpb24ucGljdHVyZXMgYSB7XG4gICAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuc2VjdGlvbi5waWN0dXJlcyBhIGRpdiB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5kaXYubGlrZWl0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuZGl2Lmxpa2VpdCBzdmcge1xuICAgIHdpZHRoOiAyNTBweDtcbn1cblxuZGl2Lmxpa2VpdCBzdmcgLnN0YXIge1xuICAgIGZpbGw6IHJnYigyMDAsIDIwMCwgMjAwKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmFydGljbGUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwNTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBhcnRpY2xlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG59XG5cbmFydGljbGUgaDIge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuYXJ0aWNsZSBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLm1kaTpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtICFpbXBvcnRhbnQ7XG59XG5cbmFydGljbGUgdWwuaWNvbnMge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuYXJ0aWNsZSB1bC5pY29ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbnNlY3Rpb24ub3duZXIgdWwuaWNvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbnNlY3Rpb24ub3duZXIgdWwuaWNvbnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG5zZWN0aW9uLm1lZGlhLFxuc2VjdGlvbi5kb2N1bWVudHMsXG5zZWN0aW9uLmV4dGVybmFsIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuc2VjdGlvbi5tZWRpYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5zZWN0aW9uLm1lZGlhIGlmcmFtZSxcbnNlY3Rpb24ubWVkaWEgdmlkZW8ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qIEFwcGx5IHdpZHRoIG9ubHkgaWYgaXQncyBub3QgYWxyZWFkeSBzZXQgKi9cbnNlY3Rpb24ubWVkaWEgaWZyYW1lOm5vdChbd2lkdGhdKSxcbnNlY3Rpb24ubWVkaWEgdmlkZW86bm90KFt3aWR0aF0pIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogQXBwbHkgaGVpZ2h0IG9ubHkgaWYgaXQncyBub3QgYWxyZWFkeSBzZXQgKi9cbnNlY3Rpb24ubWVkaWEgaWZyYW1lOm5vdChbaGVpZ2h0XSksXG5zZWN0aW9uLm1lZGlhIHZpZGVvOm5vdChbaGVpZ2h0XSkge1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xufVxuXG5zZWN0aW9uLm1lZGlhIC5wYW5vcmFtYUxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc2VjdGlvbi5sb3RzLFxuc2VjdGlvbi5tYXAge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuc2VjdGlvbi5sb3RzIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuc2VjdGlvbi5tYXAgI21hcCB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuc2VjdGlvbi5sZWdhbCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICAgIG1heC13aWR0aDogMTA1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5zZWN0aW9uLmxlZ2FsIC5sZWdhbEdyYXBoaWNhbCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zZWN0aW9uLmNvbnRhY3Qge1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgc2VjdGlvbi5kZXRhaWxzLFxuICAgIHNlY3Rpb24ubWFwLFxuICAgIHNlY3Rpb24ubGVnYWwsXG4gICAgc2VjdGlvbi5jb250YWN0LFxuICAgIHNlY3Rpb24uZG9jdW1lbnRzLFxuICAgIHNlY3Rpb24uY29udGVudCxcbiAgICBzZWN0aW9uLmV4dGVybmFsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG59XG5cbnNlY3Rpb24uY29udGFjdCB1bCB7XG4gICAgZm9udC1zaXplOiAwO1xufVxuXG5zZWN0aW9uLmNvbnRhY3QgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogNTAlO1xufVxuXG5zZWN0aW9uLmNvbnRhY3QgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgc2VjdGlvbi5jb250YWN0IHVsIGxpOmxhc3QtY2hpbGQgcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjIwcHg7XG4gICAgfVxufVxuXG5zZWN0aW9uLmNvbnRhY3QgdWwgbGk6Zmlyc3QtY2hpbGQgaW1nIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xufVxuXG5zZWN0aW9uLmNvbnRhY3QgdWwgbGk6bGFzdC1jaGlsZCBpbWcge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgIG1heC13aWR0aDogMjAwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIHNlY3Rpb24uY29udGFjdCB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbnNlY3Rpb24uY29udGVudCB7XG4gICAgbWFyZ2luOiAxMDBweCBhdXRvIDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwNTBweDtcbn1cblxuc2VjdGlvbi5kZXRhaWxzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnNlY3Rpb24uZGV0YWlscyBkaXYuYXJlYXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0OCU7XG59XG5cbnNlY3Rpb24uZGV0YWlscyBkaXYuYXJlYXMgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5zZWN0aW9uLmRldGFpbHMgZGl2LmFyZWFzIHRhYmxlIHRyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5zZWN0aW9uLmRldGFpbHMgZGl2Lm1vcmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNDglO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBzZWN0aW9uLmRldGFpbHMgZGl2LmFyZWFzLFxuICAgIHNlY3Rpb24uZGV0YWlscyBkaXYubW9yZSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbnNlY3Rpb24uY29udGFjdCB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMCBhdXRvO1xufVxuXG5zZWN0aW9uLmNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5zZWN0aW9uLmNvbnRlbnQgaDIge1xuICAgIGNvbG9yOiByZ2IoMTgwLCAxODAsIDE4MCk7XG59XG5cbnNlY3Rpb24uY29udGVudCB0YWJsZSxcbnNlY3Rpb24ubG90cyB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5zZWN0aW9uLmNvbnRlbnQgdGFibGUgdGgsXG5zZWN0aW9uLmxvdHMgdGFibGUgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzAsIDIzMCwgMjMwKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDVweCAwO1xufVxuXG5zZWN0aW9uLmNvbnRlbnQgdGFibGUgdGJvZHkgdHIsXG5zZWN0aW9uLmxvdHMgdGFibGUgdGJvZHkgdHIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuc2VjdGlvbi5jb250ZW50IHRhYmxlIHRib2R5IHRyOmhvdmVyLFxuc2VjdGlvbi5sb3RzIHRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ1LCAyNDUsIDI0NSk7XG59XG5cbnNlY3Rpb24uY29udGVudCB0YWJsZSB0ZCxcbnNlY3Rpb24ubG90cyB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigyMzAsIDIzMCwgMjMwKTtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLypcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgIHNlY3Rpb24uY29udGVudCB0YWJsZSB0ZDpub3QoLm1haW4pLFxuICAgIHNlY3Rpb24uY29udGVudCB0YWJsZSB0aDpub3QoLm1haW4pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4qL1xuXG5zZWN0aW9uLmNvbnRlbnQgdGFibGUgc3ZnIHtcbiAgICB3aWR0aDogMTAwcHg7XG59XG5cbnNlY3Rpb24uY29udGVudCB0YWJsZSBzdmcgLnN0YXIge1xuICAgIGZpbGw6IHJnYigyNDAsIDI0MCwgMjQwKTtcbn1cblxuc2VjdGlvbi5sb3RzIHRhYmxlIHRkIGRpdi5sb3Rfc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG59XG5cbnNlY3Rpb24ubG90cyB0YWJsZSB0ZCBkaXYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTQ2LCAxODIsIDApOyBcbn1cbnNlY3Rpb24ubG90cyB0YWJsZSB0ZCBkaXYuaW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzMsIDAsIDQzKTtcbn1cbnNlY3Rpb24ubG90cyB0YWJsZSB0ZCBkaXYucmVzZXJ2ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDE2NSwgMCk7XG59XG5cbnNlY3Rpb24uY29udGVudCBhIHtcbiAgICBjb2xvcjogcmdiKDExOSwgMTE5LCAxMTkpO1xufVxuXG5zZWN0aW9uLnNvY2lhbCB1bCB7XG4gICAgZm9udC1zaXplOiAwO1xufVxuXG5zZWN0aW9uLnNvY2lhbCB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuc2VjdGlvbi5zb2NpYWwgdWwgbGkgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5zZWN0aW9uLmZyaWRhYSB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5zZWN0aW9uLmZyaWRhYSBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0MHB4KSB7XG4gICAgc2VjdGlvbi5mcmlkYWEgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiA2MzBweDtcbiAgICB9XG59XG5cbnVsLnRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxudWwudG9vbGJhciBsaSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB3aWR0aDogMjMwcHg7XG59XG5cbnVsLnRvb2xiYXIgbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB3aWR0aDogMjMwcHg7XG59XG5cbnVsLnRvb2xiYXIgbGk6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNjb250YWN0Rm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIHNlY3Rpb24uY29udGFjdCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxufVxuXG5zZWN0aW9uLmNhbGVuZGFyIHtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIHNlY3Rpb24uY2FsZW5kYXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cbn1cblxuI2NvbnRhY3RGb3JtIHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUwLCAyNTAsIDI1MCk7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiKDIwMCwgMjAwLCAyMDApO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiNwcmVmZXJlbmNlRm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuI2NvbnRhY3RGb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjAwLCAyMDAsIDIwMCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNHB4IDIwcHg7XG59XG5cbnNlY3Rpb24ub3duZXIgLnBpY3R1cmUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG5zZWN0aW9uLm93bmVyIC5hY3Rpdml0eSB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbnNlY3Rpb24ub3duZXIgPiBhIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuc2VjdGlvbi5vd25lciA+IGgyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuc2VjdGlvbi5vd25lciA+IGgyID4gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5zZWN0aW9uLm93bmVyID4gaHIge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDIzMCwgMjMwLCAyMzApO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4jb3duZXJTZWFyY2gge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNDQ0NDQ0M7XG59XG5cbiNkYXRlcGlja2VyIHtcbiAgICB3aWR0aDogMjUwcHg7XG59XG5cbiNvd25lclNlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDYsIDE4MiwgMCk7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbnNwYW4uYWNjZXNzIHtcbiAgICBjb2xvcjogcmdiKDEzMywgMTM1LCAxMzUpO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbnNwYW4uYWNjZXNzIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjogcmdiKDE0NiwgMTgyLCAwKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5zcGFuLmFjY2VzcyBhIGVtIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuc3Bhbi5hY2Nlc3MgYS5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE0NiwgMTgyLCAwKTtcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogQ2FsZW5kYXIgKi9cbiNjYWxlbmRhclNlYXNvbmFsICNtb250aHMge1xuICAgIG1hcmdpbjogMTBweCAtMSU7XG59XG5cbiNjYWxlbmRhclNlYXNvbmFsIHRhYmxlIHtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiNjYWxlbmRhclNlYXNvbmFsIHRhYmxlIHRoLFxuI2NhbGVuZGFyU2Vhc29uYWwgdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbiNjYWxlbmRhclNlYXNvbmFsICNtb250aHMge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4jY2FsZW5kYXJTZWFzb25hbCAubW9udGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGVmZjE7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAyMzBweDtcbiAgICBtYXJnaW46IDElO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDMxJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI2NhbGVuZGFyU2Vhc29uYWwgLm1vbnRoIHtcbiAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICB9XG59XG5cbiNjYWxlbmRhclNlYXNvbmFsIC5tb250aCB0YWJsZSB7XG4gICAgaGVpZ2h0OiAxODRweDtcbn1cblxuI2NhbGVuZGFyU2Vhc29uYWwgLm1vbnRoIHRhYmxlIHRkID4gYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGhlaWdodDogMjRweDtcbn1cblxuI2NhbGVuZGFyU2Vhc29uYWwgLm1vbnRoIHRhYmxlIHRkID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0FBQUFBQTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgaGVpZ2h0OiAyNHB4O1xufVxuXG4jY2FsZW5kYXJTZWFzb25hbCAubW9udGggc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4jY2FsZW5kYXJTZWFzb25hbCBzcGFuLmRheXMsXG4jY2FsZW5kYXJTZWFzb25hbCBzcGFuLmRheSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4jY2FsZW5kYXJTZWFzb25hbCBzcGFuLmRheXMuZnJlZSxcbiNjYWxlbmRhclNlYXNvbmFsIHRkLmRheS5mcmVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRmZmM2O1xufVxuXG4jY2FsZW5kYXJTZWFzb25hbCBzcGFuLmRheXMsXG4jY2FsZW5kYXJTZWFzb25hbCBzcGFuLmRheXMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4jY2FsZW5kYXJTZWFzb25hbCBzcGFuLmRheXMuYm9va2VkLXN0YXJ0LWZyZWUsXG4jY2FsZW5kYXJTZWFzb25hbCB0ZC5kYXkuYm9va2VkLXN0YXJ0LWZyZWUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzY0ZmZjNiA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG59XG5cbiNjYWxlbmRhclNlYXNvbmFsIHNwYW4uZGF5cy5ib29rZWQtZW5kLWZyZWUsXG4jY2FsZW5kYXJTZWFzb25hbCB0ZC5kYXkuYm9va2VkLWVuZC1mcmVlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDUwJSwgIzY0ZmZjNiA1MCUpO1xufVxuXG4jY2FsZW5kYXJTZWFzb25hbCBzcGFuLmRheXMub3B0aW9uLXN0YXJ0LWZyZWUsXG4jY2FsZW5kYXJTZWFzb25hbCB0ZC5kYXkub3B0aW9uLXN0YXJ0LWZyZWUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzY0ZmZjNiA1MCUsICM3ZmU1ZmYgNTAlKTtcbn1cblxuI2NhbGVuZGFyU2Vhc29uYWwgc3Bhbi5kYXlzLm9wdGlvbi1lbmQtZnJlZSxcbiNjYWxlbmRhclNlYXNvbmFsIHRkLmRheS5vcHRpb24tZW5kLWZyZWUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzdmZTVmZiA1MCUsICM2NGZmYzYgNTAlKTtcbn1cblxuLmFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5hY3Rpb25zIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5hY3Rpb25zIGxpIGEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxODAsIDE4MCwgMTgwKTtcbiAgICBjb2xvcjogcmdiKDE4MCwgMTgwLCAxODApO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAxNHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmFjdGlvbnMgbGkuc3Vic2NyaWJlIGEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxNDYsIDE4MiwgMCk7XG4gICAgY29sb3I6IHJnYigxNDYsIDE4MiwgMCk7XG59XG5cbi5hY3Rpb25zIGxpLnVuc3Vic2NyaWJlIGEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICBjb2xvcjogcmVkO1xufVxuXG4uYWN0aW9ucyBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTgwLCAxODAsIDE4MCk7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmFjdGlvbnMgbGkuc3Vic2NyaWJlIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDYsIDE4MiwgMCk7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmFjdGlvbnMgbGkudW5zdWJzY3JpYmUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG59XG5cbi5saXN0aW5nIGEge1xuICAgIGNvbG9yOiByZ2IoMTgwLCAxODAsIDE4MCk7XG59XG5cbi5saXN0aW5nIHNwYW4uaG9vayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNCwgMCwgMCk7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ucGljdHVyZUhvdmVyIHtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjMzMzMzMzO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTIwO1xufVxuXG4ucGljdHVyZUhvdmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbn1cblxuI3Bhbm9yYW1hX3ZpZXdlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiBDYWxlbmRhciAqL1xuLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxGMEVEJztcbiAgICBjb2xvcjogcmdiKDExNSwgMTE1LCAxMTUpO1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgRGVzaWduIEljb25zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIycHg7XG59XG5cbi8qIEZvcm0gKi9cbnVsLmZvcm0gPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbnVsLmZvcm0gPiBsaSA+IHVsID4gbGksXG51bC5mb3JtID4gbGkgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAzNTBweDtcbiAgICBwYWRkaW5nOiA0cHggMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG51bC5mb3JtID4gbGkgPiB1bCA+IGxpID4gbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG59XG5cbnVsLmZvcm0gPiBsaSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQsXG51bC5mb3JtID4gbGkgPiB1bCA+IGxpOm50aC1jaGlsZCgzKSB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIG1pbi13aWR0aDogYXV0bztcbn1cblxudWwuZm9ybSA+IGxpID4gdWwgPiBsaTpudGgtY2hpbGQoNCkge1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuaW5wdXRbdHlwZT1zdWJtaXRdOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5mb3JtID4gLmVycm9yIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbjogMXJlbTtcbn1cblxuZm9ybSA+IC5zdWNjZXNzIHtcbiAgICBjb2xvcjogZ3JlZW47XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luOiAxcmVtO1xufVxuXG4uZmFuY3lib3hfX2NhcHRpb24ge1xuICAgIGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4uZmFuY3lib3hfX2NvbnRhaW5lciBidXR0b24ge1xuICAgIGJhY2tncm91bmQgOiAjRkZGRkZGO1xuICAgIGNvbG9yIDogIzAwMDAwMDtcbiAgICBtYXJnaW4gOiA1cHg7XG59XG5cbi8qIFBhZ2luYXRpb24gKi9cbi5wYWdlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuXG4ucGFnZXIgdWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucGFnZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNXB4O1xufVxuXG4ucGFnZXIgbGkgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4ucGFnZXIgbGkuY3VycmVudCBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xufVxuXG4ucGFnZXIgbGkgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbn1cblxuc2VjdGlvbi5zdWJzY3JpcHRpb24gZGl2LnN0YXR1cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBcbn1cblxuc2VjdGlvbi5zdWJzY3JpcHRpb24gZGl2LnN0YXR1cy5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDYsIDE4MiwgMCk7XG59XG5zZWN0aW9uLnN1YnNjcmlwdGlvbiBkaXYuc3RhdHVzLmluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbi8qIENvbnNlbnRzIHByZWZlcmVuY2VzOiB0aGUgYnVsayByb3cgc2l0cyBiZWxvdywgZmx1c2gsIHdoaWxlIHRoZSByb3dzIGl0IGRyaXZlcyBhcmUgb2Zmc2V0ICovXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiB1bC5jb25zZW50cy1hbGwge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbnNlY3Rpb24uc3Vic2NyaXB0aW9uIHVsLmNvbnNlbnRzLWFsbCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiByZ2IoMTUwLCAxNTAsIDE1MCk7XG59XG5cbnNlY3Rpb24uc3Vic2NyaXB0aW9uIHVsLmNvbnNlbnRzLXJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiKDIzNywgMjM3LCAyMzcpO1xufVxuXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiB1bC5jb25zZW50cy1yb3c6aG92ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2IoMjAwLCAyMDAsIDIwMCk7XG59XG5cbnNlY3Rpb24uc3Vic2NyaXB0aW9uIHVsLmNvbnNlbnRzLXN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG59XG5cbi8qIFdpZGUgZW5vdWdoIGZvciB0aGUgbG9uZ2VzdCBzdWJzY3JpcHRpb24gbGFiZWwgdG8gc3RheSBvbiBvbmUgbGluZSAqL1xuc2VjdGlvbi5zdWJzY3JpcHRpb24gdWwuY29uc2VudHMtYWxsID4gbGk6Zmlyc3QtY2hpbGQsXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiB1bC5jb25zZW50cy1yb3cgPiBsaTpmaXJzdC1jaGlsZCxcbnNlY3Rpb24uc3Vic2NyaXB0aW9uIHVsLmNvbnNlbnRzLXN1Ym1pdCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogMjAwcHg7XG59XG5cbi8qIFRyaS1zdGF0ZSBzd2l0Y2guIEtub2IgY2VudHJlZCB3aGlsZSBuZWl0aGVyIHJhZGlvIGlzIGNoZWNrZWQsIHRoZW4gbG9ja2VkIGxlZnQgb3IgcmlnaHQuICovXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiBzcGFuLmNvbnNlbnRzLXN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xufVxuXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiBzcGFuLmNvbnNlbnRzLXN3aXRjaCA+IGlucHV0IHtcbiAgICAvKiBLZXB0IGluIHRoZSBmbG93IG9mIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUsIGp1c3Qgbm90IHBhaW50ZWQgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuc2VjdGlvbi5zdWJzY3JpcHRpb24gc3Bhbi5jb25zZW50cy1zd2l0Y2ggPiBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiByZ2IoMTcwLCAxNzAsIDE3MCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbnNlY3Rpb24uc3Vic2NyaXB0aW9uIHNwYW4uY29uc2VudHMtc3dpdGNoLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTFweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjE0LCAyMTQsIDIxNCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbnNlY3Rpb24uc3Vic2NyaXB0aW9uIHNwYW4uY29uc2VudHMtc3dpdGNoLWtub2Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC05cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZSwgbWFyZ2luLWxlZnQgMC4ycyBlYXNlO1xufVxuXG4vKiBXaXRoZHJhd246IGtub2IgbGVmdCwgdHJhY2sgcmVkLCBtYXRjaGluZyBkaXYuc3RhdHVzLmluYWN0aXZlICovXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiAuY29uc2VudHMtc3dpdGNoLW9mZjpjaGVja2VkIH4gLmNvbnNlbnRzLXN3aXRjaC10cmFjayB7XG4gICAgYmFja2dyb3VuZDogcmVkO1xufVxuXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiAuY29uc2VudHMtc3dpdGNoLW9mZjpjaGVja2VkIH4gLmNvbnNlbnRzLXN3aXRjaC10cmFjayAuY29uc2VudHMtc3dpdGNoLWtub2Ige1xuICAgIGxlZnQ6IDJweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuc2VjdGlvbi5zdWJzY3JpcHRpb24gLmNvbnNlbnRzLXN3aXRjaC1vZmY6Y2hlY2tlZCB+IGxhYmVsOmZpcnN0LW9mLXR5cGUge1xuICAgIGNvbG9yOiByZ2IoOTAsIDkwLCA5MCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogR3JhbnRlZDoga25vYiByaWdodCwgdHJhY2sgZ3JlZW4sIG1hdGNoaW5nIGRpdi5zdGF0dXMuYWN0aXZlICovXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiAuY29uc2VudHMtc3dpdGNoLW9uOmNoZWNrZWQgfiAuY29uc2VudHMtc3dpdGNoLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMTQ2LCAxODIsIDApO1xufVxuXG5zZWN0aW9uLnN1YnNjcmlwdGlvbiAuY29uc2VudHMtc3dpdGNoLW9uOmNoZWNrZWQgfiAuY29uc2VudHMtc3dpdGNoLXRyYWNrIC5jb25zZW50cy1zd2l0Y2gta25vYiB7XG4gICAgbGVmdDogMjZweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuc2VjdGlvbi5zdWJzY3JpcHRpb24gLmNvbnNlbnRzLXN3aXRjaC1vbjpjaGVja2VkIH4gbGFiZWw6bGFzdC1vZi10eXBlIHtcbiAgICBjb2xvcjogcmdiKDkwLCA5MCwgOTApO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIEtleWJvYXJkIGZvY3VzIGhhcyB0byBzdGF5IHZpc2libGUsIHRoZSByYWRpbyBpdHNlbGYgaXMgbm90IHBhaW50ZWQgKi9cbnNlY3Rpb24uc3Vic2NyaXB0aW9uIHNwYW4uY29uc2VudHMtc3dpdGNoID4gaW5wdXQ6Zm9jdXMtdmlzaWJsZSB+IC5jb25zZW50cy1zd2l0Y2gtdHJhY2sge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2IoMTIwLCAxMjAsIDEyMCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuXG5cblxuXG5cblxuQG1lZGlhIHByaW50IHtcbiAgICBoZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIGhlYWRlciBuYXYsXG4gICAgI293bmVyU2VhcmNoLFxuICAgIC5jb250YWN0X2Zvcm0sXG4gICAgLmxpa2VpdCxcbiAgICAubWRpLXByaW50ZXIsXG4gICAgLmZhbmN5Ym94LW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGJvZHkge1xuICAgICAgICB6b29tOiA2NSU7XG4gICAgfVxuXG4gICAgKiB7XG4gICAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQHBhZ2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYm9keSB7XG4gICAgICAgIG1hcmdpbjogMS42Y207XG4gICAgfVxuXG59IiwiOnJvb3Qge1xuICAgIC0tYXBpX2dyZWVuOiByZ2IoMCAyMDYgMTI0KTtcbiAgICAtLWFwaV9ibHVlOiByZ2IoMTUxIDIwOSAyMjApO1xufVxuXG4vKiBQYXV0aW9ucyAqL1xuc2VjdGlvbi5wYXV0aW9ucyA+IC5wYXV0aW9ucy1jb250YWluZXIgPiAubWFpbi1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCA3MSA4MCkgIWltcG9ydGFudDtcbn1cblxuc2VjdGlvbi5wYXV0aW9ucyA+IC5wYXV0aW9ucy1jb250YWluZXIgLnRleHQtYmxldSB7XG4gICAgY29sb3I6IHZhcigtLWFwaV9ncmVlbikgIWltcG9ydGFudDtcbn1cblxuc2VjdGlvbi5wYXV0aW9ucyA+IC5wYXV0aW9ucy1jb250YWluZXIgLnRleHQtcm9zZSxcbnNlY3Rpb24ucGF1dGlvbnMgPiAucGF1dGlvbnMtY29udGFpbmVyIC5wYXV0aW9ucy1yb3NlLFxuc2VjdGlvbi5wYXV0aW9ucyA+IC5wYXV0aW9ucy1jb250YWluZXIgLnBhdXRpb25zLXJvc2UgKiB7XG4gICAgY29sb3I6IHZhcigtLWFwaV9ibHVlKSAhaW1wb3J0YW50O1xufVxuXG5zZWN0aW9uLnBhdXRpb25zID4gLnBhdXRpb25zLWNvbnRhaW5lciBhLmJ0bi1jdXN0b20sXG5zZWN0aW9uLnBhdXRpb25zID4gLnBhdXRpb25zLWNvbnRhaW5lciBhLmJ0bi1jdXN0b20gKiB7XG4gICAgY29sb3I6IHZhcigtLWFwaV9ibHVlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYXBpX2JsdWUpICFpbXBvcnRhbnQ7XG59XG5cbnNlY3Rpb24ucGF1dGlvbnMgPiAucGF1dGlvbnMtY29udGFpbmVyIGEuYnRuLWN1c3RvbTpob3ZlcixcbnNlY3Rpb24ucGF1dGlvbnMgPiAucGF1dGlvbnMtY29udGFpbmVyIGEuYnRuLWN1c3RvbTpob3ZlciAqIHtcbiAgICBjb2xvcjogdmFyKC0tYXBpX2dyZWVuKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYXBpX2dyZWVuKSAhaW1wb3J0YW50O1xufSIsIi8qIFRvb2x0aXAgKi9cbi50b29sdGlwID4gLnRvb2x0aXAtaW5uZXIge1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLDAsMCwwLjUpO1xuICBwYWRkaW5nOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/