@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);
}
/* ---------------------------------------- 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;
}
/* ---------------------------------------- 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);
}
/* ---------------------------------------- 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);
}
.ragequit-box {
    margin-bottom: 100px;
    text-align: center;
}
.ragequit-box img {
    height: 300px;
}
@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;
    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;
}
/* --------------------------------------------------- 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%;
    }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbWJpbmVkLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJjb21iaW5lZC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmViYXMrTmV1ZSZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbjpyb290IHtcclxuICAgIC0tYmctZGFyazogIzAwMDAwMDtcclxuICAgIC0tYWNjZW50LWRhcms6ICM2MTU4NjA7XHJcbiAgICAtLWFjY2VudC1saWdodDogI2QzOTljYztcclxuICAgIC0tZm9udC1kYXJrOiAjMjQyNDI0O1xyXG4gICAgLS1mb250LWxpZ2h0OiAjZmZmZmZmO1xyXG5cclxuICAgIC0tcGV0cm9sOiAjMGE1YjVjO1xyXG4gICAgLS1wYXN0ZWwtZ3JlZW46ICNjNmU1ZTQ7XHJcbiAgICAtLXBhc3RlbC1wdXJwbGU6ICNkMmMwZDg7XHJcbiAgICAtLXBpbms6ICNmNmI5Y2E7XHJcblxyXG4gICAgLS1lcnJvci1yZWQ6ICNlNTczNzM7XHJcbiAgICAtLXN1Y2Nlc3MtZ3JlZW46ICM4MWM3ODQ7XHJcbiAgICAtLWluZm8tb3JhbmdlOiAjZmZiNzRkO1xyXG5cclxuICAgIC0tbmF2LWhlaWdodDogODBweDtcclxuICAgIC0tZm9vdGVyLWhlaWdodDogMjAwcHg7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgIC0tc3BlY2lhbC1mb250OiAnQmViYXMgTmV1ZScsIHNhbnMtc2VyaWY7XHJcbn1cclxuYm9keSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgbWF4LXdpZHRoOiAxMDB2dztcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLm1haW4ge1xyXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSArIDIwcHgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4udGFjIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4udGFyIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5md2Ige1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcbi5mb250LWxpZ2h0IHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4ubWItMCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5tdC0wIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICB9XHJcbiAgICAuaGlkZS1zbSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4uZmx5LWluIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLW91dCwgb3BhY2l0eSAwLjVzIGVhc2Utb3V0O1xyXG59XHJcbi5mbHktaW4uYW5pbWF0ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQlVUVE9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5jZW50ZXItYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmNlbnRlci1idXR0b24gYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuYnV0dG9uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uYnRuIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcbi5idG4tbGlnaHQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uYnRuLWRhcmsge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbn1cclxuLmJ0bi1saWdodDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuMnM7XHJcbn1cclxuLmJ0bi1kYXJrOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjJzO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUk9XUyBBTkQgQ09MUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbn1cclxuLnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbltjbGFzcyo9J2NvbC0nXSB7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5jb2wtMiB7XHJcbiAgICB3aWR0aDogMTYuNjYlO1xyXG59XHJcbi5jb2wtMyB7XHJcbiAgICB3aWR0aDogMjUlO1xyXG59XHJcbi5jb2wtNCB7XHJcbiAgICB3aWR0aDogMzMuMzMlO1xyXG59XHJcbi5jb2wtNSB7XHJcbiAgICB3aWR0aDogNDEuNjYlO1xyXG59XHJcbi5jb2wtNiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG59XHJcbi5jb2wtOCB7XHJcbiAgICB3aWR0aDogNjYuNjYlO1xyXG59XHJcbi5jb2wtOSB7XHJcbiAgICB3aWR0aDogNzUlO1xyXG59XHJcbi5jb2wtMTAge1xyXG4gICAgd2lkdGg6IDgzLjMzJTtcclxufVxyXG4uY29sLTEyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi8qIFNtYWxsIGRldmljZXMgKHVwIHRvIDc2OHB4KSAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmNvbC1zbS0yIHtcclxuICAgICAgICB3aWR0aDogMTYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS0zIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS00IHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS01IHtcclxuICAgICAgICB3aWR0aDogNDEuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS02IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS04IHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS05IHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS0xMCB7XHJcbiAgICAgICAgd2lkdGg6IDgzLjMzJTtcclxuICAgIH1cclxuICAgIC5jb2wtc20tMTIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgLmNvbC1tZC0yIHtcclxuICAgICAgICB3aWR0aDogMTYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC0zIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC00IHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC01IHtcclxuICAgICAgICB3aWR0aDogNDEuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC02IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC04IHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC05IHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC0xMCB7XHJcbiAgICAgICAgd2lkdGg6IDgzLjMzJTtcclxuICAgIH1cclxuICAgIC5jb2wtbWQtMTIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQUxFUlRTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFsZXJ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLyogdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAxczsgKi9cclxuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uYWxlcnQuc2hvdyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcclxufVxyXG5cclxuLmFsZXJ0LWljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogNXB4O1xyXG59XHJcbi5hbGVydC1tc2cge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmFsZXJ0LXN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3VjY2Vzcy1ncmVlbik7XHJcbn1cclxuLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LW1zZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uYWxlcnQtaWNvbi1zdWNjZXNzIHtcclxuICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzLWdyZWVuKTtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjcpO1xyXG59XHJcblxyXG4uYWxlcnQtd2FybmluZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmZvLW9yYW5nZSk7XHJcbn1cclxuLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LW1zZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uYWxlcnQtaWNvbi13YXJuaW5nIHtcclxuICAgIGNvbG9yOiB2YXIoLS1pbmZvLW9yYW5nZSk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG5cclxuLmFsZXJ0LWluZm8ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWxpZ2h0KTtcclxufVxyXG4uYWxlcnQtaW5mbyAuYWxlcnQtbXNnIHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcbi5hbGVydC1pY29uLWluZm8ge1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1saWdodCk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG5cclxuLmFsZXJ0LWVycm9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbn1cclxuLmFsZXJ0LWVycm9yIC5hbGVydC1tc2cge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbn1cclxuLmFsZXJ0LWljb24tZXJyb3Ige1xyXG4gICAgY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVSUk9SLVBBR0UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5Aa2V5ZnJhbWVzIGVycm9yQ29kZUFubWltIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMzAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNjUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgfVxyXG59XHJcbi5lcnJvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4uZXJyb3ItY29kZSB7XHJcbiAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBhbmltYXRpb246IGVycm9yQ29kZUFubWltIDJzIGVhc2UgMHMgMSBub3JtYWwgZm9yd2FyZHM7XHJcbn1cclxuLmVycm9yLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcbi5lcnJvci1tZXNzYWdlIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcbi5lcnJvci1saW5rIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5TQlctYnV0dG9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAwcHggNTRweCA1NXB4LFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC4xMikgMHB4IC0xMnB4IDMwcHgsIHJnYmEoMCwgMCwgMCwgMC4xMikgMHB4IDRweCA2cHgsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjE3KSAwcHggMTJweCAxM3B4LCByZ2JhKDAsIDAsIDAsIDAuMDkpIDBweCAtM3B4IDVweCAhaW1wb3J0YW50O1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTkFWIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm5hdmJhciB7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbn1cclxubmF2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IHZhcigtLW5hdi1oZWlnaHQpO1xyXG4gICAgcGFkZGluZzogMHB4IDEwcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG4ubG9nbyB7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxufVxyXG4ubG9nbyBpbWcge1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgbWFyZ2luOiAwcHggMjBweDtcclxufVxyXG4ubmF2LW1lbnUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG59XHJcbi5uYXYtbWVudSB1bCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDBweDtcclxufVxyXG4ubmF2LW1lbnUgdWwgbGkge1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG59XHJcbi5uYXYtbWVudSB1bCBsaSBhIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4ubmF2LW1lbnUgdWwgbGkgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgdHJhbnNpdGlvbjogZWFzZS1pbi1vdXQgMC4ycztcclxufVxyXG4ubmF2LWljb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLm5hdi1pY29uIGkge1xyXG4gICAgbWFyZ2luOiAwcHggMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxufVxyXG4uaGFtYnVyZ2VyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuaGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICB9XHJcbiAgICAubG9nbyBpbWcge1xyXG4gICAgICAgIGhlaWdodDogNzBweDtcclxuICAgIH1cclxuICAgIC5uYXYtbWVudSB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJnLWRhcmspO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDNweCA0MHB4IDg1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuNTkpO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XHJcbiAgICB9XHJcbiAgICAubmF2LW1lbnUuYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgICAubmF2LW1lbnUgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgICAubmF2LW1lbnUgdWwgbGkgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIH1cclxuICAgIC5oYW1idXJnZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBJTkRFWCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5ob21lLWRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbjogMHB4IDIwMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmhvbWUtZGVzY3JpcHRpb24gYSB7XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmhvbWUtZGVzY3JpcHRpb24gYTpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tcGFzdGVsLXB1cnBsZSk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmhvbWUtbG9nbyB7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zNSkgMHB4IDVweCAxNXB4O1xyXG59XHJcbi5ob21lLXRleHQge1xyXG4gICAgZm9udC1zaXplOiA2cmVtO1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuLmluc3RhLWJ0biB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5pbnN0YS1nYWxsZXJ5LWNvbnRhaW5lciBidXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG59XHJcbi5pbnN0YS1nYWxsZXJ5LWNvbnRhaW5lciBidXR0b246aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFzdGVsLXB1cnBsZSk7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGltZyB7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5pbnN0YS1nYWxsZXJ5LWNvbnRhaW5lciBhOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFJBVElOR1MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ucmF0aW5ncy13cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG59XHJcbi5yYXRpbmdzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnJhdGluZy1pdGVtIHtcclxuICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxufVxyXG4ucmF0aW5nIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG59XHJcbi5yYXRpbmcgaSB7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG59XHJcbmkuc2Nyb2xsLWxlZnQsXHJcbmkuc2Nyb2xsLXJpZ2h0IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTUlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG59XHJcbmkuc2Nyb2xsLWxlZnQge1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5pLnNjcm9sbC1yaWdodCB7XHJcbiAgICByaWdodDogMDtcclxufVxyXG4ucmF0aW5ncyAuYm94IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMzUpIDBweCA1cHggMTVweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxufVxyXG4ucmF0aW5ncyAuYm94IC5uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG4ucmF0aW5ncyAuYm94IC5yYXRpbmcge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEhPTUUgSU1BR0UgR0FMTEVSWSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5nYWxsZXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxufVxyXG4uaW1hZ2UtZ2FsbGVyeS1ob21lIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uaW1hZ2Utd3JhcHBlciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaW1hZ2Utd3JhcHBlciBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbmkubmV4dC1idXR0b24sXHJcbmkucHJldi1idXR0b24ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA2MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xyXG4gICAgZm9udC1zaXplOiA1ZW07XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuXHJcbmkucHJldi1idXR0b24ge1xyXG4gICAgbGVmdDogMTBweDtcclxufVxyXG5cclxuaS5uZXh0LWJ1dHRvbiB7XHJcbiAgICByaWdodDogMTBweDtcclxufVxyXG5cclxuLnRodW1ibmFpbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiAxMHB4O1xyXG59XHJcblxyXG4udGh1bWJuYWlscyBpbWcge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCBib3JkZXItY29sb3IgMC4zcztcclxufVxyXG5cclxuLnRodW1ibmFpbHMgaW1nLmFjdGl2ZSB7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnRodW1ibmFpbHMgaW1nOmhvdmVyIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuLmhvbWUtY29udGFjdC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG59XHJcbi5ob21lLWNvbnRhY3QtY29udGFpbmVyIGgyIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiA1cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuLmNvbnRhY3QtbGluay1ob21lLmwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUuciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbn1cclxuLmNvbnRhY3QtbGluay1ob21lIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDQwcHg7XHJcbn1cclxuLmNvbnRhY3QtbGluay1ob21lIGEge1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUgYTpob3ZlciB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5ob21lLWNvbnRhY3QtY29udGFpbmVyIGEge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbn1cclxuLmhvbWUtY29udGFjdC1jb250YWluZXIgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG59XHJcbi5tYXBib3hnbC1jdHJsLWJvdHRvbS1yaWdodCxcclxuLm1hcGJveGdsLWN0cmwtYm90dG9tLWxlZnQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmhvbWUtbG9nbyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuaG9tZS10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDRyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDIwcHggMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaG9tZS1jb250YWN0LWNvbnRhaW5lciBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaG9tZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jb250YWN0LWxpbmstaG9tZS5sLFxyXG4gICAgLmNvbnRhY3QtbGluay1ob21lLnIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnRodW1ibmFpbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuaG9tZS10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDRyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDIwcHggMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaG9tZS1jb250YWN0LWNvbnRhaW5lciBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaG9tZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhY3QtbGluay1ob21lLmwge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhY3QtbGluay1ob21lLnIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBPVVItU1RPUlkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uc3RvcnktdGV4dCB7XHJcbiAgICBtYXJnaW46IDBweCAyMDBweDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xyXG59XHJcbi5zdG9yeS10ZXh0IHAge1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG59XHJcbi5zdG9yeS10ZXh0IHAuYmlnIHtcclxuICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbn1cclxuLnJhZ2VxdWl0LWJveCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4ucmFnZXF1aXQtYm94IGltZyB7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuc3RvcnktdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICB9XHJcbiAgICAucmFnZXF1aXQtYm94IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgIH1cclxuICAgIC5sb2dvLWJveCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5yYWdlcXVpdC1ib3ggaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFSVElTVFMtT1ZFUlZJRVcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uYXJ0aXN0cyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuLmFydGlzdC1wcmV2aWV3IHtcclxuICAgIG1hcmdpbjogMjBweDtcclxufVxyXG4uYXJ0aXN0LXByZXZpZXcgLnRleHQtYm94IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjUpIDBweCA1NHB4IDU1cHgsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggLTEycHggMzBweCwgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggNHB4IDZweCxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMTcpIDBweCAxMnB4IDEzcHgsIHJnYmEoMCwgMCwgMCwgMC4wOSkgMHB4IC0zcHggNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uaW1hZ2UtY29udGFpbmVyIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcclxufVxyXG4uaW1hZ2UtY29udGFpbmVyOmhvdmVyIGltZyB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuLmNlbnRlcmVkLXRleHQge1xyXG4gICAgdGV4dC1zaGFkb3c6IDNweCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG4uY2VudGVyZWQtdGV4dDpob3ZlciB7XHJcbiAgICB0ZXh0LXNoYWRvdzogcmdiYSgxNzksIDExNywgMTk3LCAwLjYpIDBweCAxMHB4IDMwcHg7XHJcbn1cclxuLmNlbnRlcmVkLXRleHQgLm5hbWUge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCg0LjVyZW0sIDMuNXJlbSArIDIuMDgzM3Z3LCA2cmVtKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbn1cclxuLmNlbnRlcmVkLXRleHQgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAxcmVtICsgMS4wNDE3dncsIDIuMjVyZW0pO1xyXG59XHJcbi5jZW50ZXJlZC10ZXh0IC5pbnN0YSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMC42NjY3cmVtICsgMC42OTQ0dncsIDEuNXJlbSk7XHJcbn1cclxuLmluc3RhIGkge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQVJUSVNUUy1ERVRBSUxWSUVXIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFydGlzdC1pbWctY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG4uYXJ0aXN0LWltZy1jb250YWluZXIgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG4uYXJ0aXN0IHAge1xyXG4gICAgbWFyZ2luOiAwcHggMzAwcHg7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4uYXJ0aXN0IGgyIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgbWFyZ2luOiAxMHB4IDBweCAwcHggMHB4O1xyXG59XHJcbi5hcnRpc3Qgc3BhbiB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLmFydGlzdCAuc29jaWFscyBpIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxufVxyXG4uYXJ0aXN0IC5zb2NpYWxzIGk6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmFydGlzdCBwIHtcclxuICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuYXJ0aXN0IHAge1xyXG4gICAgICAgIG1hcmdpbjogMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICB9XHJcbn1cclxuLmFydGlzdCBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcbnVsLmltYWdlLWdhbGxlcnkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4uaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmltYWdlLWdhbGxlcnkgPiBsaSB7XHJcbiAgICAvKiBmYWxsYmFjayAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzNTBweDtcclxuICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICBtYXJnaW46IDAgNXB4IDEwcHggNXB4O1xyXG4gICAgLyogZW5kIGZhbGxiYWNrICovXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSB7XHJcbiAgICAuaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtZ2FsbGVyeSA+IGxpIHtcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWdhbGxlcnk6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgIH1cclxuICAgIC5pbWFnZS1nYWxsZXJ5IGxpIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbWFnZS1nYWxsZXJ5IGxpIGltZyB7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIG1heC13aWR0aDogMTQwJTtcclxuICAgIGhlaWdodDogMTQwJTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG4uaW1hZ2UtZ2FsbGVyeSBsaTpob3ZlciBpbWcge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLWdhbGxlcnkgPiBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIC5pbWFnZS1nYWxsZXJ5ID4gbGkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMHZ3O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtZ2FsbGVyeTo6YWZ0ZXIge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMHZ3O1xyXG4gICAgfVxyXG59XHJcblxyXG4jb3ZlcmxheSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiB2YXIoLS1uYXYtaGVpZ2h0KTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbn1cclxuXHJcbiNwcmV2QnRuLFxyXG4jbmV4dEJ0bixcclxuI2Nsb3NlQnRuIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4jcHJldkJ0bixcclxuI25leHRCdG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuXHJcbiNwcmV2QnRuIHtcclxuICAgIGxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbiNuZXh0QnRuIHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4jY2xvc2VCdG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbiNvdmVybGF5SW1nIHtcclxuICAgIG1heC13aWR0aDogOTAlO1xyXG4gICAgbWF4LWhlaWdodDogOTAlO1xyXG59XHJcblxyXG4vKiBBZGRpdGlvbmFsIHN0eWxlcyBmb3IgdGhlIG92ZXJsYXkgdHJhbnNpdGlvbiAqL1xyXG4jb3ZlcmxheUltZyB7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuI292ZXJsYXlJbWc6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG59XHJcbiNnYWxsZXJ5TW9iaWxlLmltYWdlLWdhbGxlcnkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICNnYWxsZXJ5LnBzd3AtZ2FsbGVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICNnYWxsZXJ5TW9iaWxlLmltYWdlLWdhbGxlcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICNwcmV2QnRuLFxyXG4gICAgI25leHRCdG4sXHJcbiAgICAjY2xvc2VCdG4ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAjZ2FsbGVyeS5wc3dwLWdhbGxlcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAjZ2FsbGVyeU1vYmlsZS5pbWFnZS1nYWxsZXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUElFUkNJTkcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ucGllcmNpbmctYm94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLnBpZXJjaW5nLWJveCBbY2xhc3MqPSdjb2wtJ10ge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxufVxyXG4ucGllcmNpbmctYm94IC5jb2wtc20tMTIge1xyXG4gICAgcGFkZGluZzogMHB4IDEwcHg7XHJcbn1cclxuLnBpZXJjZXItaW1nIHtcclxuICAgIG1hcmdpbjogMjBweDtcclxuICAgIHdpZHRoOiA5NSU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjM1KSAwcHggNXB4IDE1cHg7XHJcbn1cclxuLnBpZXJjaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4ucGllcmNpbmcgLm5hbWUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5waWVyY2luZyB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIH1cclxuICAgIC5waWVyY2luZyAucHJpY2Uge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG59XHJcbi5ib3gtbGluayB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xyXG4gICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLyA1KTtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLmJveC1saW5rIGltZy5pY29uIHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5ib3gtbGluayBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5ib3gtbGluazpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxufVxyXG5cclxuLmJveC1saW5rOmhvdmVyIGltZy5pY29uIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbn1cclxuXHJcbi5ib3gtZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiAxcmVtO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLnBpZXJjaW5nLWljb24ge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuYm94LWxpbmsge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyk7XHJcbiAgICB9XHJcbiAgICAuYm94LWdyaWQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUT09USC1HRU1TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmZvbGxvdy1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBtYXJnaW46IDEwcHggYXV0bztcclxufVxyXG4uZm9sbG93LWJ0bjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxufVxyXG4uZm9sbG93LWJ0biBpbWcge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5mb2xsb3ctYnRuIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5mb2xsb3ctYnRuIGE6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRkFRIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFjY29yZGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbmF2LWhlaWdodCk7XHJcbn1cclxuLmFjY29yZGlvbi1pdGVtIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBpbmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbWFyZ2luOiAyMHB4IDIwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XHJcbn1cclxuLmFjY29yZGlvbi1pdGVtLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3BlY2lhbC1mb250KTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0taGVhZGVyIHAge1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbn1cclxuLmFjY29yZGlvbi1pdGVtLWhlYWRlciBpIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0tY29udGVudCB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjhzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5hY2NvcmRpb24taXRlbS1jb250ZW50Lm9wZW4ge1xyXG4gICAgbWF4LWhlaWdodDogMjUwMHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0tY29udGVudCB1bCBsaSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5yb3RhdGUtMTgwIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjVzO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS1jb250ZW50IHtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtLWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENPTlRBQ1QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4jbWFwIHtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIGhlaWdodDogNDAwcHg7XHJcbn1cclxuLmN1c3RvbS1uZWVkbGUtbWFya2VyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3d3dy5yYWdlcXVpdHRhdHRvby5jaC9pbWFnZXMvbG9nby9sb2dvc19uZXcvcnFfbmV1X3doaXRlLnBuZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5jdXN0b20tbmVlZGxlLW1hcmtlcjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDBweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLWJvdHRvbSAubWFwYm94Z2wtcG9wdXAtdGlwIHtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXBpbmspICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGluaykgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDEwcHggMzBweCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbn1cclxuLmN1cnJlbnQtZGF5IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbn1cclxuLmNvbnRhY3Qge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcbi5jb250YWN0IGEge1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcclxufVxyXG4uY29udGFjdCBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5vcGVuaW5nLWhvdXJzIHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4ub3BlbmluZy1ob3VycyBoMiB7XHJcbiAgICBtYXJnaW46IDVweCAwcHg7XHJcbn1cclxuLm9wZW5pbmctaG91cnMgPiAuY29sLTY6Zmlyc3QtY2hpbGQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5vcGVuaW5nLWhvdXJzID4gLmNvbC02OmZpcnN0LWNoaWxkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGT09URVIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5mb290ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbn1cclxuLmZvb3Rlci10aXRsZSB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3BlY2lhbC1mb250KTtcclxufVxyXG4uZm9vdGVyLWFkcmVzcyB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5mb290ZXItYWRyZXNzIGgyIHtcclxuICAgIG1hcmdpbjogNXB4IDBweDtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG59XHJcbi5mb290ZXItYWRyZXNzIGEge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5mb290ZXItYWRyZXNzIGltZyB7XHJcbiAgICBwYWRkaW5nOiAwcHggNXB4O1xyXG4gICAgaGVpZ2h0OiAycmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcbi5mb290ZXItc29jaWFscyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5mb290ZXItc29jaWFscyBhIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmZvb3Rlci1zcG9uc29yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgY29sb3I6ICNmMWQyODM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5mb290ZXItc3BvbnNvciBpbWcge1xyXG4gICAgbWF4LWhlaWdodDogMzVweDtcclxuICAgIG1hcmdpbjogMTBweCAwcHg7XHJcbn1cclxuLmZvb3Rlci1zb2NpYWxzIGE6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcclxufVxyXG4uZm9vdGVyLWFkcmVzcyA+IC5jb2wtNjpmaXJzdC1jaGlsZCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG4ub3BlbmluZy1ob3VyIFtjbGFzcyo9J2NvbC0nXSxcclxuLmFkZHJlc3MtYmxvY2sgaDIsXHJcbi5hZGRyZXNzLWJsb2NrIHAsXHJcbi5vcGVuaW5nLWhvdXJzLWZvb3RlciBoMiB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmZvb3Rlci1hZHJlc3MgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIH1cclxuICAgIC5mb290ZXItYWRyZXNzIC5jb2wtc20tMTIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBMT0dJTi1TRUNUSU9OIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubG9naW4tZm9ybSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5sb2dpbi1mb3JtIC5jYXJkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5mb3JtLWxhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4ubG9naW4tZm9ybSAuZm9ybS1pbnB1dCB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYmctZGFyayk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLmxvZ2luLWZvcm0gLmZvcm0taW5wdXQ6Zm9jdXMge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYmctZGFyayk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4ubG9naW4tZm9ybSAucmVtZW1iZXItbWUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmxvZ2luLWZvcm0gLnJlbWVtYmVyLW1lIGlucHV0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG59XHJcblxyXG4uYnRuLWxvZ2luIHtcclxuICAgIHBhZGRpbmc6IDEycHggMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQURNSU4tU0VDVElPTiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFkbWluLWRhc2hib2FyZCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5hZG1pbi1kYXNoYm9hcmQgaDIge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcbi5kYXNoYm9hcmQtc2VjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgZmxleDogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi5kYXNoYm9hcmQtc2VjdGlvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxuICAgIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuM3M7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLm5vLXJlc3VsdHMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQURNSU4tU0VDVElPTi1QSUVSQ0lOR1MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5waWVyY2luZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiAxLjVyZW07XHJcbiAgICBwYWRkaW5nOiAxLjVyZW07XHJcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4ucGllcmNpbmctY2FyZCB7XHJcbiAgICBmbGV4OiAxIDEgMjIwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG5cclxuLnBpZXJjaW5nLWNhcmQ6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4ucGllcmNpbmctY2FyZCBpbWcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ucGllcmNpbmctaW5mbyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbn1cclxuXHJcbi5waWVyY2luZy1uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxufVxyXG5cclxuLnBpZXJjaW5nLXR5cGUge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcbi5waWVyY2luZy1wcmljZSB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbWFyZ2luLXRvcDogMC40cmVtO1xyXG59XHJcblxyXG4uZWRpdC1idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDZweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLmVkaXQtYnRuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhc3RlbC1wdXJwbGUpO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgIC5waWVyY2luZy1jYXJkIHtcclxuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuIl19 */