@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

:root {
    --bg-dark: #000000;
    --accent-dark: #615860;
    --accent-light: #d399cc;
    --font-dark: #242424;
    --font-light: #ffffff;

    --petrol: #0a5b5c;
    --pastel-green: #c6e5e4;
    --pastel-purple: #d2c0d8;
    --pink: #f6b9ca;

    --error-red: #e57373;
    --success-green: #81c784;
    --info-orange: #ffb74d;

    --nav-height: 80px;
    --footer-height: 200px;

    font-family: 'Raleway', sans-serif;
    --special-font: 'Bebas Neue', sans-serif;
}
body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: var(--bg-dark);
    max-width: 100vw;
    font-size: 16px;
}

.main {
    margin-top: calc(var(--nav-height) + 20px);
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.tac {
    text-align: center;
}
.tar {
    text-align: right;
}
.fwb {
    font-weight: bold;
}
.hidden {
    display: none !important;
}

h1 {
    font-family: var(--special-font);
    color: var(--pink);
    font-size: 4rem;
    margin-bottom: 5px;
}
.font-light {
    color: var(--font-light);
}
.mb-0 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.mt-0 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
@media screen and (max-width: 768px) {
    h1 {
        font-size: 3rem;
    }
    .hide-sm {
        display: none;
    }
}
.fly-in {
    opacity: 0;
    transform: translateY(100%);
    transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.fly-in.animate {
    opacity: 1;
    transform: translateY(0);
}
.cursor-pointer {
    cursor: pointer;
}
/* ---------------------------------------- FLEXBOX ---------------------------------------- */
.d-flex {
    display: flex;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.align-center {
    align-items: center;
}
/* ---------------------------------------- BUTTONS ---------------------------------------- */
.center-button {
    display: flex;
    justify-content: center;
    align-items: center;
}
.center-button a {
    text-decoration: none;
}
button {
    cursor: pointer;
}
.btn {
    padding: 20px;
    border-radius: 15px;
    font-size: 1rem;
    font-weight: bold;
    border: none;
    outline: none;
}
.btn-light {
    background-color: var(--pink);
    color: var(--font-dark);
}
.btn-dark {
    background-color: var(--bg-dark);
    color: var(--pink);
}
.btn-light:hover {
    background-color: var(--accent-dark);
    color: var(--font-dark);
    transition: ease-in-out 0.2s;
}
.btn-dark:hover {
    background-color: var(--font-dark);
    color: var(--pink);
    transition: ease-in-out 0.2s;
}
.switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 24px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: var(--accent-dark);
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

.slider:before {
    position: absolute;
    content: '';
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

input:checked + .slider {
    background-color: var(--pink);
}

input:focus + .slider {
    box-shadow: 0 0 1px var(--pink);
}

input:checked + .slider:before {
    -webkit-transform: translateX(22px);
    -ms-transform: translateX(22px);
    transform: translateX(22px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 24px;
}

.slider.round:before {
    border-radius: 50%;
}
/* ---------------------------------------- ROWS AND COLS ---------------------------------------- */
.container {
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
}
.row {
    display: flex;
    flex-wrap: wrap;
}
[class*='col-'] {
    flex: 0 0 auto;
    padding: 10px;
    box-sizing: border-box;
}
.col-2 {
    width: 16.66%;
}
.col-3 {
    width: 25%;
}
.col-4 {
    width: 33.33%;
}
.col-5 {
    width: 41.66%;
}
.col-6 {
    width: 50%;
}
.col-8 {
    width: 66.66%;
}
.col-9 {
    width: 75%;
}
.col-10 {
    width: 83.33%;
}
.col-12 {
    width: 100%;
}
/* Small devices (up to 768px) */
@media screen and (max-width: 768px) {
    .col-sm-2 {
        width: 16.66%;
    }
    .col-sm-3 {
        width: 25%;
    }
    .col-sm-4 {
        width: 33.33%;
    }
    .col-sm-5 {
        width: 41.66%;
    }
    .col-sm-6 {
        width: 50%;
    }
    .col-sm-8 {
        width: 66.66%;
    }
    .col-sm-9 {
        width: 75%;
    }
    .col-sm-10 {
        width: 83.33%;
    }
    .col-sm-12 {
        width: 100%;
    }
}
@media screen and (max-width: 1024px) {
    .col-md-2 {
        width: 16.66%;
    }
    .col-md-3 {
        width: 25%;
    }
    .col-md-4 {
        width: 33.33%;
    }
    .col-md-5 {
        width: 41.66%;
    }
    .col-md-6 {
        width: 50%;
    }
    .col-md-8 {
        width: 66.66%;
    }
    .col-md-9 {
        width: 75%;
    }
    .col-md-10 {
        width: 83.33%;
    }
    .col-md-12 {
        width: 100%;
    }
}
/* ---------------------------------------- ALERTS ---------------------------------------- */
.alert {
    position: absolute;
    right: 0;
    display: flex;
    justify-content: start;
    align-items: center;
    padding-left: 5px;
    min-height: 40px;
    max-height: 150px;
    min-width: 300px;
    max-width: 500px;
    border-radius: 8px;
    margin-bottom: 10px;
    opacity: 0;
    visibility: hidden;
    /* transition: opacity 1s ease, visibility 0s linear 1s; */
    transition: top 0.3s ease, opacity 0.3s ease;
    z-index: 10000;
    padding: 10px;
}

.alert.show {
    opacity: 1;
    visibility: visible;
    transition: opacity 1s ease;
}

.alert-icon {
    font-size: 1.25em;
    font-weight: bold;
    margin: 5px;
}
.alert-msg {
    font-size: 1em;
    font-weight: bold;
    padding: 5px;
    margin: 0px;
    display: flex;
    align-items: center;
}
.alert-success {
    background-color: var(--success-green);
}
.alert-success .alert-msg {
    color: var(--font-dark);
}
.alert-icon-success {
    color: var(--success-green);
    filter: brightness(0.7);
}

.alert-warning {
    background-color: var(--info-orange);
}
.alert-warning .alert-msg {
    color: var(--font-dark);
}
.alert-icon-warning {
    color: var(--info-orange);
    filter: brightness(0.7);
}

.alert-info {
    background-color: var(--accent-light);
}
.alert-info .alert-msg {
    color: var(--font-dark);
}
.alert-icon-info {
    color: var(--accent-light);
    filter: brightness(0.7);
}

.alert-error {
    background-color: var(--error-red);
}
.alert-error .alert-msg {
    color: var(--font-dark);
}
.alert-icon-error {
    color: var(--error-red);
    filter: brightness(0.7);
}
/* ---------------------------------------- TABLE ---------------------------------------- */
table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.95rem;
    background: var(--accent-dark);
    margin-bottom: 2em;
    border-radius: 12px;
    overflow: hidden;
}

/* header */
table thead th {
    text-align: left;
    font-weight: 600;
    padding: 12px 10px;
    background: var(--font-dark);
    white-space: nowrap;
}

/* body */
table tbody td {
    padding: 10px;
    vertical-align: middle;
}

table tr td {
    border-bottom: 4px solid var(--font-dark);
}

table tbody tr:hover {
    background-color: var(--font-light);
    color: var(--font-dark);
}

table a {
    color: inherit;
    text-decoration: none;
}

table a:hover i {
    opacity: 0.75;
}

/* round only the outermost cells */
table thead th:first-child {
    border-top-left-radius: 12px;
}
table thead th:last-child {
    border-top-right-radius: 12px;
}

table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 12px;
}
table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 12px;
}
/* ---------------------------------------- MODAL ---------------------------------------- */
.modal-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal {
    display: none;
    inset: 0;
    z-index: 1050;
    overflow: auto;
    border-radius: 20px;
    color: var(--font-light);
}
.modal-content {
    background-color: var(--accent-dark);
    margin: 10% auto;
    padding: 20px;
    border-radius: 5px;
    max-width: 90vw;
}

body.no-scroll {
    overflow: hidden;
    height: 100vh;
}
.modal-w-30 {
    width: 30dvw;
}
.modal-w-40 {
    width: 40dvw;
}
.modal-w-50 {
    width: 50dvw;
}
.modal-w-60 {
    width: 60dvw;
}
.modal-w-80 {
    width: 80dvw;
}
.modal-w-100 {
    width: 100dvw;
}
.modal-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    font-weight: bold;
}
.modal-title h3 {
    margin: 0px;
}
.modal-close {
    color: var(--error-red);
    cursor: pointer;
}
.modal button[type='submit'] {
    background-color: var(--success-green);
    color: var(--font-light);
    padding: 0.5em;
    border-radius: 10px;
    border: none;
}
.modal .form-group label {
    font-weight: bold;
    margin-bottom: 5px;
}
.modal .form-group input {
    padding: 5px;
    border-radius: 10px;
    border: 2px solid transparent;
    outline: none;
    margin-bottom: 10px;
    font-size: 1em;
}
.modal .form-group input:focus {
    border: 2px solid var(--pink);
}
.modal .form-group textarea {
    padding: 5px;
    border-radius: 10px;
    border: 2px solid transparent;
    outline: none;
    margin-bottom: 10px;
    font-size: 1em;
}
.modal .form-group textarea:focus {
    border: 2px solid var(--pink);
}
.modal .form-group:last-child {
    margin-bottom: 0px;
}
@media (max-width: 768px) {
    .modal-content {
        margin: 0;
        border-radius: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .modal-content form {
        padding: 0px;
    }
    [class*='modal-w-'] {
        width: 100dvw;
        padding: 10px;
    }
}
/* ---------------------------------------- SWEETALERT ---------------------------------------- */
.swal2-popup {
    background-color: var(--accent-dark) !important;
    color: var(--font-light) !important;
    border-radius: 20px !important;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}
.swal2-confirm {
    background-color: var(--success-green) !important;
}
.swal2-cancel {
    background-color: var(--error-red) !important;
}
/* ---------------------------------------- ERROR-PAGE ---------------------------------------- */
@keyframes errorCodeAnmim {
    0% {
        transform: scale3d(1, 1, 1);
    }

    30% {
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        transform: scale3d(1.05, 0.95, 1);
    }

    100% {
        transform: scale3d(1, 1, 1);
    }
}
.error {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.error-code {
    font-size: 5rem;
    color: var(--pink);
    animation: errorCodeAnmim 2s ease 0s 1 normal forwards;
}
.error-title {
    font-size: 2.5rem;
    color: var(--font-light);
}
.error-message {
    font-size: 1.5rem;
    color: var(--font-light);
}
.error-link {
    color: var(--pink);
    font-weight: bold;
}
.SBW-button {
    font-family: var(--special-font) !important;
    border: 2px solid black !important;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px !important;
}
/* ---------------------------------------- NAV ---------------------------------------- */
.navbar {
    z-index: 100;
}
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    position: absolute;
    background-color: var(--pink);
    width: 100%;
    min-height: var(--nav-height);
    padding: 0px 10px;
    top: 0;
    z-index: 1000;
    box-sizing: border-box;
}
.logo {
    flex: 0 0 auto;
}
.logo img {
    height: 70px;
    margin: 0px 20px;
}
.nav-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-grow: 1;
    max-width: 100vw;
}
.nav-menu ul {
    display: flex;
    list-style: none;
    padding: 0px;
}
.nav-menu ul li {
    padding: 10px 20px;
}
.nav-menu ul li a {
    font-family: var(--special-font);
    font-size: 1.25rem;
    font-weight: bold;
    text-decoration: none;
    color: var(--font-dark);
}
.nav-menu ul li a:hover {
    color: var(--accent-dark);
    transition: ease-in-out 0.2s;
}
.nav-icon {
    display: flex;
    justify-items: center;
    align-items: center;
}
.nav-icon i {
    margin: 0px 10px;
    font-size: 1.25rem;
}
.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    position: absolute;
    right: 30px;
}

@media screen and (max-width: 768px) {
    .header {
        padding: 0px;
    }
    .logo img {
        height: 70px;
    }
    .nav-menu {
        border-top: 1px solid var(--bg-dark);
        box-shadow: 3px 40px 85px -7px rgba(0, 0, 0, 0.59);
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--accent-dark);
        align-items: start;
    }
    .nav-menu.active {
        display: flex;
        flex-direction: column;
    }
    .nav-menu ul {
        margin: 0px;
        flex-direction: column;
    }
    .nav-menu ul li a {
        text-decoration: none;
        color: var(--pink);
    }
    .hamburger {
        display: flex;
        align-items: center;
        font-size: 1.75rem;
    }
}
/* ---------------------------------------- INDEX ---------------------------------------- */
.home-description {
    margin: 0px 200px;
    font-size: 2rem;
    color: var(--font-light);
    display: flex;
    align-items: center;
}
.home-description a {
    color: var(--pink);
    text-decoration: none;
}
.home-description a:hover {
    color: var(--pastel-purple);
    text-decoration: none;
}
.home-logo {
    width: 80%;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.home-text {
    font-size: 6rem;
    margin: 0px;
}
.insta-gallery-container {
    padding: 20px;
}
.insta-btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
.insta-gallery-container button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    font-size: 2rem;
    font-family: var(--special-font);
}
.insta-gallery-container button:hover {
    background-color: var(--pastel-purple);
}
.insta-gallery-container img {
    width: 40px;
    padding: 10px;
}
.insta-gallery-container a {
    text-decoration: none;
}
.insta-gallery-container a:hover {
    text-decoration: none;
}
/* ---------------------------------------- RATINGS ---------------------------------------- */
.ratings-wrapper {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    padding: 20px;
    scrollbar-width: none;
    position: relative;
    justify-content: flex-start;
}
.ratings-wrapper::-webkit-scrollbar {
    display: none;
}
.rating-item {
    min-width: 300px;
    flex: 0 0 auto;
}
.rating {
    margin: 10px 0;
}
.rating i {
    margin: 0 2px;
}
i.scroll-left,
i.scroll-right {
    cursor: pointer;
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    z-index: 10;
    color: rgba(255, 255, 255, 0.35);
    font-size: 2em;
    margin: 10px;
}
i.scroll-left {
    left: 0;
}
i.scroll-right {
    right: 0;
}
.ratings .box {
    background-color: var(--accent-dark);
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    margin: 10px;
    padding: 10px;
    min-height: 200px;
}
.ratings .box .name {
    font-size: 1.5rem;
    font-weight: bold;
    padding-top: 10px;
}
.ratings .box .rating {
    padding: 10px;
    color: var(--pink);
}
/* ---------------------------------------- HOME IMAGE GALLERY ---------------------------------------- */
.gallery {
    background-color: var(--accent-dark);
}
.image-gallery-home {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.image-wrapper {
    max-width: 1000px;
    height: 600px;
    overflow: hidden;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

i.next-button,
i.prev-button {
    cursor: pointer;
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    z-index: 10;
    color: rgba(255, 255, 255, 0.35);
    font-size: 5em;
    margin: 10px;
}

i.prev-button {
    left: 10px;
}

i.next-button {
    right: 10px;
}

.thumbnails {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.thumbnails img {
    width: 80px;
    height: 50px;
    object-fit: cover;
    cursor: pointer;
    opacity: 0.7;
    border: 2px solid transparent;
    transition: opacity 0.3s, border-color 0.3s;
}

.thumbnails img.active {
    border-color: var(--pink);
    opacity: 1;
}

.thumbnails img:hover {
    opacity: 1;
}
.home-contact-container {
    padding: 20px;
    background-color: var(--pink);
}
.home-contact-container h2 {
    font-family: var(--special-font);
    font-size: 5rem;
    color: var(--font-dark);
    margin: 10px;
}
.contact-link-home.l {
    display: flex;
    align-items: center;
    justify-content: end;
}
.contact-link-home.r {
    display: flex;
    align-items: center;
    justify-content: start;
}
.contact-link-home img {
    max-width: 40px;
}
.contact-link-home a {
    margin: 10px;
    font-size: 1rem;
    transition: 0.5s ease-in-out;
}
.contact-link-home a:hover {
    margin: 10px;
    font-size: 1.25rem;
    transition: 0.5s ease-in-out;
}
.home-contact-container a {
    color: var(--font-dark);
}
.home-contact-container a:hover {
    color: var(--accent-dark);
}
.mapboxgl-ctrl-bottom-right,
.mapboxgl-ctrl-bottom-left {
    display: none;
}
@media screen and (max-width: 768px) {
    .home-logo {
        width: 100%;
    }
    .home-text {
        font-size: 4rem !important;
        margin: 20px 0px !important;
    }
    .home-contact-container h2 {
        font-size: 3rem !important;
    }
    .home-description {
        margin: 20px;
        font-size: 1.5rem;
        text-align: center;
    }
    .contact-link-home.l,
    .contact-link-home.r {
        display: flex;
        align-items: center;
        justify-content: center !important;
    }
    .thumbnails {
        display: none;
    }
}
@media screen and (max-width: 1024px) {
    .home-text {
        font-size: 4rem !important;
        margin: 20px 0px !important;
    }
    .home-contact-container h2 {
        font-size: 3rem !important;
    }
    .home-description {
        margin: 20px;
        font-size: 1.5rem;
    }
    .contact-link-home.l {
        justify-content: end;
    }
    .contact-link-home.r {
        justify-content: start;
    }
}
/* ---------------------------------------- OUR-STORY ---------------------------------------- */
.story-text {
    margin: 0px 200px;
    font-size: 2rem;
    color: var(--font-light);
    line-height: 140%;
}
.story-text p {
    margin: 10px;
}
.story-text p.big {
    margin-top: 80px;
    margin-bottom: 30px;
    text-align: center;
    font-size: 2rem;
    font-family: var(--special-font);
    color: var(--pink);
}

/* Pagination styles for admin consent forms */
.pagination-wrapper {
    margin-top: 18px;
    text-align: center;
}
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.page-numbers-wrapper {
    display: flex;
    gap: 6px;
    align-items: center;
}
.pagination-condensed {
    color: var(--font-light);
}
.page-link.disabled {
    pointer-events: none;
    opacity: 0.5;
}
.ragequit-box {
    margin-bottom: 100px;
    text-align: center;
}
.ragequit-box img {
    height: 300px;
}
.delete-consent-form {
    cursor: pointer;
    color: var(--error-red);
    margin-left: 0.5rem;
}
@media screen and (max-width: 768px) {
    .story-text {
        margin: 0px 10px;
        font-size: 1.25rem;
    }
    .ragequit-box {
        margin-bottom: 100px;
    }
    .logo-box {
        display: flex;
        justify-content: center;
    }
    .ragequit-box img {
        height: 200px;
    }
}
/* ---------------------------------------- ARTISTS-OVERVIEW ---------------------------------------- */
.artists {
    display: flex;
    justify-content: center;
}
.artist-preview {
    margin: 20px;
}
.artist-preview .text-box {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 10px;
}
.image-container {
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
    border-radius: 20px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    overflow: hidden;
}
.image-container img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.5s ease;
}
.image-container:hover img {
    transform: scale(1.1);
}
.centered-text {
    text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.7);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
    font-size: 4rem;
    color: var(--pink);
    padding: 20px;
    border-radius: 5px;
}
.centered-text:hover {
    text-shadow: rgba(179, 117, 197, 0.6) 0px 10px 30px;
}
.centered-text .name {
    font-size: clamp(4.5rem, 3.5rem + 2.0833vw, 6rem);
    font-family: var(--special-font);
    margin: 0px;
}
.centered-text .title {
    font-size: clamp(1.5rem, 1rem + 1.0417vw, 2.25rem);
}
.centered-text .insta {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(1rem, 0.6667rem + 0.6944vw, 1.5rem);
}
.insta i {
    padding: 5px;
}
/* ---------------------------------------- ARTISTS-DETAILVIEW ---------------------------------------- */
.artist-img-container {
    max-width: 200px;
    max-height: 200px;
    margin: auto;
}
.artist-img-container img {
    border-radius: 50%;
}
.artist p {
    margin: 0px 300px;
    font-size: 1.5rem;
    color: var(--font-light);
}
.artist h2 {
    font-family: var(--special-font);
    font-size: 4rem;
    color: var(--pink);
    margin: 10px 0px 0px 0px;
}
.artist span {
    font-size: 2rem;
    color: var(--font-light);
}
.artist .socials i {
    color: var(--pink);
    margin: 10px;
    font-size: 2rem;
}
.artist .socials i:hover {
    color: var(--accent-dark);
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .artist p {
        margin: 10px;
        font-size: 1.1rem !important;
        text-align: center;
    }
}
@media screen and (max-width: 1024px) {
    .artist p {
        margin: 20px;
        font-size: 1.25rem;
    }
}
.artist img {
    max-width: 100%;
}
ul.image-gallery {
    list-style: none;
}
.image-gallery {
    text-align: center;
}
.image-gallery > li {
    /* fallback */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 350px;
    height: 350px;
    margin: 0 5px 10px 5px;
    /* end fallback */
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border-radius: 10px;
}

@supports (display: flex) {
    .image-gallery {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin: 10px;
    }

    .image-gallery > li {
        width: 350px;
        height: 350px;
        margin: 0;
    }

    .image-gallery::after {
        content: '';
        width: 350px;
        height: 350px;
    }
    .image-gallery li img {
        max-width: 100% !important;
        height: 100% !important;
    }
}

.image-gallery li img {
    object-fit: cover;
    max-width: 140%;
    height: 140%;
    vertical-align: middle;
    transition: transform 0.3s ease-in-out;
}
.image-gallery li:hover img {
    transform: scale(1.1);
}
@media screen and (max-width: 767px) {
    .image-gallery {
        padding: 0px;
    }
    .image-gallery > li {
        width: 100vw;
        height: auto;
    }
    .image-gallery > li {
        flex-basis: 100vw;
        border-radius: 10px;
    }
    .image-gallery::after {
        flex-basis: 100vw;
    }
}

#overlay {
    display: none;
    position: fixed;
    top: var(--nav-height);
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    justify-content: center;
    align-items: center;
    z-index: 999;
}

#prevBtn,
#nextBtn,
#closeBtn {
    color: var(--pink);
    font-size: 3rem;
    border: none;
    padding: 10px;
    cursor: pointer;
    outline: none;
}

#prevBtn,
#nextBtn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#prevBtn {
    left: 10px;
}

#nextBtn {
    right: 10px;
}

#closeBtn {
    position: absolute;
    top: 10px;
    right: 10px;
}

#overlayImg {
    max-width: 90%;
    max-height: 90%;
}

/* Additional styles for the overlay transition */
#overlayImg {
    transition: transform 0.3s ease-in-out;
}

#overlayImg:hover {
    transform: scale(1.1);
}
#galleryMobile.image-gallery {
    display: none;
}
@media screen and (max-width: 1024px) {
    #gallery.pswp-gallery {
        display: none;
    }
    #galleryMobile.image-gallery {
        display: flex;
    }
}
@media screen and (max-width: 767px) {
    #prevBtn,
    #nextBtn,
    #closeBtn {
        display: none;
    }
    #gallery.pswp-gallery {
        display: none;
    }
    #galleryMobile.image-gallery {
        display: flex;
    }
}
/* ---------------------------------------- PIERCING ---------------------------------------- */
.piercing-box {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.piercing-box [class*='col-'] {
    padding: 20px;
}
.piercing-box .col-sm-12 {
    padding: 0px 10px;
}
.piercer-img {
    margin: 20px;
    width: 95%;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.piercing {
    font-size: 1.25rem;
    color: var(--font-light);
    line-height: 120%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.piercing .name {
    display: flex;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .piercing {
        line-height: 140%;
        padding: 0px;
        font-size: 1.25rem;
    }
    .piercing .price {
        text-align: right;
    }
}
.box-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color: var(--font-dark);
    background-color: var(--pink);
    border-radius: 16px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.25s ease;
    padding: 1.5rem;
    width: 100%;
    max-width: calc(100vw / 5);
    aspect-ratio: 1 / 1;
    font-family: 'Inter', sans-serif;
}

.box-link img.icon {
    width: 60%;
    height: auto;
    margin-bottom: 0.75rem;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.box-link span {
    font-size: 1.5rem;
    font-weight: bold;
}

.box-link:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    background-color: var(--pastel-purple);
}

.box-link:hover img.icon {
    transform: scale(1.05);
}

.box-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    margin-bottom: 20px;
}
.piercing-icon {
    width: 80px;
    height: 80px;
    margin-right: 10px;
    margin-bottom: 10px;
    object-fit: contain;
    background-color: var(--pink);
    border-radius: 8px;
}
@media screen and (max-width: 767px) {
    .box-link {
        max-width: calc(100vw);
    }
    .box-grid {
        margin-bottom: 10px;
    }
}
/* ---------------------------------------- TOOTH-GEMS ---------------------------------------- */
.follow-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    font-family: var(--special-font);
    outline: none;
    border: none;
    border-radius: 10px;
    padding: 10px 20px;
    margin: 10px auto;
}
.follow-btn:hover {
    background-color: var(--pastel-purple);
}
.follow-btn img {
    width: 40px;
    padding: 10px;
}
.follow-btn a {
    text-decoration: none;
}
.follow-btn a:hover {
    text-decoration: none;
}
/* ---------------------------------------- FAQ ---------------------------------------- */
.accordion {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100vw;
    margin-bottom: var(--nav-height);
}
.accordion-item {
    border: 2px solid var(--pink);
    color: var(--font-light);
    margin: 20px 200px;
    border-radius: 8px;
    margin-bottom: 5px;
    background-color: var(--bg-dark);
}
.accordion-item-header {
    background-color: var(--bg-light);
    font-weight: bold;
    font-size: 2rem;
    color: var(--font-light);
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    font-family: var(--special-font);
}
.accordion-item-header p {
    margin: 0px;
}
.accordion-item-header i {
    color: var(--pink);
}
.accordion-item-content {
    max-height: 0;
    padding: 0px;
    overflow: hidden;
    font-size: 1.5rem;
    opacity: 0;
    transition: max-height 0.8s ease-in-out, opacity 0.8s ease-in-out;
}
.accordion-item-content.open {
    max-height: 2500px;
    opacity: 1;
}
.accordion-item-content ul li {
    padding: 10px;
}
.rotate-180 {
    transform: rotate(180deg);
    transition: ease-in-out 0.5s;
}
@media screen and (max-width: 767px) {
    .accordion-item {
        margin: 10px;
    }
    .accordion-item-header {
        font-size: 1rem;
    }
    .accordion-item-content {
        font-size: 1rem;
    }
}
@media screen and (max-width: 1024px) {
    .accordion-item {
        margin: 10px;
    }
    .accordion-item-header {
        font-size: 1.5rem;
    }
    .accordion-item-content {
        font-size: 1.5rem;
    }
}

/* ---------------------------------------- CONTACT ---------------------------------------- */
#map {
    width: 100vw;
    height: 400px;
}
.custom-needle-marker {
    position: relative;
    background-image: url('http://www.ragequittattoo.ch/images/logo/logos_new/rq_neu_white.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 80px;
    height: 80px;
    cursor: pointer;
}
.custom-needle-marker::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
    border-top-color: var(--pink) !important;
}
.mapboxgl-popup-content {
    background: var(--pink) !important;
    padding: 10px 30px !important;
    color: var(--font-dark);
}
.current-day {
    font-weight: bold;
    font-size: 1.1rem;
    color: var(--pink);
}
.contact {
    color: var(--font-light);
}
.contact a {
    color: var(--pink);
    font-size: 1rem;
    transition: 0.5s ease-in-out;
}
.contact a:hover {
    color: var(--accent-dark);
    font-size: 1.25rem;
    transition: 0.5s ease-in-out;
}
.opening-hours {
    color: var(--font-light);
}
.opening-hours h2 {
    margin: 5px 0px;
}
.opening-hours > .col-6:first-child {
    text-align: right;
}
@media screen and (max-width: 767px) {
    .opening-hours > .col-6:first-child {
        text-align: left !important;
    }
}
/* ---------------------------------------- FOOTER ---------------------------------------- */
footer {
    padding-top: 20px;
    background-color: var(--pink);
    margin-top: auto;
}
.footer-title {
    font-family: var(--special-font);
}
.footer-adress {
    font-size: 1.25rem;
    display: flex;
}
.footer-adress h2 {
    margin: 5px 0px;
    font-family: var(--special-font);
}
.footer-adress a {
    color: black;
    text-decoration: none;
}
.footer-adress img {
    padding: 0px 5px;
    height: 2rem;
    border-radius: 50%;
}
.footer-socials {
    padding: 10px;
}
.footer-socials a {
    font-size: 2rem;
    padding: 10px;
}
.footer-sponsor {
    background-color: var(--bg-dark);
    color: #f1d283;
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer-sponsor img {
    max-height: 35px;
    margin: 10px 0px;
}
.footer-socials a:hover {
    color: var(--bg-dark);
    transition: 0.3s ease-in-out;
}
.footer-adress > .col-6:first-child {
    text-align: right;
}
.opening-hour [class*='col-'],
.address-block h2,
.address-block p,
.opening-hours-footer h2 {
    padding: 5px;
    margin: 0px;
}
@media screen and (max-width: 767px) {
    .footer-adress h2 {
        font-size: 2rem;
    }
    .footer-adress .col-sm-12 {
        text-align: center !important;
    }
}
/* --------------------------------------------------- LOGIN-SECTION --------------------------------------------------- */
.login-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    background-color: var(--bg-dark);
    color: var(--font-dark);
    padding: 20px;
}

.login-form .card {
    background-color: var(--pink);
    padding: 30px;
    width: 100%;
    max-width: 400px;
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form-group {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 15px;
}

.form-label {
    font-weight: bold;
    margin-bottom: 5px;
}

.login-form .form-input {
    padding: 10px;
    border: 2px solid var(--bg-dark);
    border-radius: 8px;
    background-color: var(--accent-dark);
    color: var(--font-light);
    font-size: 16px;
    width: 100%;
    margin-bottom: 10px;
}
.login-form .form-input:focus {
    border: 2px solid var(--bg-dark);
    outline: none;
}

.login-form .remember-me {
    display: flex;
    align-items: center;
    flex-direction: row;
    margin-top: 10px;
}

.login-form .remember-me input {
    margin-right: 10px;
    accent-color: var(--accent-dark);
}

.btn-login {
    padding: 12px 20px;
    background-color: var(--accent-dark);
    color: var(--font-light);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 18px;
}
@media screen and (max-width: 767px) {
    .login-form .card {
        max-width: 80%;
    }
}
/* --------------------------------------------------- ADMIN-SECTION --------------------------------------------------- */
.admin-dashboard {
    padding: 20px;
    color: var(--font-light);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.admin-dashboard h2 {
    font-family: var(--special-font);
    margin-bottom: 20px;
}
.dashboard-section {
    background-color: var(--pink);
    color: var(--font-dark);
    flex: auto;
    padding: 20px;
    border-radius: 10px;
    margin: 20px;
    text-decoration: none;
}
.dashboard-section:hover {
    background-color: var(--pastel-purple);
    transition: ease-in-out 0.3s;
    cursor: pointer;
}
.no-results {
    text-align: center;
    color: var(--font-light);
    font-style: italic;
    margin-top: 2rem;
}
/* --------------------------------------------------- ADMIN-SECTION-PIERCINGS --------------------------------------------------- */
.piercing-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    padding: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.piercing-card {
    flex: 1 1 220px;
    max-width: 260px;
    background: var(--accent-dark);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 1rem;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    color: var(--font-light);
}

.piercing-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.piercing-card img {
    margin-bottom: 0.8rem;
    max-width: 100%;
    height: auto;
}

.piercing-info {
    margin-bottom: 0.5rem;
}

.piercing-name {
    font-size: 1.1rem;
    color: var(--font-light);
    margin-bottom: 0.25rem;
}

.piercing-type {
    font-size: 0.9rem;
    color: var(--font-light);
    letter-spacing: 0.5px;
}

.piercing-price {
    font-weight: 600;
    color: var(--font-light);
    margin-top: 0.4rem;
}

.edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background-color: var(--pink);
    color: var(--font-dark);
    border: none;
    border-radius: 8px;
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s ease;
}

.edit-btn:hover {
    background-color: var(--pastel-purple);
}

@media (max-width: 600px) {
    .piercing-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}
/* --------------------------------------------------- CONSENT-FORM --------------------------------------------------- */
.consent-form,
.consent-form * {
    box-sizing: border-box; /* prevents overlap */
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.consent-form {
    width: 100%;
    max-width: 720px;
    margin: 16px auto;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

/* each field block */
.consent-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.consent-form .form-group[data-question='procedureType'],
.consent-form .form-group[data-question='specificComments'],
.consent-form .form-group[data-type='radio'] {
    grid-column: 1 / -1;
}

/* labels */
.consent-form label {
    font-size: 0.95rem;
    color: var(--font-light);
    font-weight: bold;
}

/* inputs/select/textarea */
.consent-form .form-control {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 1rem;
    border: 3px solid #fff;
    border-radius: 8px;
    background: #fff;
    outline: none;
}

.consent-form .form-control:focus {
    border-color: var(--pastel-purple);
}

/* radio layout */
.consent-form .radio-group {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.consent-form .radio-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1rem;
}

/* legal text */
.consent-form p {
    grid-column: 1 / -1;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--font-light);
    margin: 6px 0 0;
    white-space: pre-line;
}

/* submit button */
.consent-form button[type='submit'] {
    grid-column: 1 / -1;
    min-height: 46px;
    border: none;
    border-radius: 8px;
    background: var(--pink);
    color: var(--font-dark);
    font-size: 1rem;
    cursor: pointer;
}
.consent-form button[type='submit']:hover {
    background: var(--pastel-purple);
}
.consent-form #sig {
    width: 100%;
    height: 200px;
}
.consent-form .signature-container button {
    margin-top: 10px;
    padding: 8px 12px;
    border: none;
    border-radius: 6px;
    color: var(--font-dark);
    cursor: pointer;
}
.consent-form .signature-container button:first-child {
    background: var(--success-green);
}
.consent-form .signature-container button:last-child {
    background: var(--error-red);
}
/* ===== Mobile ===== */
@media (max-width: 640px) {
    .consent-form {
        grid-template-columns: 1fr; /* single column */
        padding: 12px;
        gap: 10px;
    }

    .consent-form .form-control {
        font-size: 16px; /* prevents iOS auto-zoom */
    }
}

/* Optional: make certain groups full-width by adding class="full" */
.consent-form .form-group.full {
    grid-column: 1 / -1;
}

.input-error {
    outline: 2px solid var(--error-red);
    border-radius: 4px;
}

.input-error-msg {
    color: var(--error-red);
    font-size: 0.9em;
    margin-top: 4px;
}
.pagination a {
    color: var(--font-light);
    text-decoration: none;
    font-size: 1.25rem;
}
.pagination a:hover {
    color: var(--pink);
    font-weight: bold;
}
.pagination .page-number.current {
    font-weight: bold;
    color: var(--pink);
    font-size: 1.25rem;
}
/* --------------------------------------------------- CONSENT-FORM-ADMIN-DETAIL --------------------------------------------------- */
.pdf-view {
    width: 100%;
    min-height: 900px;
}

#galleryImagesAdmin {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0.5rem;
}

/* fixed thumbnail box */
.gallery-image-admin {
    position: relative; /* anchor for the X */
    width: 250px;
    height: 250px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--font-dark);
    flex: 0 0 auto;
}
.tool {
    position: relative; /* anchor for the X */
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: var(--font-dark);
    flex: 0 0 auto;
}
.tool img,
.gallery-image-admin img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* thumbnail crop */
    display: block;
}

/* delete X pinned to top-right of the thumbnail box */
.tool-delete,
.delete {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.tool-delete:hover,
.delete:hover {
    background: var(--error-red);
}
/* Layout + typography */
.consent-container {
    padding-top: 1rem;
    padding-bottom: 2rem;
}

.page-title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin: 1rem 0 1.25rem;
}

.section-card {
    background: var(--accent-dark);
    border-radius: 14px;
    padding: 1rem 1rem 0.9rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.section-title {
    font-size: 1.15rem;
    margin-bottom: 0.75rem;
    letter-spacing: 0.2px;
}

.section-body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.detail-row {
    padding: 0.3rem 0;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
}

.detail-row:last-child {
    border-bottom: none;
}

.detail-label {
    opacity: 0.75;
    font-size: 0.95rem;
}

.detail-value {
    font-size: 1rem;
}

.muted-text {
    opacity: 0.7;
    font-size: 0.95rem;
}

/* Tools grid */
.tool-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 0.75rem;
    margin-top: 0.25rem;
}

.tool-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: var(--accent-dark);
    aspect-ratio: 1/1;
}

.tool-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 160ms ease;
}

.tool-card:hover .tool-img {
    transform: scale(1.04);
}

.tool-delete-btn {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: none;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 18px;
    line-height: 30px;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background 140ms ease, transform 140ms ease;
}

.tool-delete-btn:hover {
    background: rgba(0, 0, 0, 0.85);
    transform: scale(1.06);
}

/* Upload area */
.enhanced-upload {
    display: grid;
    gap: 0.75rem;
}
.upload-input {
    display: none;
}
.upload-dropzone {
    border: 2px dashed rgba(0, 0, 0, 0.18);
    background: var(--bg-dark);
    border-radius: 12px;
    padding: 1.1rem 1rem;
    cursor: pointer;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: center;
    transition: border-color 160ms ease, background 160ms ease,
        transform 120ms ease;
}
.upload-dropzone:hover {
    border-color: rgba(0, 0, 0, 0.35);
    transform: translateY(-1px);
}
.upload-icon {
    font-size: 1.6rem;
    opacity: 0.8;
}
.upload-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.upload-title {
    font-weight: 600;
    font-size: 1rem;
}
.upload-subtitle {
    font-size: 0.9rem;
    opacity: 0.7;
}
.upload-actions {
    display: flex;
    justify-content: flex-end;
}
.upload-btn {
    border-radius: 10px;
    padding: 0.55rem 1rem;
    font-weight: 600;
}

/* PDF area */
.pdf-wrap {
    border-radius: 10px;
    overflow: hidden;
    background: var(--accent-dark);
    height: min(80vh, 900px);
}

.pdf-view {
    width: 100%;
    height: 100%;
    min-height: 60vh;
    border: none;
}

/* Nice on desktop: keep PDF in view */
@media (min-width: 992px) {
    .sticky-pdf {
        position: sticky;
        top: 1.25rem;
    }
    .section-card {
        margin: 1rem;
    }
}
@media (max-width: 768px) {
    .tool {
        width: 100%;
        height: 100%;
    }
    .section-card {
        margin-bottom: 1rem;
    }
}

/* --------------------------------------------------- CONSENT-FORM-ADMIN-OVERVIEW --------------------------------------------------- */
/* Page + containers */
.consent-list-container {
    padding-top: 1rem;
    padding-bottom: 2rem;
}

/* Filter bar */
.section-card.filter-bar {
    margin: 0rem 0rem 1rem 0rem !important;
}
.filter-bar {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}
.filter-label {
    font-size: 0.9rem;
    opacity: 0.7;
    font-weight: 600;
    margin-right: 0.3rem;
}
.filter-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.filter-item.grow {
    flex: 1 1 240px;
}

.filter-input,
.filter-select {
    width: 100%;
    min-width: 140px;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    background: var(--bg-dark);
    color: var(--font-light);
    font-size: 0.98rem;
    transition: border-color 140ms ease, background 140ms ease;
}

.filter-input:focus,
.filter-select:focus {
    outline: none;
    border-color: rgba(0, 0, 0, 0.35);
    background: var(--bg-dark);
}

.checkbox-item {
    padding-left: 0.2rem;
}

.checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.98rem;
    cursor: pointer;
}

.clear-btn {
    border-radius: 10px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
}

/* Desktop table */
.desktop-table {
    width: 100%;
    border-collapse: separate;
}

.desktop-table tbody tr {
    background: var(--accent-dark);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.desktop-table tbody td {
    padding: 0.9rem 0.75rem;
    vertical-align: middle;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.desktop-table tbody tr td:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    font-weight: 700;
}

.desktop-table tbody tr td:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.pdf-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--pink);
    color: var(--font-dark);
    transition: background 140ms ease, transform 140ms ease;
}

.pdf-link:hover {
    filter: opacity(0.8);
    transform: translateY(-1px);
}

.action-btn {
    border-radius: 10px;
    padding: 0.45rem 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

/* Mobile cards */
.mobile-cards {
    display: none;
    gap: 0.8rem;
}

.consent-card {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.badge {
    background: var(--bg-dark);
    color: var(--font-light);
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
}

.card-date {
    font-size: 0.9rem;
    opacity: 0.75;
}

.card-body {
    display: grid;
    gap: 0.45rem;
}

.card-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 0.5rem;
    align-items: baseline;
}

.card-row .label {
    font-size: 0.9rem;
    opacity: 0.7;
    font-weight: 600;
}

.card-row .value {
    font-size: 1rem;
}

.card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Shared */
.error-text {
    color: var(--error-red);
    font-weight: 600;
}

.muted-text {
    opacity: 0.7;
    font-size: 0.95rem;
}

/* Responsive switch: cards on small screens, table on large */
@media (max-width: 900px) {
    .desktop-table {
        display: none;
    }
    .mobile-cards {
        display: grid;
    }
}

/* --------------------------------------------------- FAQ-ADMIN --------------------------------------------------- */
.faq-actions {
    display: flex;
    justify-content: center;
    align-items: center;
}
.faq-actions .faq-action {
    margin-right: 5px;
}
.faq-actions .faq-action.faq-delete {
    color: var(--error-red);
}
.answer-row textarea {
    width: 100%;
    resize: vertical;
}
.answer-row {
    margin-bottom: 0.75rem;
}
#addAnswerBtn {
    background-color: var(--pink);
    padding: 10px;
    border-radius: 10px;
    border: none;
}
.remove-answer {
    background-color: var(--error-red);
    border-radius: 10px;
    padding: 10px;
    border: none;
}
.remove-answer:hover,
#addAnswerBtn:hover {
    filter: opacity(0.8);
}
#newFaqBtn {
    margin: 10px 200px;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbWJpbmVkLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJjb21iaW5lZC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmViYXMrTmV1ZSZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbjpyb290IHtcclxuICAgIC0tYmctZGFyazogIzAwMDAwMDtcclxuICAgIC0tYWNjZW50LWRhcms6ICM2MTU4NjA7XHJcbiAgICAtLWFjY2VudC1saWdodDogI2QzOTljYztcclxuICAgIC0tZm9udC1kYXJrOiAjMjQyNDI0O1xyXG4gICAgLS1mb250LWxpZ2h0OiAjZmZmZmZmO1xyXG5cclxuICAgIC0tcGV0cm9sOiAjMGE1YjVjO1xyXG4gICAgLS1wYXN0ZWwtZ3JlZW46ICNjNmU1ZTQ7XHJcbiAgICAtLXBhc3RlbC1wdXJwbGU6ICNkMmMwZDg7XHJcbiAgICAtLXBpbms6ICNmNmI5Y2E7XHJcblxyXG4gICAgLS1lcnJvci1yZWQ6ICNlNTczNzM7XHJcbiAgICAtLXN1Y2Nlc3MtZ3JlZW46ICM4MWM3ODQ7XHJcbiAgICAtLWluZm8tb3JhbmdlOiAjZmZiNzRkO1xyXG5cclxuICAgIC0tbmF2LWhlaWdodDogODBweDtcclxuICAgIC0tZm9vdGVyLWhlaWdodDogMjAwcHg7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgIC0tc3BlY2lhbC1mb250OiAnQmViYXMgTmV1ZScsIHNhbnMtc2VyaWY7XHJcbn1cclxuYm9keSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgbWF4LXdpZHRoOiAxMDB2dztcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLm1haW4ge1xyXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSArIDIwcHgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4udGFjIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4udGFyIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5md2Ige1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcbi5mb250LWxpZ2h0IHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4ubWItMCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5tdC0wIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICB9XHJcbiAgICAuaGlkZS1zbSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4uZmx5LWluIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLW91dCwgb3BhY2l0eSAwLjVzIGVhc2Utb3V0O1xyXG59XHJcbi5mbHktaW4uYW5pbWF0ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcbi5jdXJzb3ItcG9pbnRlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGTEVYQk9YIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmQtZmxleCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5qdXN0aWZ5LWNlbnRlciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG4uanVzdGlmeS1iZXR3ZWVuIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG4uYWxpZ24tY2VudGVyIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCVVRUT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmNlbnRlci1idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4uY2VudGVyLWJ1dHRvbiBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5idXR0b24ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5idG4ge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuLmJ0bi1saWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcbi5idG4tZGFyayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG4uYnRuLWxpZ2h0OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgdHJhbnNpdGlvbjogZWFzZS1pbi1vdXQgMC4ycztcclxufVxyXG4uYnRuLWRhcms6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuMnM7XHJcbn1cclxuLnN3aXRjaCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogNDZweDtcclxuICAgIGhlaWdodDogMjRweDtcclxufVxyXG5cclxuLnN3aXRjaCBpbnB1dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi5zbGlkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xyXG59XHJcblxyXG4uc2xpZGVyOmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgbGVmdDogM3B4O1xyXG4gICAgYm90dG9tOiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcclxuICAgIHRyYW5zaXRpb246IDAuNHM7XHJcbn1cclxuXHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG59XHJcblxyXG5pbnB1dDpmb2N1cyArIC5zbGlkZXIge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDFweCB2YXIoLS1waW5rKTtcclxufVxyXG5cclxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXI6YmVmb3JlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIycHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMnB4KTtcclxufVxyXG5cclxuLyogUm91bmRlZCBzbGlkZXJzICovXHJcbi5zbGlkZXIucm91bmQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcclxufVxyXG5cclxuLnNsaWRlci5yb3VuZDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUk9XUyBBTkQgQ09MUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbn1cclxuLnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbltjbGFzcyo9J2NvbC0nXSB7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5jb2wtMiB7XHJcbiAgICB3aWR0aDogMTYuNjYlO1xyXG59XHJcbi5jb2wtMyB7XHJcbiAgICB3aWR0aDogMjUlO1xyXG59XHJcbi5jb2wtNCB7XHJcbiAgICB3aWR0aDogMzMuMzMlO1xyXG59XHJcbi5jb2wtNSB7XHJcbiAgICB3aWR0aDogNDEuNjYlO1xyXG59XHJcbi5jb2wtNiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG59XHJcbi5jb2wtOCB7XHJcbiAgICB3aWR0aDogNjYuNjYlO1xyXG59XHJcbi5jb2wtOSB7XHJcbiAgICB3aWR0aDogNzUlO1xyXG59XHJcbi5jb2wtMTAge1xyXG4gICAgd2lkdGg6IDgzLjMzJTtcclxufVxyXG4uY29sLTEyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi8qIFNtYWxsIGRldmljZXMgKHVwIHRvIDc2OHB4KSAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmNvbC1zbS0yIHtcclxuICAgICAgICB3aWR0aDogMTYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS0zIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS00IHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS01IHtcclxuICAgICAgICB3aWR0aDogNDEuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS02IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS04IHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS05IHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS0xMCB7XHJcbiAgICAgICAgd2lkdGg6IDgzLjMzJTtcclxuICAgIH1cclxuICAgIC5jb2wtc20tMTIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgLmNvbC1tZC0yIHtcclxuICAgICAgICB3aWR0aDogMTYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC0zIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC00IHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC01IHtcclxuICAgICAgICB3aWR0aDogNDEuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC02IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC04IHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC05IHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC0xMCB7XHJcbiAgICAgICAgd2lkdGg6IDgzLjMzJTtcclxuICAgIH1cclxuICAgIC5jb2wtbWQtMTIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQUxFUlRTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFsZXJ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLyogdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAxczsgKi9cclxuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uYWxlcnQuc2hvdyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcclxufVxyXG5cclxuLmFsZXJ0LWljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogNXB4O1xyXG59XHJcbi5hbGVydC1tc2cge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmFsZXJ0LXN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3VjY2Vzcy1ncmVlbik7XHJcbn1cclxuLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LW1zZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uYWxlcnQtaWNvbi1zdWNjZXNzIHtcclxuICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzLWdyZWVuKTtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjcpO1xyXG59XHJcblxyXG4uYWxlcnQtd2FybmluZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmZvLW9yYW5nZSk7XHJcbn1cclxuLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LW1zZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uYWxlcnQtaWNvbi13YXJuaW5nIHtcclxuICAgIGNvbG9yOiB2YXIoLS1pbmZvLW9yYW5nZSk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG5cclxuLmFsZXJ0LWluZm8ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWxpZ2h0KTtcclxufVxyXG4uYWxlcnQtaW5mbyAuYWxlcnQtbXNnIHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcbi5hbGVydC1pY29uLWluZm8ge1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1saWdodCk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG5cclxuLmFsZXJ0LWVycm9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbn1cclxuLmFsZXJ0LWVycm9yIC5hbGVydC1tc2cge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbn1cclxuLmFsZXJ0LWljb24tZXJyb3Ige1xyXG4gICAgY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFRBQkxFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxudGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogaGVhZGVyICovXHJcbnRhYmxlIHRoZWFkIHRoIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIGJvZHkgKi9cclxudGFibGUgdGJvZHkgdGQge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbnRhYmxlIHRyIHRkIHtcclxuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcblxyXG50YWJsZSB0Ym9keSB0cjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcblxyXG50YWJsZSBhIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG50YWJsZSBhOmhvdmVyIGkge1xyXG4gICAgb3BhY2l0eTogMC43NTtcclxufVxyXG5cclxuLyogcm91bmQgb25seSB0aGUgb3V0ZXJtb3N0IGNlbGxzICovXHJcbnRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEycHg7XHJcbn1cclxudGFibGUgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcclxufVxyXG5cclxudGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMnB4O1xyXG59XHJcbnRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTJweDtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1PREFMIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm1vZGFsLWJhY2tkcm9wIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGluc2V0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgei1pbmRleDogMTA0MDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLm1vZGFsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBpbnNldDogMDtcclxuICAgIHotaW5kZXg6IDEwNTA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgbWFyZ2luOiAxMCUgYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBtYXgtd2lkdGg6IDkwdnc7XHJcbn1cclxuXHJcbmJvZHkubm8tc2Nyb2xsIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG59XHJcbi5tb2RhbC13LTMwIHtcclxuICAgIHdpZHRoOiAzMGR2dztcclxufVxyXG4ubW9kYWwtdy00MCB7XHJcbiAgICB3aWR0aDogNDBkdnc7XHJcbn1cclxuLm1vZGFsLXctNTAge1xyXG4gICAgd2lkdGg6IDUwZHZ3O1xyXG59XHJcbi5tb2RhbC13LTYwIHtcclxuICAgIHdpZHRoOiA2MGR2dztcclxufVxyXG4ubW9kYWwtdy04MCB7XHJcbiAgICB3aWR0aDogODBkdnc7XHJcbn1cclxuLm1vZGFsLXctMTAwIHtcclxuICAgIHdpZHRoOiAxMDBkdnc7XHJcbn1cclxuLm1vZGFsLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5tb2RhbC10aXRsZSBoMyB7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG4ubW9kYWwtY2xvc2Uge1xyXG4gICAgY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLm1vZGFsIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdWNjZXNzLWdyZWVuKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIHBhZGRpbmc6IDAuNWVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG4ubW9kYWwgLmZvcm0tZ3JvdXAgbGFiZWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuLm1vZGFsIC5mb3JtLWdyb3VwIGlucHV0IHtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuLm1vZGFsIC5mb3JtLWdyb3VwIGlucHV0OmZvY3VzIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBpbmspO1xyXG59XHJcbi5tb2RhbCAuZm9ybS1ncm91cCB0ZXh0YXJlYSB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcbi5tb2RhbCAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1waW5rKTtcclxufVxyXG4ubW9kYWwgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLm1vZGFsLWNvbnRlbnQgZm9ybSB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgfVxyXG4gICAgW2NsYXNzKj0nbW9kYWwtdy0nXSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMGR2dztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU1dFRVRBTEVSVCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5zd2FsMi1wb3B1cCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyaykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAwcHggNTRweCA1NXB4LFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC4xMikgMHB4IC0xMnB4IDMwcHgsIHJnYmEoMCwgMCwgMCwgMC4xMikgMHB4IDRweCA2cHgsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjE3KSAwcHggMTJweCAxM3B4LCByZ2JhKDAsIDAsIDAsIDAuMDkpIDBweCAtM3B4IDVweDtcclxufVxyXG4uc3dhbDItY29uZmlybSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdWNjZXNzLWdyZWVuKSAhaW1wb3J0YW50O1xyXG59XHJcbi5zd2FsMi1jYW5jZWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItcmVkKSAhaW1wb3J0YW50O1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVJST1ItUEFHRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBrZXlmcmFtZXMgZXJyb3JDb2RlQW5taW0ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA0MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuLmVycm9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcbi5lcnJvci1jb2RlIHtcclxuICAgIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGFuaW1hdGlvbjogZXJyb3JDb2RlQW5taW0gMnMgZWFzZSAwcyAxIG5vcm1hbCBmb3J3YXJkcztcclxufVxyXG4uZXJyb3ItdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLmVycm9yLW1lc3NhZ2Uge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLmVycm9yLWxpbmsge1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLlNCVy1idXR0b24ge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCkgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjUpIDBweCA1NHB4IDU1cHgsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggLTEycHggMzBweCwgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggNHB4IDZweCxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMTcpIDBweCAxMnB4IDEzcHgsIHJnYmEoMCwgMCwgMCwgMC4wOSkgMHB4IC0zcHggNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBOQVYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubmF2YmFyIHtcclxuICAgIHotaW5kZXg6IDEwMDtcclxufVxyXG5uYXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogdmFyKC0tbmF2LWhlaWdodCk7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5sb2dvIHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG59XHJcbi5sb2dvIGltZyB7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBtYXJnaW46IDBweCAyMHB4O1xyXG59XHJcbi5uYXYtbWVudSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1heC13aWR0aDogMTAwdnc7XHJcbn1cclxuLm5hdi1tZW51IHVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG59XHJcbi5uYXYtbWVudSB1bCBsaSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuLm5hdi1tZW51IHVsIGxpIGEge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcbi5uYXYtbWVudSB1bCBsaSBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjJzO1xyXG59XHJcbi5uYXYtaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4ubmF2LWljb24gaSB7XHJcbiAgICBtYXJnaW46IDBweCAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG59XHJcbi5oYW1idXJnZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMzBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5oZWFkZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxuICAgIC5sb2dvIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgfVxyXG4gICAgLm5hdi1tZW51IHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmctZGFyayk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDQwcHggODVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC41OSk7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgIH1cclxuICAgIC5uYXYtbWVudS5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIC5uYXYtbWVudSB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIC5uYXYtbWVudSB1bCBsaSBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgfVxyXG4gICAgLmhhbWJ1cmdlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIElOREVYIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmhvbWUtZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luOiAwcHggMjAwcHg7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4uaG9tZS1kZXNjcmlwdGlvbiBhIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uaG9tZS1kZXNjcmlwdGlvbiBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uaG9tZS1sb2dvIHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjM1KSAwcHggNXB4IDE1cHg7XHJcbn1cclxuLmhvbWUtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG4uaW5zdGEtZ2FsbGVyeS1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxufVxyXG4uaW5zdGEtYnRuIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxufVxyXG4uaW5zdGEtZ2FsbGVyeS1jb250YWluZXIgaW1nIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4uaW5zdGEtZ2FsbGVyeS1jb250YWluZXIgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGE6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUkFUSU5HUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5yYXRpbmdzLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxuICAgIGdhcDogMjBweDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbn1cclxuLnJhdGluZ3Mtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4ucmF0aW5nLWl0ZW0ge1xyXG4gICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG59XHJcbi5yYXRpbmcge1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbn1cclxuLnJhdGluZyBpIHtcclxuICAgIG1hcmdpbjogMCAycHg7XHJcbn1cclxuaS5zY3JvbGwtbGVmdCxcclxuaS5zY3JvbGwtcmlnaHQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1NSU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xyXG4gICAgZm9udC1zaXplOiAyZW07XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuaS5zY3JvbGwtbGVmdCB7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcbmkuc2Nyb2xsLXJpZ2h0IHtcclxuICAgIHJpZ2h0OiAwO1xyXG59XHJcbi5yYXRpbmdzIC5ib3gge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zNSkgMHB4IDVweCAxNXB4O1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG59XHJcbi5yYXRpbmdzIC5ib3ggLm5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcbi5yYXRpbmdzIC5ib3ggLnJhdGluZyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSE9NRSBJTUFHRSBHQUxMRVJZIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmdhbGxlcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG59XHJcbi5pbWFnZS1nYWxsZXJ5LWhvbWUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5pbWFnZS13cmFwcGVyIHtcclxuICAgIG1heC13aWR0aDogMTAwMHB4O1xyXG4gICAgaGVpZ2h0OiA2MDBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pbWFnZS13cmFwcGVyIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuaS5uZXh0LWJ1dHRvbixcclxuaS5wcmV2LWJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDYwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XHJcbiAgICBmb250LXNpemU6IDVlbTtcclxuICAgIG1hcmdpbjogMTBweDtcclxufVxyXG5cclxuaS5wcmV2LWJ1dHRvbiB7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG59XHJcblxyXG5pLm5leHQtYnV0dG9uIHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGh1bWJuYWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi50aHVtYm5haWxzIGltZyB7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIGJvcmRlci1jb2xvciAwLjNzO1xyXG59XHJcblxyXG4udGh1bWJuYWlscyBpbWcuYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udGh1bWJuYWlscyBpbWc6aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4uaG9tZS1jb250YWN0LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbn1cclxuLmhvbWUtY29udGFjdC1jb250YWluZXIgaDIge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIG1hcmdpbjogMTBweDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUubCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xyXG59XHJcbi5jb250YWN0LWxpbmstaG9tZS5yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUgaW1nIHtcclxuICAgIG1heC13aWR0aDogNDBweDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUgYSB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5jb250YWN0LWxpbmstaG9tZSBhOmhvdmVyIHtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmhvbWUtY29udGFjdC1jb250YWluZXIgYSB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uaG9tZS1jb250YWN0LWNvbnRhaW5lciBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbn1cclxuLm1hcGJveGdsLWN0cmwtYm90dG9tLXJpZ2h0LFxyXG4ubWFwYm94Z2wtY3RybC1ib3R0b20tbGVmdCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuaG9tZS1sb2dvIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5ob21lLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWNvbnRhY3QtY29udGFpbmVyIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhY3QtbGluay1ob21lLmwsXHJcbiAgICAuY29udGFjdC1saW5rLWhvbWUuciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAudGh1bWJuYWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC5ob21lLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWNvbnRhY3QtY29udGFpbmVyIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1saW5rLWhvbWUubCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1saW5rLWhvbWUuciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE9VUi1TVE9SWSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5zdG9yeS10ZXh0IHtcclxuICAgIG1hcmdpbjogMHB4IDIwMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XHJcbn1cclxuLnN0b3J5LXRleHQgcCB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuLnN0b3J5LXRleHQgcC5iaWcge1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3BlY2lhbC1mb250KTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG5cclxuLyogUGFnaW5hdGlvbiBzdHlsZXMgZm9yIGFkbWluIGNvbnNlbnQgZm9ybXMgKi9cclxuLnBhZ2luYXRpb24td3JhcHBlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5wYWdpbmF0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDhweDtcclxufVxyXG4ucGFnZS1udW1iZXJzLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogNnB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4ucGFnaW5hdGlvbi1jb25kZW5zZWQge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcbi5wYWdlLWxpbmsuZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbn1cclxuLnJhZ2VxdWl0LWJveCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4ucmFnZXF1aXQtYm94IGltZyB7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG59XHJcbi5kZWxldGUtY29uc2VudC1mb3JtIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiB2YXIoLS1lcnJvci1yZWQpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLnN0b3J5LXRleHQge1xyXG4gICAgICAgIG1hcmdpbjogMHB4IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgfVxyXG4gICAgLnJhZ2VxdWl0LWJveCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbiAgICB9XHJcbiAgICAubG9nby1ib3gge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAucmFnZXF1aXQtYm94IGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFSVElTVFMtT1ZFUlZJRVcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uYXJ0aXN0cyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuLmFydGlzdC1wcmV2aWV3IHtcclxuICAgIG1hcmdpbjogMjBweDtcclxufVxyXG4uYXJ0aXN0LXByZXZpZXcgLnRleHQtYm94IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjUpIDBweCA1NHB4IDU1cHgsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggLTEycHggMzBweCwgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggNHB4IDZweCxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMTcpIDBweCAxMnB4IDEzcHgsIHJnYmEoMCwgMCwgMCwgMC4wOSkgMHB4IC0zcHggNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uaW1hZ2UtY29udGFpbmVyIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcclxufVxyXG4uaW1hZ2UtY29udGFpbmVyOmhvdmVyIGltZyB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuLmNlbnRlcmVkLXRleHQge1xyXG4gICAgdGV4dC1zaGFkb3c6IDNweCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG4uY2VudGVyZWQtdGV4dDpob3ZlciB7XHJcbiAgICB0ZXh0LXNoYWRvdzogcmdiYSgxNzksIDExNywgMTk3LCAwLjYpIDBweCAxMHB4IDMwcHg7XHJcbn1cclxuLmNlbnRlcmVkLXRleHQgLm5hbWUge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCg0LjVyZW0sIDMuNXJlbSArIDIuMDgzM3Z3LCA2cmVtKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbn1cclxuLmNlbnRlcmVkLXRleHQgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAxcmVtICsgMS4wNDE3dncsIDIuMjVyZW0pO1xyXG59XHJcbi5jZW50ZXJlZC10ZXh0IC5pbnN0YSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMC42NjY3cmVtICsgMC42OTQ0dncsIDEuNXJlbSk7XHJcbn1cclxuLmluc3RhIGkge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQVJUSVNUUy1ERVRBSUxWSUVXIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFydGlzdC1pbWctY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG4uYXJ0aXN0LWltZy1jb250YWluZXIgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG4uYXJ0aXN0IHAge1xyXG4gICAgbWFyZ2luOiAwcHggMzAwcHg7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4uYXJ0aXN0IGgyIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgbWFyZ2luOiAxMHB4IDBweCAwcHggMHB4O1xyXG59XHJcbi5hcnRpc3Qgc3BhbiB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLmFydGlzdCAuc29jaWFscyBpIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxufVxyXG4uYXJ0aXN0IC5zb2NpYWxzIGk6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmFydGlzdCBwIHtcclxuICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuYXJ0aXN0IHAge1xyXG4gICAgICAgIG1hcmdpbjogMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICB9XHJcbn1cclxuLmFydGlzdCBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcbnVsLmltYWdlLWdhbGxlcnkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4uaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmltYWdlLWdhbGxlcnkgPiBsaSB7XHJcbiAgICAvKiBmYWxsYmFjayAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzNTBweDtcclxuICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICBtYXJnaW46IDAgNXB4IDEwcHggNXB4O1xyXG4gICAgLyogZW5kIGZhbGxiYWNrICovXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XHJcbiAgICAuaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtZ2FsbGVyeSA+IGxpIHtcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWdhbGxlcnk6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgIH1cclxuICAgIC5pbWFnZS1nYWxsZXJ5IGxpIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbWFnZS1nYWxsZXJ5IGxpIGltZyB7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIG1heC13aWR0aDogMTQwJTtcclxuICAgIGhlaWdodDogMTQwJTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG4uaW1hZ2UtZ2FsbGVyeSBsaTpob3ZlciBpbWcge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLWdhbGxlcnkgPiBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIC5pbWFnZS1nYWxsZXJ5ID4gbGkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMHZ3O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtZ2FsbGVyeTo6YWZ0ZXIge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMHZ3O1xyXG4gICAgfVxyXG59XHJcblxyXG4jb3ZlcmxheSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiB2YXIoLS1uYXYtaGVpZ2h0KTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbn1cclxuXHJcbiNwcmV2QnRuLFxyXG4jbmV4dEJ0bixcclxuI2Nsb3NlQnRuIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4jcHJldkJ0bixcclxuI25leHRCdG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuXHJcbiNwcmV2QnRuIHtcclxuICAgIGxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbiNuZXh0QnRuIHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4jY2xvc2VCdG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbiNvdmVybGF5SW1nIHtcclxuICAgIG1heC13aWR0aDogOTAlO1xyXG4gICAgbWF4LWhlaWdodDogOTAlO1xyXG59XHJcblxyXG4vKiBBZGRpdGlvbmFsIHN0eWxlcyBmb3IgdGhlIG92ZXJsYXkgdHJhbnNpdGlvbiAqL1xyXG4jb3ZlcmxheUltZyB7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuI292ZXJsYXlJbWc6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG59XHJcbiNnYWxsZXJ5TW9iaWxlLmltYWdlLWdhbGxlcnkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICNnYWxsZXJ5LnBzd3AtZ2FsbGVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICNnYWxsZXJ5TW9iaWxlLmltYWdlLWdhbGxlcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICNwcmV2QnRuLFxyXG4gICAgI25leHRCdG4sXHJcbiAgICAjY2xvc2VCdG4ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAjZ2FsbGVyeS5wc3dwLWdhbGxlcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAjZ2FsbGVyeU1vYmlsZS5pbWFnZS1nYWxsZXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUElFUkNJTkcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ucGllcmNpbmctYm94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLnBpZXJjaW5nLWJveCBbY2xhc3MqPSdjb2wtJ10ge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxufVxyXG4ucGllcmNpbmctYm94IC5jb2wtc20tMTIge1xyXG4gICAgcGFkZGluZzogMHB4IDEwcHg7XHJcbn1cclxuLnBpZXJjZXItaW1nIHtcclxuICAgIG1hcmdpbjogMjBweDtcclxuICAgIHdpZHRoOiA5NSU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjM1KSAwcHggNXB4IDE1cHg7XHJcbn1cclxuLnBpZXJjaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4ucGllcmNpbmcgLm5hbWUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5waWVyY2luZyB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIH1cclxuICAgIC5waWVyY2luZyAucHJpY2Uge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG59XHJcbi5ib3gtbGluayB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xyXG4gICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLyA1KTtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLmJveC1saW5rIGltZy5pY29uIHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5ib3gtbGluayBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5ib3gtbGluazpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxufVxyXG5cclxuLmJveC1saW5rOmhvdmVyIGltZy5pY29uIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbn1cclxuXHJcbi5ib3gtZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiAxcmVtO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLnBpZXJjaW5nLWljb24ge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuYm94LWxpbmsge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyk7XHJcbiAgICB9XHJcbiAgICAuYm94LWdyaWQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUT09USC1HRU1TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmZvbGxvdy1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBtYXJnaW46IDEwcHggYXV0bztcclxufVxyXG4uZm9sbG93LWJ0bjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxufVxyXG4uZm9sbG93LWJ0biBpbWcge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5mb2xsb3ctYnRuIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5mb2xsb3ctYnRuIGE6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRkFRIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFjY29yZGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbmF2LWhlaWdodCk7XHJcbn1cclxuLmFjY29yZGlvbi1pdGVtIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBpbmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbWFyZ2luOiAyMHB4IDIwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XHJcbn1cclxuLmFjY29yZGlvbi1pdGVtLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3BlY2lhbC1mb250KTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0taGVhZGVyIHAge1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbn1cclxuLmFjY29yZGlvbi1pdGVtLWhlYWRlciBpIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0tY29udGVudCB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjhzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5hY2NvcmRpb24taXRlbS1jb250ZW50Lm9wZW4ge1xyXG4gICAgbWF4LWhlaWdodDogMjUwMHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0tY29udGVudCB1bCBsaSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5yb3RhdGUtMTgwIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjVzO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS1jb250ZW50IHtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtLWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENPTlRBQ1QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4jbWFwIHtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIGhlaWdodDogNDAwcHg7XHJcbn1cclxuLmN1c3RvbS1uZWVkbGUtbWFya2VyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3d3dy5yYWdlcXVpdHRhdHRvby5jaC9pbWFnZXMvbG9nby9sb2dvc19uZXcvcnFfbmV1X3doaXRlLnBuZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5jdXN0b20tbmVlZGxlLW1hcmtlcjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDBweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLWJvdHRvbSAubWFwYm94Z2wtcG9wdXAtdGlwIHtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXBpbmspICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGluaykgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDEwcHggMzBweCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbn1cclxuLmN1cnJlbnQtZGF5IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbn1cclxuLmNvbnRhY3Qge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcbi5jb250YWN0IGEge1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcclxufVxyXG4uY29udGFjdCBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5vcGVuaW5nLWhvdXJzIHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4ub3BlbmluZy1ob3VycyBoMiB7XHJcbiAgICBtYXJnaW46IDVweCAwcHg7XHJcbn1cclxuLm9wZW5pbmctaG91cnMgPiAuY29sLTY6Zmlyc3QtY2hpbGQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5vcGVuaW5nLWhvdXJzID4gLmNvbC02OmZpcnN0LWNoaWxkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGT09URVIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5mb290ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbn1cclxuLmZvb3Rlci10aXRsZSB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3BlY2lhbC1mb250KTtcclxufVxyXG4uZm9vdGVyLWFkcmVzcyB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5mb290ZXItYWRyZXNzIGgyIHtcclxuICAgIG1hcmdpbjogNXB4IDBweDtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG59XHJcbi5mb290ZXItYWRyZXNzIGEge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5mb290ZXItYWRyZXNzIGltZyB7XHJcbiAgICBwYWRkaW5nOiAwcHggNXB4O1xyXG4gICAgaGVpZ2h0OiAycmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcbi5mb290ZXItc29jaWFscyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5mb290ZXItc29jaWFscyBhIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmZvb3Rlci1zcG9uc29yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgY29sb3I6ICNmMWQyODM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5mb290ZXItc3BvbnNvciBpbWcge1xyXG4gICAgbWF4LWhlaWdodDogMzVweDtcclxuICAgIG1hcmdpbjogMTBweCAwcHg7XHJcbn1cclxuLmZvb3Rlci1zb2NpYWxzIGE6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG4uZm9vdGVyLWFkcmVzcyA+IC5jb2wtNjpmaXJzdC1jaGlsZCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG4ub3BlbmluZy1ob3VyIFtjbGFzcyo9J2NvbC0nXSxcclxuLmFkZHJlc3MtYmxvY2sgaDIsXHJcbi5hZGRyZXNzLWJsb2NrIHAsXHJcbi5vcGVuaW5nLWhvdXJzLWZvb3RlciBoMiB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmZvb3Rlci1hZHJlc3MgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIH1cclxuICAgIC5mb290ZXItYWRyZXNzIC5jb2wtc20tMTIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBMT0dJTi1TRUNUSU9OIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubG9naW4tZm9ybSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4ubG9naW4tZm9ybSAuY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb3JtLWdyb3VwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uZm9ybS1sYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuLmxvZ2luLWZvcm0gLmZvcm0taW5wdXQge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJnLWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcbi5sb2dpbi1mb3JtIC5mb3JtLWlucHV0OmZvY3VzIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJnLWRhcmspO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmxvZ2luLWZvcm0gLnJlbWVtYmVyLW1lIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5sb2dpbi1mb3JtIC5yZW1lbWJlci1tZSBpbnB1dCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxufVxyXG5cclxuLmJ0bi1sb2dpbiB7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5sb2dpbi1mb3JtIC5jYXJkIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQURNSU4tU0VDVElPTiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFkbWluLWRhc2hib2FyZCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5hZG1pbi1kYXNoYm9hcmQgaDIge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcbi5kYXNoYm9hcmQtc2VjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgZmxleDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5kYXNoYm9hcmQtc2VjdGlvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxuICAgIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuM3M7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLm5vLXJlc3VsdHMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQURNSU4tU0VDVElPTi1QSUVSQ0lOR1MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5waWVyY2luZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiAxLjVyZW07XHJcbiAgICBwYWRkaW5nOiAxLjVyZW07XHJcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4ucGllcmNpbmctY2FyZCB7XHJcbiAgICBmbGV4OiAxIDEgMjIwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG5cclxuLnBpZXJjaW5nLWNhcmQ6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4ucGllcmNpbmctY2FyZCBpbWcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ucGllcmNpbmctaW5mbyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbn1cclxuXHJcbi5waWVyY2luZy1uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxufVxyXG5cclxuLnBpZXJjaW5nLXR5cGUge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbi5waWVyY2luZy1wcmljZSB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbWFyZ2luLXRvcDogMC40cmVtO1xyXG59XHJcblxyXG4uZWRpdC1idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDZweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmVkaXQtYnRuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhc3RlbC1wdXJwbGUpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgIC5waWVyY2luZy1jYXJkIHtcclxuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENPTlNFTlQtRk9STSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmNvbnNlbnQtZm9ybSxcclxuLmNvbnNlbnQtZm9ybSAqIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIHByZXZlbnRzIG92ZXJsYXAgKi9cclxuICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4uY29uc2VudC1mb3JtIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA3MjBweDtcclxuICAgIG1hcmdpbjogMTZweCBhdXRvO1xyXG4gICAgcGFkZGluZzogMTZweDtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICBnYXA6IDEycHggMTRweDtcclxufVxyXG5cclxuLyogZWFjaCBmaWVsZCBibG9jayAqL1xyXG4uY29uc2VudC1mb3JtIC5mb3JtLWdyb3VwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiA2cHg7XHJcbn1cclxuXHJcbi5jb25zZW50LWZvcm0gLmZvcm0tZ3JvdXBbZGF0YS1xdWVzdGlvbj0ncHJvY2VkdXJlVHlwZSddLFxyXG4uY29uc2VudC1mb3JtIC5mb3JtLWdyb3VwW2RhdGEtcXVlc3Rpb249J3NwZWNpZmljQ29tbWVudHMnXSxcclxuLmNvbnNlbnQtZm9ybSAuZm9ybS1ncm91cFtkYXRhLXR5cGU9J3JhZGlvJ10ge1xyXG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcclxufVxyXG5cclxuLyogbGFiZWxzICovXHJcbi5jb25zZW50LWZvcm0gbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIGlucHV0cy9zZWxlY3QvdGV4dGFyZWEgKi9cclxuLmNvbnNlbnQtZm9ybSAuZm9ybS1jb250cm9sIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogNDRweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLmNvbnNlbnQtZm9ybSAuZm9ybS1jb250cm9sOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFzdGVsLXB1cnBsZSk7XHJcbn1cclxuXHJcbi8qIHJhZGlvIGxheW91dCAqL1xyXG4uY29uc2VudC1mb3JtIC5yYWRpby1ncm91cCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAxMnB4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uY29uc2VudC1mb3JtIC5yYWRpby1sYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDZweDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLyogbGVnYWwgdGV4dCAqL1xyXG4uY29uc2VudC1mb3JtIHAge1xyXG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcclxuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBtYXJnaW46IDZweCAwIDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XHJcbn1cclxuXHJcbi8qIHN1Ym1pdCBidXR0b24gKi9cclxuLmNvbnNlbnQtZm9ybSBidXR0b25bdHlwZT0nc3VibWl0J10ge1xyXG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcclxuICAgIG1pbi1oZWlnaHQ6IDQ2cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waW5rKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5jb25zZW50LWZvcm0gYnV0dG9uW3R5cGU9J3N1Ym1pdCddOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXBhc3RlbC1wdXJwbGUpO1xyXG59XHJcbi5jb25zZW50LWZvcm0gI3NpZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbn1cclxuLmNvbnNlbnQtZm9ybSAuc2lnbmF0dXJlLWNvbnRhaW5lciBidXR0b24ge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmNvbnNlbnQtZm9ybSAuc2lnbmF0dXJlLWNvbnRhaW5lciBidXR0b246Zmlyc3QtY2hpbGQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1ncmVlbik7XHJcbn1cclxuLmNvbnNlbnQtZm9ybSAuc2lnbmF0dXJlLWNvbnRhaW5lciBidXR0b246bGFzdC1jaGlsZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvci1yZWQpO1xyXG59XHJcbi8qID09PT09IE1vYmlsZSA9PT09PSAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgIC5jb25zZW50LWZvcm0ge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyAvKiBzaW5nbGUgY29sdW1uICovXHJcbiAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnNlbnQtZm9ybSAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IC8qIHByZXZlbnRzIGlPUyBhdXRvLXpvb20gKi9cclxuICAgIH1cclxufVxyXG5cclxuLyogT3B0aW9uYWw6IG1ha2UgY2VydGFpbiBncm91cHMgZnVsbC13aWR0aCBieSBhZGRpbmcgY2xhc3M9XCJmdWxsXCIgKi9cclxuLmNvbnNlbnQtZm9ybSAuZm9ybS1ncm91cC5mdWxsIHtcclxuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XHJcbn1cclxuXHJcbi5pbnB1dC1lcnJvciB7XHJcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZXJyb3ItcmVkKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLmlucHV0LWVycm9yLW1zZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tZXJyb3ItcmVkKTtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuLnBhZ2luYXRpb24gYSB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbn1cclxuLnBhZ2luYXRpb24gYTpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXIuY3VycmVudCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ09OU0VOVC1GT1JNLUFETUlOLURFVEFJTCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLnBkZi12aWV3IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogOTAwcHg7XHJcbn1cclxuXHJcbiNnYWxsZXJ5SW1hZ2VzQWRtaW4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGdhcDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxufVxyXG5cclxuLyogZml4ZWQgdGh1bWJuYWlsIGJveCAqL1xyXG4uZ2FsbGVyeS1pbWFnZS1hZG1pbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGFuY2hvciBmb3IgdGhlIFggKi9cclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG59XHJcbi50b29sIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogYW5jaG9yIGZvciB0aGUgWCAqL1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG59XHJcbi50b29sIGltZyxcclxuLmdhbGxlcnktaW1hZ2UtYWRtaW4gaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7IC8qIHRodW1ibmFpbCBjcm9wICovXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyogZGVsZXRlIFggcGlubmVkIHRvIHRvcC1yaWdodCBvZiB0aGUgdGh1bWJuYWlsIGJveCAqL1xyXG4udG9vbC1kZWxldGUsXHJcbi5kZWxldGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA0cHg7XHJcbiAgICByaWdodDogNHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnRvb2wtZGVsZXRlOmhvdmVyLFxyXG4uZGVsZXRlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLXJlZCk7XHJcbn1cclxuLyogTGF5b3V0ICsgdHlwb2dyYXBoeSAqL1xyXG4uY29uc2VudC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxufVxyXG5cclxuLnBhZ2UtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDN2dywgMi4ycmVtKTtcclxuICAgIG1hcmdpbjogMXJlbSAwIDEuMjVyZW07XHJcbn1cclxuXHJcbi5zZWN0aW9uLWNhcmQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwLjlyZW07XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWJvZHkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDAuMzVyZW07XHJcbn1cclxuXHJcbi5kZXRhaWwtcm93IHtcclxuICAgIHBhZGRpbmc6IDAuM3JlbSAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG59XHJcblxyXG4uZGV0YWlsLXJvdzpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbn1cclxuXHJcbi5kZXRhaWwtbGFiZWwge1xyXG4gICAgb3BhY2l0eTogMC43NTtcclxuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcclxufVxyXG5cclxuLmRldGFpbC12YWx1ZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi5tdXRlZC10ZXh0IHtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcclxufVxyXG5cclxuLyogVG9vbHMgZ3JpZCAqL1xyXG4udG9vbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDExMHB4LCAxZnIpKTtcclxuICAgIGdhcDogMC43NXJlbTtcclxuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XHJcbn1cclxuXHJcbi50b29sLWNhcmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcclxufVxyXG5cclxuLnRvb2wtaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlO1xyXG59XHJcblxyXG4udG9vbC1jYXJkOmhvdmVyIC50b29sLWltZyB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpO1xyXG59XHJcblxyXG4udG9vbC1kZWxldGUtYnRuIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNnB4O1xyXG4gICAgcmlnaHQ6IDZweDtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNjUpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlLCB0cmFuc2Zvcm0gMTQwbXMgZWFzZTtcclxufVxyXG5cclxuLnRvb2wtZGVsZXRlLWJ0bjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcclxufVxyXG5cclxuLyogVXBsb2FkIGFyZWEgKi9cclxuLmVuaGFuY2VkLXVwbG9hZCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG59XHJcbi51cGxvYWQtaW5wdXQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4udXBsb2FkLWRyb3B6b25lIHtcclxuICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZGFyayk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMS4xcmVtIDFyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcclxuICAgIGdhcDogMC45cmVtO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsXHJcbiAgICAgICAgdHJhbnNmb3JtIDEyMG1zIGVhc2U7XHJcbn1cclxuLnVwbG9hZC1kcm9wem9uZTpob3ZlciB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuLnVwbG9hZC1pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG59XHJcbi51cGxvYWQtdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMC4ycmVtO1xyXG59XHJcbi51cGxvYWQtdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG4udXBsb2FkLXN1YnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG59XHJcbi51cGxvYWQtYWN0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG4udXBsb2FkLWJ0biB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMC41NXJlbSAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLyogUERGIGFyZWEgKi9cclxuLnBkZi13cmFwIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgaGVpZ2h0OiBtaW4oODB2aCwgOTAwcHgpO1xyXG59XHJcblxyXG4ucGRmLXZpZXcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA2MHZoO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4vKiBOaWNlIG9uIGRlc2t0b3A6IGtlZXAgUERGIGluIHZpZXcgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAuc3RpY2t5LXBkZiB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICB0b3A6IDEuMjVyZW07XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1jYXJkIHtcclxuICAgICAgICBtYXJnaW46IDFyZW07XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAudG9vbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tY2FyZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENPTlNFTlQtRk9STS1BRE1JTi1PVkVSVklFVyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogUGFnZSArIGNvbnRhaW5lcnMgKi9cclxuLmNvbnNlbnQtbGlzdC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxufVxyXG5cclxuLyogRmlsdGVyIGJhciAqL1xyXG4uc2VjdGlvbi1jYXJkLmZpbHRlci1iYXIge1xyXG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMXJlbSAwcmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuLmZpbHRlci1iYXIge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogMC43NXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDAuNnJlbTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmZpbHRlci1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcclxufVxyXG4uZmlsdGVyLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmZpbHRlci1pdGVtLmdyb3cge1xyXG4gICAgZmxleDogMSAxIDI0MHB4O1xyXG59XHJcblxyXG4uZmlsdGVyLWlucHV0LFxyXG4uZmlsdGVyLXNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogMTQwcHg7XHJcbiAgICBwYWRkaW5nOiAwLjU1cmVtIDAuN3JlbTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBmb250LXNpemU6IDAuOThyZW07XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMgZWFzZSwgYmFja2dyb3VuZCAxNDBtcyBlYXNlO1xyXG59XHJcblxyXG4uZmlsdGVyLWlucHV0OmZvY3VzLFxyXG4uZmlsdGVyLXNlbGVjdDpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZGFyayk7XHJcbn1cclxuXHJcbi5jaGVja2JveC1pdGVtIHtcclxuICAgIHBhZGRpbmctbGVmdDogMC4ycmVtO1xyXG59XHJcblxyXG4uY2hlY2tib3gtbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjVyZW07XHJcbiAgICBmb250LXNpemU6IDAuOThyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jbGVhci1idG4ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjlyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4vKiBEZXNrdG9wIHRhYmxlICovXHJcbi5kZXNrdG9wLXRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxufVxyXG5cclxuLmRlc2t0b3AtdGFibGUgdGJvZHkgdHIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxufVxyXG5cclxuLmRlc2t0b3AtdGFibGUgdGJvZHkgdGQge1xyXG4gICAgcGFkZGluZzogMC45cmVtIDAuNzVyZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uZGVza3RvcC10YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5kZXNrdG9wLXRhYmxlIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEycHg7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTJweDtcclxufVxyXG5cclxuLnBkZi1saW5rIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDM0cHg7XHJcbiAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXBpbmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE0MG1zIGVhc2UsIHRyYW5zZm9ybSAxNDBtcyBlYXNlO1xyXG59XHJcblxyXG4ucGRmLWxpbms6aG92ZXIge1xyXG4gICAgZmlsdGVyOiBvcGFjaXR5KDAuOCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuXHJcbi5hY3Rpb24tYnRuIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwLjQ1cmVtIDAuNzVyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLyogTW9iaWxlIGNhcmRzICovXHJcbi5tb2JpbGUtY2FyZHMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGdhcDogMC44cmVtO1xyXG59XHJcblxyXG4uY29uc2VudC1jYXJkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6IDAuNzVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjk1cmVtO1xyXG59XHJcblxyXG4uY2FyZC1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjZyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5jYXJkLWRhdGUge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBvcGFjaXR5OiAwLjc1O1xyXG59XHJcblxyXG4uY2FyZC1ib2R5IHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6IDAuNDVyZW07XHJcbn1cclxuXHJcbi5jYXJkLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMTBweCAxZnI7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxufVxyXG5cclxuLmNhcmQtcm93IC5sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5jYXJkLXJvdyAudmFsdWUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG4uY2FyZC1hY3Rpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDAuNXJlbTtcclxufVxyXG5cclxuLyogU2hhcmVkICovXHJcbi5lcnJvci10ZXh0IHtcclxuICAgIGNvbG9yOiB2YXIoLS1lcnJvci1yZWQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLm11dGVkLXRleHQge1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIHN3aXRjaDogY2FyZHMgb24gc21hbGwgc2NyZWVucywgdGFibGUgb24gbGFyZ2UgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgICAuZGVza3RvcC10YWJsZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5tb2JpbGUtY2FyZHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGQVEtQURNSU4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5mYXEtYWN0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5mYXEtYWN0aW9ucyAuZmFxLWFjdGlvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG4uZmFxLWFjdGlvbnMgLmZhcS1hY3Rpb24uZmFxLWRlbGV0ZSB7XHJcbiAgICBjb2xvcjogdmFyKC0tZXJyb3ItcmVkKTtcclxufVxyXG4uYW5zd2VyLXJvdyB0ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuLmFuc3dlci1yb3cge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcclxufVxyXG4jYWRkQW5zd2VyQnRuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuLnJlbW92ZS1hbnN3ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItcmVkKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcbi5yZW1vdmUtYW5zd2VyOmhvdmVyLFxyXG4jYWRkQW5zd2VyQnRuOmhvdmVyIHtcclxuICAgIGZpbHRlcjogb3BhY2l0eSgwLjgpO1xyXG59XHJcbiNuZXdGYXFCdG4ge1xyXG4gICAgbWFyZ2luOiAxMHB4IDIwMHB4O1xyXG59XHJcbiJdfQ== */