/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/style.css ***!
  \****************************************************************************************************************/
/**
* Template Name: NiceAdmin - v2.5.0
* Template URL: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
#ui-id-1 {
    position: absolute;
}

:root {
    scroll-behavior: smooth;
}

body {
    font-family: "Open Sans", sans-serif;
    color: #e9f7ff;
    background-color: #395f87;
    background-image: linear-gradient(180deg, #395f87 0%, #2a4d7f 100%);
    background-attachment: fixed;
    min-height: 100vh;

}

a {
    color: #4154f1;
    text-decoration: none;
}

a:hover {
    color: #717ff5;
    text-decoration: none;
}


h1{
    color: #ffffff;}

h2,
h3,
h4,
h5,
h6 {
    font-family: "Inter", sans-serif;
    color: #060e19;
    text-shadow: 0 0 5px rgba(80, 200, 255, 0.3);
}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main { /* parte de abajo del navbar, (tittle)*/
    background-color: transparent;
    margin-top: 60px;
    padding: 20px 30px;
    transition: all 0.3s;
    overflow-x: auto;
    color: #e9f7ff;
}


@media (max-width: 1199px) {
    #main {
        padding: 20px;
    }
}

/*--------------------------------------------------------------
# Page Title
--------------------------------------------------------------*/
.pagetitle {
    margin-bottom: 10px;
}

.pagetitle h1 {
    font-size: 34px;
    margin-bottom: 0;
    font-weight: 600;
    color: #00d2ff !important;

    /* Sombra para que parezca luz */
    text-shadow: 0 0 10px rgba(0, 210, 255, 0.6);
}

.logo span {
    color: #e9f7ff !important;
    text-shadow: 0 0 6px rgba(80, 200, 255, 0.9),
    0 0 14px rgba(80, 200, 255, 0.7) !important;
}

@media (min-width: 768px) {
    .dropdown-menu-arrow::before {
        content: "";
        width: 13px;
        height: 13px;
        background: #fff;
        position: absolute;
        top: -7px;
        right: 20px;
        transform: rotate(45deg);
        border-top: 1px solid #eaedf1;
        border-left: 1px solid #eaedf1;
    }
}

@-webkit-keyframes dropdown-animate {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}

@keyframes dropdown-animate {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}
/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background: #4154f1;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

.back-to-top i {
    font-size: 24px;
    color: #fff;
    line-height: 0;
}

.back-to-top:hover {
    background: #6776f4;
    color: #fff;
}

.back-to-top.active {
    visibility: visible;
    opacity: 1;
}
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
/* Estilo base del logo */
.logo {
    display: flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Imagen del logo */
.logo img {
    max-height: 60px;
    height: auto;
    width: auto;
}

/* Texto del logo */
.logo span {
    font-size: 22px;
    font-weight: 700;
    color: #0096FF; /* azul cielo */
    font-family: "Nunito", sans-serif;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* Para pantallas grandes */
@media (min-width: 1200px) {
    .logo {
        width: 210px;
    }
}

/* Para tablets y celulares */
@media (max-width: 1199.98px) {
    .logo {
        width: auto;
        max-width: 180px;
    }

    .logo img {
        max-height: 40px;
    }

    .logo span {
        font-size: 16px;
    }
}

/* Para celulares pequeños (menos de 576px) */
@media (max-width: 575.98px) {
    .logo {
        max-width: 140px;
    }

    .logo span {
        font-size: 14px;
    }
}


/*header*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    z-index: 997;
    transition: all 0.5s;
    padding: 20px;
    background-color: #0e1b2a;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(80, 200, 255, 0.1);
    margin: 0;
    border-radius: 0;
    box-shadow: 0 0 5px 1px rgba(80, 200, 255, 0.8),
    0 0 20px 5px rgba(80, 200, 255, 0.4);
    border-right: 3px solid rgba(80, 200, 255, 0.9);

}


.header .toggle-sidebar-btn { /*Menu hamburguesa*/
    font-size: 32px;
    padding-left: 10px;
    cursor: pointer;
    color: #e9f7ff !important;
    text-shadow: 0 0 6px rgba(80, 200, 255, 0.9),
    0 0 14px rgba(80, 200, 255, 0.7) !important;
    transition: 0.3s;
}

.header .search-bar {
    padding: 0 10px;
}

#language {
    margin-left: 0 !important;
    color: #e9f7ff;
    border: 1px solid rgba(80, 200, 255, 0.4) !important;
    margin-right: auto;
    width: auto;
    background-color: rgba(17, 47, 71, 0.85);
}
#language.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%230096FF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
}

#language option {
    background-color: #0e1b2a;
    color: #ffffff;
    padding: 10px;
}
@media (max-width: 1199px) {
    .header .search-bar {
        position: fixed;
        top: 50px;
        left: 0;
        right: 0;
        padding-left: 20px;
        box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.3);
        z-index: 9999;
        transition: 0.3s;
        visibility: hidden;
        opacity: 0;
    }

    .header .search-bar-show {
        top: 60px;
        visibility: visible;
        opacity: 1;
    }
}

.header .search-form {
    width: 100%;
}

inputHeader,selectHeader {
    background-color: rgb(17, 46, 85) !important;
    color: #e9f7ff !important;
    border: 1px solid rgba(80, 200, 255, 0.3) !important;
    border-radius: 6px;
}

.header .search-form input {
    /* border: 1px solid #b3d9ff;*/
    background-color: #ffffff; /* blanco puro */
    font-size: 14px;
    color: #e1e3e6;
    padding: 7px 38px 7px 8px;
    transition: 0.3s;
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.5px;
    background-color: rgba(17, 47, 71, 0.6) !important;
    border: 1px solid rgba(80, 200, 255, 0.4) !important;
}

.header .search-form input::placeholder { /*texto a buscar*/
    color: rgb(225, 227, 230) !important;
    font-weight: 400;
    font-style: italic;
}

.header .search-form input:focus,
.header .search-form input:hover {
    outline: none;
    box-shadow: 0 0 0 0.25rem rgba(77, 171, 247, 0.25);
}

.header .search-form button {
    border: 0;
    padding: 0;
    margin-left: -30px;
    background: none;
}

.header .search-form button i {
    color: #0096FF; /* ícono azul cielo */
}


/*--------------------------------------------------------------
# Header Nav
--------------------------------------------------------------*/
.header-nav ul {
    list-style: none;
}

.header-nav > ul {
    margin: 0;
    padding: 0;
}

.header-nav .nav-icon {
    font-size: 22px;
    color: #ffffff; /* Azul cielo principal, del icon*/
    margin-right: 25px;
    position: relative;
    transition: 0.3s;
}

.header-nav .nav-icon:hover {
    color: #0895ec; /* Azul más claro en hover, effect*/
}

/*nav derecho, profile*/
.header-nav .nav-profile {
    color: #e9f7ff !important; /* Texto azul profundo */
    text-shadow: 0 0 6px rgba(80, 200, 255, 0.9),
    0 0 14px rgba(80, 200, 255, 0.7) !important;
}

.header-nav .nav-profile img {
    max-height: 54px;
    margin-right: 2px;
    border: none; /*borde brillante en profilephoto*/
    border-radius: 50%;
}

.header-nav .nav-profile span {
    font-size: 14px;
    font-weight: 600;
    color: #e9f7ff; /* Nombre azul principal */
}

.header-nav .badge-number {
    position: absolute;
    inset: -2px -5px auto auto;
    font-weight: normal;
    font-size: 12px;
    padding: 3px 6px;
    background: #0096FF; /* Azul vibrante para notificación */
    color: #ffffff;
    border-radius: 10px;
}

.header-nav .notifications {
    inset: 8px -15px auto auto !important;
}

.header-nav .notifications .notification-item {
    display: flex;
    align-items: center;
    padding: 15px 10px;
    transition: 0.3s;
    background-color: #ffffff;
    border-bottom: 1px solid #E0F0FF;
}

.header-nav .notifications .notification-item i {
    margin: 0 20px 0 10px;
    font-size: 24px;
    color: #007BFF; /* Ícono azul */
}

.header-nav .notifications .notification-item h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #003366; /* Texto oscuro */
}


.header-nav .notifications .notification-item:hover {
    background-color: #EAF6FF; /* Hover azul cielo */
}

.header-nav .messages {
    inset: 8px -15px auto auto !important;
}

.header-nav .messages .message-item {
    padding: 15px 10px;
    transition: 0.3s;
    background-color: #FFFFFF;
    border-bottom: 1px solid #E0F0FF;
}

.header-nav .messages .message-item a {
    display: flex;
}

.header-nav .messages .message-item img {
    margin: 0 20px 0 10px;
    max-height: 40px;
    border-radius: 50%;
    border: 2px solid #0096FF; /* Borde azul brillante */
}

.header-nav .messages .message-item h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #003366; /* Azul profundo */
}

.header-nav .messages .message-item:hover {
    background-color: #EAF6FF; /* Hover suave */
}

.header-nav .profile {
    min-width: 240px;
    padding-bottom: 0;
    top: 8px !important;
    background-color: #FFFFFF; /* Fondo blanco limpio */
    border: 1px solid #D6E9FF; /* Borde azul claro */
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 123, 255, 0.1);
}

.header-nav .profile .dropdown-header h6 {
    font-size: 18px;
    margin-bottom: 0;
    font-weight: 600;
    color: #007BFF; /* Azul principal */
}

.header-nav .profile .dropdown-header span {
    font-size: 14px;
    color: #e1e3e6; /* Gris azulado */
}

.header-nav .profile .dropdown-item {
    font-size: 14px;
    padding: 10px 15px;
    transition: 0.3s;
    color: #003366; /* Azul oscuro texto */
    background-color: #FFFFFF;
}

.header-nav .profile .dropdown-item i {
    margin-right: 10px;
    font-size: 18px;
    line-height: 0;
    color: #007BFF; /* Azul iconos */
    transition: 0.3s;
}

.header-nav .profile .dropdown-item:hover {
    background-color: #EAF6FF; /* Azul cielo suave */
    color: #007BFF;
}


/*forzar el profile*/
.dropdown-menu,
.navbar .dropdown-menu {
    background-color: #0e1b2a !important;
    border: 1px solid #00f3ff !important;
    color: #e9f7ff !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8) !important;
    padding: 0.5rem 0;
}

.dropdown-item,
.navbar .dropdown-item {
    color: #e9f7ff !important;
    background-color: transparent !important;
    transition: all 0.2s ease;
    padding: 10px 20px;
}

.dropdown-item:hover,
.dropdown-item:focus,
.navbar .dropdown-item:hover {
    background-color: rgba(0, 243, 255, 0.15) !important;
    color: #00f3ff !important;
    padding-left: 25px;
}

.dropdown-divider {
    border-top: 1px solid rgba(0, 243, 255, 0.3) !important;
    margin: 0.5rem 0;
}
.header-nav .profile .dropdown-header .emailnav{
    color: #e9f7ff !important;
    text-shadow: 0 0 6px rgba(80, 200, 255, 0.9);
}

/*--------------------------------------------------------------
# Sidebar IZQUIERDAAAAAAAAAAAAAAAA
--------------------------------------------------------------*/
/* ======= SIDEBAR BASE ======= */
.sidebar {
    position: fixed;
    top: 60px;
    left: 0;
    bottom: 0;
    width: 300px;
    z-index: 1000 !important;
    padding: 20px;
    overflow-y: scroll;
    background: linear-gradient(180deg, #395f87 50%, #395f87, rgba(217, 236, 255, 0.58) 100%); /* azul oscuro*/
    border-left: 10px;
    border-radius: 0 0 15px 0;
    transition: all 0.3s ease-in-out;
    /*no scroll bar*/
    -ms-overflow-style: none;
    scrollbar-width: none;
    box-shadow: 0 0 5px 2px rgba(80, 200, 255, 0.8),
    0 0 20px 5px rgba(80, 200, 255, 0.4);
    border-right: 3px solid rgba(80, 200, 255, 0.9);
}

.sidebar::-webkit-scrollbar {
    display: none;
}
.sidebar::after {
    content: "";
    position: absolute;
    top: 0;
    right: -3px;
    width: 6px;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 150, 255, 0.2), transparent);
    border-radius: 0 10px 10px 0;
    pointer-events: none;
}

/* ======= SCROLLBAR CUSTOM ======= */
.sidebar::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    background-color: #050b14; /* Azul pastel */
}

.sidebar::-webkit-scrollbar-thumb {
    background-color: #00f3ff;
    box-shadow: 0 0 10px #00f3ff;
}

/* ======= RESPONSIVE BEHAVIOR ======= */
@media (max-width: 1199px) {
    .sidebar {
        left: -300px;
    }

    .toggle-sidebar .sidebar {
        left: 0;
    }
}

@media (min-width: 1200px) {
    #main,
    #footer {
        margin-left: 300px;
    }

    .toggle-sidebar #main,
    .toggle-sidebar #footer {
        margin-left: 0;
    }

    .toggle-sidebar .sidebar {
        left: -300px;
    }

    .header .search-bar {
        min-width: 250px; /* Aquí sí le damos tamaño grande */
        margin-left: auto; /* El resorte que empuja a la derecha */
        margin-right: 15px;
        display: block;
    }

    #language {
        margin-left: 0;
        margin-right: 25px;
    }
}

/* ======= NAV STYLES ======= */
.sidebar-nav {
    padding: 2px;
    margin: 2px;
    list-style: none;
    min-height: calc(100vh - 20px);
}

.sidebar-nav li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-nav .nav-item {
    margin-bottom: 20px;
}

.sidebar-nav .nav-heading {
    font-size: 12px;
    text-transform: uppercase;
    color: #ffffff; /* Azul cielo intenso */
    font-weight: 600;
    margin: 12px 0 6px 15px;
    border-left: 4px solid #4DB8FF; /* Azul degradado */
    border-radius: 6px;
    padding-left: 8px;
}

/* ======= NAV LINKS ======= */
.sidebar-nav .nav-link {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    color: #e9f7ff; /* Azul medio para texto */
    background-color: #0e1b2a;
    padding: 12px 18px;
    border-radius: 6px;
    border: 1px solid rgba(80, 200, 255, 0.9);
    box-shadow: 0 0 10px rgba(80, 200, 255, 0.6);
    transition: background-color 0.3s, color 0.3s, box-shadow 0.3s, transform 0.3s;
    will-change: transform, box-shadow;
}

.sidebar-nav .nav-link:hover {
    background-color: #d6ecff;
    color: #007BFF;
    box-shadow: 0 0 15px rgba(80, 200, 255, 0.6),
    0 0 5px rgba(80, 200, 255, 0.9);
    border-color: #0096FF;
}

/* iconos nav  */
.sidebar-nav .nav-link i {
    font-size: 18px;
    margin-right: 12px;
    color: #e9f7ff;
    text-shadow: 0 0 5px #00f3ff;
}

/*cuando no esta sin seleccionar*/
.sidebar-nav .nav-link.collapsed {
    background-color: #0e1b2a;
    color: #e9f7ff;
    text-shadow: 0 0 5px #00f3ff;

}
/*HOVER*/
.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-link.active{
    background-color: #0e1b2a;
    color: #ffffff;
    text-shadow: 0 0 15px #00f3ff,
    0 0 10px #00f3ff;
    transform: scale(1.05);
    transition: all 0.3s ease;
    border-color: #0096FF;
    box-shadow: 0 0 15px rgba(80, 200, 255, 0.6),
    0 0 5px rgba(80, 200, 255, 0.9);
}

.sidebar-nav .nav-link:hover i,
.sidebar-nav .nav-link.active i {
    color: #ffffff !important;
    text-shadow: 0 0 5px #00f3ff,
    0 0 10px #00f3ff;
    transform: scale(1.1);
    transition: all 0.3s ease;
}

.sidebar-nav .nav-link.collapsed i {
    color: #e9f7ff; /* Ícono cambia a azul más oscuro */


}

.sidebar-nav .nav-link .bi-chevron-down {
    margin-left: auto;
    transition: transform 0.2s ease-in-out;

}

.sidebar-nav .nav-link:not(.collapsed) .bi-chevron-down {
    transform: rotate(180deg);

}

.sidebar-nav .nav-link span {
    text-shadow: 0 0 8px rgba(0, 243, 255, 0.6);
    transition: all 0.3s ease;
}


.sidebar-nav .nav-link:hover span {
    color: #ffffff;
    text-shadow: 0 0 5px #00f3ff,
    0 0 15px #00f3ff; /* Doble sombra para efecto neón intenso */
}

/* ======= SUBMENÚ ======= */
.sidebar-nav .nav-content {
    padding: 5px 0 0;
    margin: 0;
    list-style: none;
}

.sidebar-nav .nav-content a {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    color: #e6ebf1; /* Azul intermedio */
    padding: 12px 0 12px 40px;
    transition: 0.3s;
}

.sidebar-nav .nav-content a i {
    font-size: 6px;
    margin-right: 10px;
    border-radius: 50%;
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    background-color: rgb(32, 67, 103);
    color: #ffffff; /* Azul fuerte */
    border-radius: 5px;
}

/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
/*!*--------------------------------------------------------------*/
/*# Icons list page*/
/*--------------------------------------------------------------*!*/
.iconslist {
    display: grid;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.25rem;
    padding-top: 15px;
}

.iconslist .icon {
    background-color: #fff;
    border-radius: 0.25rem;
    text-align: center;
    color: #012970;
    padding: 15px 0;
}

.iconslist i {
    margin: 0.25rem;
    font-size: 2.5rem;
}

.iconslist .label {
    font-family: var(--bs-font-monospace);
    display: inline-block;
    width: 100%;
    overflow: hidden;
    padding: 0.25rem;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
}

/*--------------------------------------------------------------
# F.A.Q Page
--------------------------------------------------------------*/
.faq .basic h6 {
    font-size: 18px;
    font-weight: 600;
    color: #4154f1;
}

.faq .basic p {
    color: #6980aa;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box {
    padding: 28px 30px;
}

.contact .info-box i {
    font-size: 38px;
    line-height: 0;
    color: #4154f1;
}

.contact .info-box h3 {
    font-size: 20px;
    color: #012970;
    font-weight: 700;
    margin: 20px 0 10px 0;
}

.contact .info-box p {
    padding: 0;
    line-height: 24px;
    font-size: 14px;
    margin-bottom: 0;
}

.contact .php-email-form .error-message {
    display: none;
    color: #fff;
    background: #ed3c0d;
    text-align: left;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.contact .php-email-form .sent-message {
    display: none;
    color: #fff;
    background: #18d26e;
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.contact .php-email-form .loading {
    display: none;
    background: #fff;
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
}

.contact .php-email-form .loading:before {
    content: "";
    display: inline-block;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    margin: 0 10px -6px 0;
    border: 3px solid #18d26e;
    border-top-color: #eee;
    -webkit-animation: animate-loading 1s linear infinite;
    animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
    border-radius: 0;
    box-shadow: none;
    font-size: 14px;
    border-radius: 0;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
    border-color: #4154f1;
}

.contact .php-email-form input {
    padding: 10px 15px;
}

.contact .php-email-form textarea {
    padding: 12px 15px;
}

.contact .php-email-form button[type=submit] {
    background: #4154f1;
    border: 0;
    padding: 10px 30px;
    color: #fff;
    transition: 0.4s;
    border-radius: 4px;
}

.contact .php-email-form button[type=submit]:hover {
    background: #5969f3;
}

@-webkit-keyframes animate-loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes animate-loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error-404 {
    padding: 30px;
}

.error-404 h1 {
    font-size: 180px;
    font-weight: 700;
    color: #4154f1;
    margin-bottom: 0;
    line-height: 150px;
}

.error-404 h2 {
    font-size: 24px;
    font-weight: 700;
    color: #012970;
    margin-bottom: 30px;
}

.error-404 .btn {
    background: #51678f;
    color: #fff;
    padding: 8px 30px;
}

.error-404 .btn:hover {
    background: #3e4f6f;
}

@media (min-width: 992px) {
    .error-404 img {
        max-width: 50%;
    }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
    padding: 20px 0;
    font-size: 14px;
    transition: all 0.3s;
    background-color: transparent; /* Fondo azul cielo muy claro */
    border-top: 1px solid #B5D9FF; /* Línea superior azul clara */
    box-shadow: 0 -2px 10px rgba(0, 123, 255, 0.1); /* Sombra sutil superior */
}

.footer .copyright {
    text-align: center;
    color: #007BFF; /* Azul cielo principal */
    font-weight: 600;
}

.footer .credits {
    padding-top: 5px;
    text-align: center;
    font-size: 13px;
    color: #3399FF; /* Azul más suave */
}

input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: #0d6efd;
    cursor: pointer;
    border-radius: 8px;
    background-color: rgba(17, 47, 71, 0.6) !important;
    border: 1px solid rgba(80, 200, 255, 0.4) !important;
}

input[type="checkbox"] {
    border: 2px solid #0d6efd;
    border-radius: 4px;
}

/*/* Hover */
input[type="checkbox"]:hover {
    box-shadow: 0 0 5px #0d6efd;
}

/* Cuando está marcado */
input[type="checkbox"]:checked {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
    border-color: #00f3ff !important;
    box-shadow: 0 0 5px rgba(0, 243, 255, 0.4);
}


input, textarea, select {
    border: 1.5px solid var(--bs-dark) !important;
    border-radius: 6px;
    padding: 10px;
    font-size: 14px;
    color: var(--bs-dark);
    background-color: var(--bs-light);
}

input:focus, textarea:focus, select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 6px rgba(13, 110, 253, 0.5) !important;
    background-color: var(--bs-white);
}
/* estilos de los alert */
div:where(.swal2-container) div:where(.swal2-popup) {
    background-color: #0e1b2a !important;
    border: 1px solid #00f3ff !important;
    border-radius: 16px !important;
    box-shadow: 0 0 25px rgba(0, 243, 255, 0.25) !important;
    padding: 2em !important;
}

div:where(.swal2-container) .swal2-title {
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    text-shadow: 0 0 10px rgba(0, 243, 255, 0.5);
}
div:where(.swal2-container) .swal2-html-container {
    color: #d0e6f5 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important;
}

div:where(.swal2-container) .swal2-confirm {
    background-color: rgba(17, 47, 71, 0.6) !important;
    border: 2px solid #00f3ff !important;
    color: #00f3ff !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    box-shadow: 0 0 10px rgba(0, 243, 255, 0.2) !important;
    padding: 10px 30px !important;
    transition: all 0.3s ease !important;
}

div:where(.swal2-container) .swal2-confirm:hover {
    background-color: rgba(17, 47, 71, 0.6) !important;
    border: 2px solid #00f3ff !important;
    color: #00f3ff !important;
    box-shadow: 0 0 20px rgba(0, 243, 255, 0.6) !important;
    transform: scale(1.05);
}

div:where(.swal2-container) .swal2-cancel {
    background-color: transparent !important;
    border: 2px solid rgba(255, 190, 0, 0.8) !important;
    color: rgba(255, 190, 0, 0.8) !important;
    border-radius: 8px !important;
}

div:where(.swal2-container) .swal2-cancel:hover {
    box-shadow: 0 0 15px rgba(255, 190, 0, 0.5) !important;
    color: #fff !important;
}

div:where(.swal2-icon).swal2-success {
    border-color: #00ff9d !important;
    color: #00ff9d !important;
}

div:where(.swal2-icon).swal2-success .swal2-success-ring {
    border: .25em solid rgba(0, 255, 157, 0.3) !important;
}

div:where(.swal2-icon).swal2-success [class^=swal2-success-line] {
    background-color: #00ff9d !important;
    box-shadow: 0 0 10px rgba(0, 255, 157, 0.5) !important;
}

div:where(.swal2-container) .swal2-loader {
    border-color: #00f3ff transparent #00f3ff transparent !important;
}

/* =========================================
   FIX: AUTOCOMPLETADO (Chrome/Edge/Safari)
   ========================================= */

/* Seleccionamos el estado 'autofill' del input */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {

    /* 1. CAMBIAR EL COLOR DE LA LETRA */
    /* Usamos esta propiedad específica de Webkit para forzar el blanco */
    -webkit-text-fill-color: #e9f7ff !important;

    /* 2. MANTENER TU FONDO OSCURO */
    /* El navegador intenta poner un fondo amarillo.
       Este truco usa una sombra interior gigante para "tapar" ese amarillo
       con tu color azul oscuro */
    -webkit-box-shadow: 0 0 0 1000px #112e47 inset !important;

    /* 3. MANTENER TU FUENTE */
    /* A veces el navegador resetea la fuente, aseguramos que use la tuya */
    font-family: 'Barlow', sans-serif !important; /* O la fuente que elegiste */
    transition: background-color 5000s ease-in-out 0s;
}
/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/tables.css ***!
  \*****************************************************************************************************************/
/* Estilos generales para la tabla */
.estilos_generales {
    width: 100%;
    overflow-x: auto;
    display: block;
    margin: auto;
    border-collapse: collapse;
    font-family: 'Inter', sans-serif;
    background-color: rgba(17, 47, 71, 0.85) !important;
    color: #ffffff;
    border: 1px solid rgba(80, 200, 255, 0.2);
    border-radius: 8px;
}

.estilos_generales th {
    font-size: 15px;
    font-weight: bold;
    padding: 12px 13px;
    background: rgba(0, 150, 255, 0.15);
    color: #00f3ff;
    border-bottom: 2px solid rgba(80, 200, 255, 0.3);
    text-align: left;
    white-space: nowrap;
}

.estilos_generales td {
    padding: 8px;
    font-size: 13px;
    background: transparent;
    color: #e9f7ff;
    border-bottom: 1px solid rgba(80, 200, 255, 0.1);
    white-space: nowrap;
}

.estilos_generales tbody tr:hover {
    background-color: rgba(158, 213, 239, 0.1);
}

/* scrolbar de la tabla */
.estilos_generales::-webkit-scrollbar,
.fixed-table-body::-webkit-scrollbar {
    height: 10px !important;
    background-color: #050b14 !important;
}


.estilos_generales::-webkit-scrollbar-thumb,
.fixed-table-body::-webkit-scrollbar-thumb {
    background-color: rgba(0, 200, 255, 0.5) !important;
    border-radius: 5px;
    border: 1px solid rgba(0, 200, 255, 0.5) !important;
}

/* El fondo por donde corre la barra */
.estilos_generales::-webkit-scrollbar-track,
.fixed-table-body::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0.05) !important; /* Gris muy sutil */
    border-radius: 5px;
}

/*
[id^="toolbar_"] {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding: 6px 0;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: #112e55 transparent !important;
    white-space: nowrap;
}


[id^="toolbar_"] > * {
    flex: 0 0 auto;
}

[id^="toolbar_"]::-webkit-scrollbar {
    height: 8px;
}

[id^="toolbar_"]::-webkit-scrollbar-thumb {
    background: #1c4f7a !important;
    border-radius: 4px;
}


*/

/* Para pantallas pequeñas */
@media (max-width: 767px) {
    [id^="toolbar_"] {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        width: 100%;
    }

    [id^="toolbar_"] button {
        flex: 0 0 auto;
        font-size: 14px;
    }

    .estilos_generales {
        overflow-x: auto;
        display: block;
        width: 100%;
    }

    .estilos_generales th,
    .estilos_generales td {
        white-space: nowrap;
    }
}

/*CUSTOMSSSSSSSSS*/
/* Botones generales personalizados */
.btn-custom, .btn-custom-text, .btn {
    border-radius: 6px;
    font-weight: 600;
    transition: 0.3s ease-in-out;
    color: #ffffff !important;
}

/* Estilo común para todos los botones */

.btn-custom-text,
.btn.btn-primary,
.btn.btn-secondary {
    background-color: rgba(17, 47, 71, 0.85) !important;
    border: 1px solid rgba(0, 200, 255, 0.5) !important;
    color: #e9f7ff !important;
}

/* Hover de botones */
.btn-custom {
    background-color: rgba(17, 47, 71, 0.85);
    border: 1px solid rgba(0, 200, 255, 0.5) !important;
    color: #e9f7ff !important;
}

.btn-custom:hover {
    background-color: rgba(0, 150, 255, 0.5) !important;
}


.btn.btn-primary:hover,
.btn.btn-secondary:hover {
    background-color: rgba(0, 150, 255, 0.5) !important;
    box-shadow: 0 0 10px rgba(0, 200, 255, 0.5);
}

/* Botones deshabilitados */
.btn:disabled {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: rgba(255, 255, 255, 0.3) !important;
}

/* Botón peligro */
.btn.btn-danger {
    background-color: rgba(17, 47, 71, 0.85) !important;
    border: 1px solid rgba(0, 200, 255, 0.5) !important;
    color: #e9f7ff !important;
}

.btn.btn-danger:not(:disabled) {
    background-color: rgba(255, 0, 80, 0.3) !important; /* Subido a 0.3 */
    border: 1px solid rgba(255, 0, 80, 0.8) !important;
    color: #ffffff !important;
    box-shadow: 0 0 10px rgba(255, 0, 80, 0.25) !important;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease-in-out;
}

.btn.btn-danger:hover {
    background-color: rgba(255, 0, 80, 0.7) !important;
    box-shadow: 0 0 20px rgba(255, 0, 80, 0.6) !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* Botón éxito */
.btn.btn-success{
    background-color: rgba(0, 255, 136, 0.3) !important;
    color: #ffffff !important;
    border: 1px solid rgba(0, 255, 136, 0.8) !important;
    box-shadow: 0 0 10px rgba(0, 255, 136, 0.25) !important;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease-in-out;
}

.btn.btn-success:hover {
    background-color: rgba(0, 255, 136, 0.7) !important;
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.6) !important;
    color: #fff !important;
    border-color: #ffffff !important;
}

/* Botón advertencia */
.btn.btn-warning {
    background-color: rgba(17, 47, 71, 0.85) !important;
    color: #e9f7ff !important;
    border: 1px solid rgba(0, 200, 255, 0.5) !important;
}


.btn.btn-warning:not(:disabled) {
    background-color: rgba(255, 190, 0, 0.3) !important;
    box-shadow: 0 0 10px rgba(255, 190, 0, 0.25) !important;
    border: 1px solid rgba(255, 190, 0, 0.8) !important;
    color: #ffffff !important;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease-in-out;
}

.btn.btn-warning:hover {
    background-color: rgba(255, 190, 0, 0.7) !important;
    color: #ffffff !important;
    box-shadow: 0 0 20px rgba(255, 190, 0, 0.6) !important;
    border-color: #ffffff !important;
}

/* Botón secundario */
.btn.btn-secondary {
    background-color: #f1f4f6 !important;
    color: #006c8c !important;
    border: 1px solid #c8dfe5 !important;
}

.btn.btn-secondary:hover {
    background-color: #e2eef3 !important;
}

/* Texto principal */
.text-principal {
    color: #ffffff !important;
    text-shadow: 0 0 6px rgba(80, 200, 255, 0.9),
    0 0 14px rgba(80, 200, 255, 0.7) !important;
}

.dataTables_filter input, /*input arriba tabla*/
input[type="search"] {
    background-color: rgba(17, 47, 71, 0.9) !important;
    border: 1px solid #4154f1 !important;
    box-shadow: 0 0 5px #00f3ff !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    outline: none;
    transition: all 0.3s;
}


.dataTables_filter input::placeholder,
input[type="search"]::placeholder,
.search input::placeholder {
    color: #e1e3e6 !important;
    font-weight: 400;
    font-style: italic;
    opacity: 1 !important;
}

.dataTables_filter input:focus,
input[type="search"]:focus {
    background-color: rgba(17, 47, 71, 0.9) !important;
    border: 1px solid #4154f1 !important;
    box-shadow: 0 0 5px #00f3ff !important;
}
/*detail groups*/
.estilos_generales .detail-view td {
    background-color: #0d2538 !important;
    border: none !important;
}

.estilos_generales .detail-view .card,
.estilos_generales .detail-view .card-body,
.estilos_generales .detail-view .detail-view-inner {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.estilos_generales .detail-view,
.estilos_generales .detail-view p,
.estilos_generales .detail-view span,
.estilos_generales .detail-view div,
.estilos_generales .detail-view td{
    color: #ffffff !important;
}

.estilos_generales .detail-view b,
.estilos_generales .detail-view strong,
.estilos_generales .detail-view label {
    color: #00f3ff !important;

}

.fixed-table-toolbar .dropdown-menu {
    background-color: #0d2538 !important;
    border: 1px solid rgba(80, 200, 255, 0.5) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}

.fixed-table-toolbar .dropdown-menu .dropdown-item,
.fixed-table-toolbar .dropdown-menu label,
.fixed-table-toolbar .dropdown-menu span {
    color: #e9f7ff !important;
    background-color: transparent !important;
    cursor: pointer;
}

.fixed-table-toolbar .dropdown-menu .dropdown-item:hover,
.fixed-table-toolbar .dropdown-menu label:hover {
    background-color: rgba(0, 150, 255, 0.3) !important;
    color: #ffffff !important;
}

.fixed-table-toolbar .dropdown-menu input[type="checkbox"] {
    margin-right: 10px;
    accent-color: #00f3ff;
}
.estilos_generales .detail-view th div,
.estilos_generales .detail-view th span {
    background-color: rgba(0, 150, 255, 0.15) !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(80, 200, 255, 0.3)!important;
}

.estilos_generales .detail-view th {
    background-color: #0d2538 !important;
    border: none !important;
}
/*btnsubmit de uploadFile*/
.btnGuardarT,
#modal_cargar .btn-outline-success {
    background-color: rgba(17, 47, 71, 0.85) !important;
    border: 1px solid #00ff88 !important;
    box-shadow: 0 0 15px rgba(0, 255, 136, 0.6);
    color: #00ff88 !important;
    font-weight: 500;
    transition: 0.3s;
    margin-top: 50px;
    padding: 8px 20px;
    min-width: 100px;
    font-size: 14px !important;
    margin-right: 20px !important;
}
.btnGuardarT:hover,
#modal_cargar .btn-outline-success:hover {
    background-color: rgba(17, 47, 71, 0.85) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 15px rgba(0, 255, 136, 0.6);
    transform: scale(1.05);
}
/*modal upload file*/
#modal_cargar .modal-content {
    background-color: rgb(38, 73, 103) !important;
    border: 3px solid rgba(17, 47, 71, 0.8) !important;
    box-shadow: 0 0 20px rgba(17, 47, 71, 0.8) !important;
    color: #ffffff !important;
}

#modal_cargar .modal-header,
#modal_cargar .modal-footer {
    border-color: rgba(80, 200, 255, 0.1) !important;
}


#modal_cargar .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

#modal_cargar input[type="file"] { /*seleccionarArchivo*/
    background-color: rgba(0, 0, 0, 0.3) !important;
    color: #ffffff !important;
    border: 1px dashed #00ff88 !important;
}


/*btnSave*/

    .modal-body {
        background-color: rgb(38, 73, 103) !important;
        color: #ffffff !important;
    }


.btnResetT{
    background-color: rgba(17, 47, 71, 0.85) !important;
    border: 1px solid #c4e5ee !important;
    box-shadow: 0 0 10px #c4e5ee;
    color: #c4e5ee !important;
    font-weight: 500;
    transition: 0.3s;
    margin-top: 50px;
    padding: 8px 20px;
    min-width: 100px;
    font-size: 14px !important;
}

.btnResetT:hover{
    background-color: rgba(17, 47, 71, 0.85) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 15px #c4e5ee;
    transform: scale(1.05);
}



/* inputs y selects */
.form-control, .form-select {
    background-color: rgba(11, 25, 41, 0.6) !important;
    border-color:  #00f3ff!important;
    color: #ffffff !important;
}

.form-control:focus, .form-select:focus {
    border-color: #00f3ff !important;
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.2) !important;
}

.input-group{
    background-color: rgba(11, 25, 41, 0.6) !important;
    border-color:  #00f3ff!important;
    color: #ffffff !important;

}
/*dropdown del modal*/

#modal_emails .form-select {
    background-color: rgba(17, 47, 71, 0.95) !important;
    border-color: #00f3ff !important;
    border: 1px solid  #00f3ff !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%2300f3ff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M2 5l6 6 6-6%27/%3e%3c/svg%3e") !important;
}

#modal_emails .form-select:focus {
    background-color: #0d2538 !important;
    border-color: #00f3ff !important;
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.3) !important;
    color: #ffffff !important;
}

#modal_emails .form-select option {
    background-color: #0d2538 !important;
    color: #ffffff !important;
}

#modal_emails .modal-footer,
#modal_cargar .modal-footer,
#modal_grupo .modal-footer{
    background-color: rgb(38, 73, 103) !important;
    border-top: 2px solid rgba(80, 200, 255, 0.2) !important;
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.2) !important;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}
/*modal */


.modal-header {
    background: linear-gradient(90deg, rgba(11, 25, 41, 0.95) 0%, rgba(38, 73, 103, 0.5) 100%) !important;
    border-bottom: 1px solid rgba(0, 243, 255, 0.3) !important; /* Línea cian abajo */
    color: #ffffff !important;
}

.modal-title {
    color: #ffffff !important;
    font-weight: bold;
    text-shadow: 0 0 6px rgba(80, 200, 255, 0.9),
    0 0 14px rgba(80, 200, 255, 0.7) !important;
    margin-left: 5px;
}


.modal-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%) !important;
    opacity: 0.8;

}

.modal-content {
    background-color: rgb(38, 73, 103) !important;
    border: 1px solid #00f3ff !important;
    box-shadow: 0 0 25px rgba(0, 243, 255, 0.15) !important;
    color: #ffffff !important;
}

.modal-body input.form-control,
.modal-body select.form-control {
    background-color: rgba(11, 25, 41, 0.6) !important;
    border: 1px solid rgba(0, 243, 255, 0.73) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}


.modal-body input.form-control:focus,
.modal-body select.form-control:focus {
    background-color: rgba(11, 25, 41, 0.9) !important;
    border-color:rgba(0, 243, 255, 0.73)!important;
    box-shadow: 0 0 10px rgba(0, 243, 255, 0.3) !important;
}
.modal-body input.form-control::placeholder{
    color: rgba(162, 172, 189, 0.34);
}

.modal-body label {
    color: #ffffff !important;
    font-weight: 500;
    margin-bottom: 5px;
}



.modal-footer {
    background-color: rgba(11, 25, 41, 0.5) !important; /* Un poco más oscuro */
    border-top: 1px solid rgba(0, 243, 255, 0.3) !important; /* Línea separadora */
}


.modal-footer .btn-secondary {
    background-color: transparent !important;
    border: 1px solid #c4e5ee !important;
    color: #c4e5ee !important;
    box-shadow: 0 0 10px rgba(196, 229, 238, 0.3);
}

.modal-footer .btn-secondary:hover {
    background-color: rgba(196, 229, 238, 0.15) !important;
    color: #fff !important;
    box-shadow: 0 0 10px rgba(196, 229, 238, 0.8), inset 0 0 10px rgba(196, 229, 238, 0.5);
    transform: translateY(-2px);
}

.modal-footer .btn-primary {
    background-color: transparent !important;
    border: 1px solid #00ff88 !important;
    color: #00ff88 !important;
    box-shadow: 0 0 10px rgba(0, 255, 136, 0.3);
}

/*  (AUTOFILL) delos input  */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px rgb(11, 25, 41) inset !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid rgba(0, 243, 255, 0.5) !important;
    transition: background-color 5000s ease-in-out 0s;
    caret-color: #ffffff !important;
    color: #FFFFFF;
}
/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/vistas.css ***!
  \*****************************************************************************************************************/
/* Estilos para el contenedor de WhatsApp */
.whatsapp-container {
    position: fixed;
    bottom: 20px;
    right: 15px;
    background-color: #25D366; /* Color de fondo de WhatsApp */
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 2; /* Asegura que WhatsApp esté encima de Telegram */
}

/* Estilos para el contenedor de Telegram */
.telegram-container {
    position: fixed;
    bottom: 65px; /* Ajusta la posición para que esté debajo de WhatsApp */
    right: 16px;
    background-color: #0088cc; /* Color de fondo de Telegram */
    padding: 12px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1; /* Asegura que Telegram esté debajo de WhatsApp */
}

/* Estilos para el enlace de WhatsApp y Telegram */
.whatsapp-link, .telegram-link {
    text-decoration: none;
    color: #fff; /* Color del texto */
    display: flex;
    align-items: center;
}

/* Estilos para el ícono de WhatsApp y Telegram */
.whatsapp-icon, .telegram-icon {
    font-size: 24px; /* Tamaño del ícono */
    margin-right: 10px;
    Color:#fff;
}

/* Estilos para el texto de WhatsApp y Telegram */
.whatsapp-text, .telegram-text {
    font-size:14px;
}

.whatsapp-text{
    color:#fff !important;
}

/* Ocultar los controles de número en Chrome, Safari, Edge y Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Ocultar los controles de número en Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}


.empresa {
    font-family: 'Bradley Hand ITC', cursive;
    font-size: 25px;
}

.idIngredientes {
    text-align: center;
    font-family: 'Roboto  Thin', cursive;
    font-size: 25px;
}

.idContenido {
    text-align: center;
    font-family: 'arial  Thin', cursive;
    font-size: 20px;

}

.bannerItem {
    display: block;
    width: 100%;
    height: 500px;
}
.bannerItem img {
    height: 100%;
    width: 100%;
}

.img-normalizada{
    width: 350px;
    height: 280px;
    border-radius: 10px;
    object-fit: cover;
}

.idPrecio {
    text-align: center;
    font-family: 'arial  Thin', cursive;
    font-size: 35px;
    animation: blink 1.5s infinite;
}

/*@keyframes blink {*/
/*    0%, 100% {*/
/*        opacity: 1;*/
/*    }*/
/*    50% {*/
/*        opacity: 0;*/
/*    }*/
/*}*/
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* ================================
   APP.SCSS — ORDEN CORRECTO
================================ */

/* --- Frameworks base --- */

/* --- Plugins de tablas --- */

/* --- jQuery UI --- */

/* --- Alertas & Notificaciones --- */

/* --- Editores --- */

/* --- Iconos extras --- */

/* --- Utilidades y Widgets --- */

/* --- Pickr (Color Picker) --- */

/* --- Estilos personalizados del proyecto --- */

/*!******************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/configuracion/modal.css ***!
  \******************************************************************************************************************************/
.modalStyle .modal-content
{
    background-color: rgb(38, 73, 103) !important;
    border: 1px solid #00f3ff !important;
    box-shadow: 0 0 25px rgba(0, 243, 255, 0.15) !important;
    color: #ffffff !important;
}

.modalStyle .modal-header
{
    background: linear-gradient(90deg, rgba(11, 25, 41, 0.95) 0%, rgba(38, 73, 103, 0.5) 100%);
    border-bottom: 1px solid rgba(0, 243, 255, 0.3) !important;
}

.modalStyle .modal-title
{
    color: #ffffff !important;
    font-weight: bold;
    text-shadow: 0 0 6px rgba(80, 200, 255, 0.9),
    0 0 14px rgba(80, 200, 255, 0.7) !important;
    margin-left: 5px;
}

.modalStyle .btn-close
{
    filter: invert(1) grayscale(100%) brightness(200%);
    opacity: 0.8;
}

.modalStyle .table {
    background-color: rgba(17, 47, 71, 0.85) !important;
    color: #ffffff !important;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 0;
    border-radius: 6px;
}

.modalStyle .table th,
.modalStyle .table td {
    border: 1px solid rgba(80, 200, 255, 0.15) !important; /* Rejilla sutil */
    vertical-align: middle;
    color: #e9f7ff !important;
    padding: 8px;
    font-size: 13px;
    background-color: inherit;
}

.modalStyle .table thead th {
    background-color: rgba(0, 150, 255, 0.2) !important;
    color: #ffffff !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
    border-bottom: 2px solid #00f3ff !important;
    text-align: center;
}

.modalStyle .table tbody th {
    text-align: left !important;
    color: #ffffff !important;
    font-weight: normal;
}

.modalStyle .table tbody tr:hover td,
.modalStyle .table tbody tr:hover th,
.modal-content .table tbody tr:hover th
{
    background-color: rgba(0, 243, 255, 0.15) !important; /* Más brillante al pasar mouse */
    cursor: pointer;
}

.modalStyle .nav-tabs {
    border-bottom: 1px solid rgba(80, 200, 255, 0.2);
}

.modalStyle .nav-link {
    color: #a0c0d0;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.modalStyle .nav-link:hover {
    color: #00f3ff;
    background-color: rgba(0, 243, 255, 0.05);
}

.modalStyle .nav-link.active {
    background-color: rgba(0, 243, 255, 0.1) !important;
    color: #00f3ff !important;
    border-color: rgba(0, 243, 255, 0.5) rgba(0, 243, 255, 0.5) transparent !important;
    text-shadow: 0 0 8px rgba(0, 243, 255, 0.4);
    font-weight: bold;
}


.modalStyle input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background-color: rgba(11, 25, 41, 0.8);
    border: 1px solid #00f3ff;
    border-radius: 3px;
    cursor: pointer;
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

.modalStyle input[type="checkbox"]:checked {
    background-color: rgba(0, 243, 255, 0.2);
    box-shadow: 0 0 8px rgba(0, 243, 255, 0.6);
}

.modalStyle input[type="checkbox"]:checked::after {
    content: '✔';
    font-size: 12px;
    color: #00f3ff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
}

.modalStyle .card,
.modalStyle .card-body,
.modalStyle .tab-content,
.modalStyle .tab-pane {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.modalStyle .card-title {
    color: #ffffff;
    border-left: 3px solid #00f3ff;
    padding-left: 10px;
    margin-bottom: 20px;
}

.modalStyle .btn
{
    border-width: 2px !important;
    margin-right: 15px !important;
    font-weight: 600;
    letter-spacing: 1px;
    padding: 6px 20px;
    transition: all 0.3s ease-in-out;
}

.modalStyle .btn-outline-success
{
    color: #00ff88 !important;
    border-color: #00ff88 !important;
    background-color: transparent;
    box-shadow: 0 0 10px rgba(0, 255, 136, 0.3);
}

.modalStyle .btn-outline-success:hover
{
    background-color: rgba(0, 255, 136, 0.15) !important;
    color: #ffffff !important;
    box-shadow: 0 0 10px rgba(0, 255, 136, 0.8), inset 0 0 10px rgba(0, 255, 136, 0.5);
    transform: translateY(-2px);
}

.modalStyle .btn-outline-secondary

{
    color: #c4e5ee !important;
    border-color: #c4e5ee !important;
    background-color: transparent;
    box-shadow: 0 0 10px rgba(196, 229, 238, 0.3);
}

.modalStyle .btn-outline-secondary:hover
{
    background-color: rgba(196, 229, 238, 0.15) !important;
    color: #ffffff !important;
    box-shadow: 0 0 10px rgba(196, 229, 238, 0.8), inset 0 0 10px rgba(196, 229, 238, 0.5);
    transform: translateY(-2px);
}

.requiredStyle{
    color: white !important;
}

.modalStyle .modal-footer {
    background-color: rgba(11, 25, 41, 0.5) !important;
    border: none !important;
    border-top: 1px solid rgba(0, 243, 255, 0.3) !important;
    color: #fff;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLjVjN2Q4OWU5LmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Q0FLQztBQUNEOzsrREFFK0Q7QUFDL0Q7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxvQ0FBb0M7SUFDcEMsY0FBYztJQUNkLHlCQUF5QjtJQUN6QixtRUFBbUU7SUFDbkUsNEJBQTRCO0lBQzVCLGlCQUFpQjs7QUFFckI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksY0FBYztJQUNkLHFCQUFxQjtBQUN6Qjs7O0FBR0E7SUFDSSxjQUFjLENBQUM7O0FBRW5COzs7OztJQUtJLGdDQUFnQztJQUNoQyxjQUFjO0lBQ2QsNENBQTRDO0FBQ2hEOztBQUVBOzsrREFFK0Q7QUFDL0QsUUFBUSx1Q0FBdUM7SUFDM0MsNkJBQTZCO0lBQzdCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixjQUFjO0FBQ2xCOzs7QUFHQTtJQUNJO1FBQ0ksYUFBYTtJQUNqQjtBQUNKOztBQUVBOzsrREFFK0Q7QUFDL0Q7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5QkFBeUI7O0lBRXpCLGdDQUFnQztJQUNoQyw0Q0FBNEM7QUFDaEQ7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekI7K0NBQzJDO0FBQy9DOztBQUVBO0lBQ0k7UUFDSSxXQUFXO1FBQ1gsV0FBVztRQUNYLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLFNBQVM7UUFDVCxXQUFXO1FBQ1gsd0JBQXdCO1FBQ3hCLDZCQUE2QjtRQUM3Qiw4QkFBOEI7SUFDbEM7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksVUFBVTtJQUNkOztJQUVBO1FBQ0ksVUFBVTtJQUNkOztJQUVBO1FBQ0ksVUFBVTtJQUNkO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLFVBQVU7SUFDZDs7SUFFQTtRQUNJLFVBQVU7SUFDZDs7SUFFQTtRQUNJLFVBQVU7SUFDZDtBQUNKO0FBQ0E7OytEQUUrRDtBQUMvRDtJQUNJLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFdBQVc7SUFDWCxZQUFZO0lBQ1osY0FBYztJQUNkLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztJQUNYLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsV0FBVztBQUNmOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFVBQVU7QUFDZDtBQUNBOzsrREFFK0Q7QUFDL0QseUJBQXlCO0FBQ3pCO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixRQUFRO0lBQ1IsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsZUFBZTtBQUNuQjs7QUFFQSxvQkFBb0I7QUFDcEI7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQSxtQkFBbUI7QUFDbkI7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNBQWMsRUFBRSxlQUFlO0lBQy9CLGlDQUFpQztJQUNqQyxxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQSwyQkFBMkI7QUFDM0I7SUFDSTtRQUNJLFlBQVk7SUFDaEI7QUFDSjs7QUFFQSw2QkFBNkI7QUFDN0I7SUFDSTtRQUNJLFdBQVc7UUFDWCxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxlQUFlO0lBQ25CO0FBQ0o7O0FBRUEsNkNBQTZDO0FBQzdDO0lBQ0k7UUFDSSxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxlQUFlO0lBQ25CO0FBQ0o7OztBQUdBLFNBQVM7QUFDVDtJQUNJLGVBQWU7SUFDZixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixZQUFZO0lBQ1osWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQixtQ0FBbUM7SUFDbkMsZ0RBQWdEO0lBQ2hELFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEI7d0NBQ29DO0lBQ3BDLCtDQUErQzs7QUFFbkQ7OztBQUdBLDhCQUE4QixtQkFBbUI7SUFDN0MsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCOytDQUMyQztJQUMzQyxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCxvREFBb0Q7SUFDcEQsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCx3Q0FBd0M7QUFDNUM7QUFDQTtJQUNJLHlEQUFpUDtBQUNyUDs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsYUFBYTtBQUNqQjtBQUNBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsU0FBUztRQUNULE9BQU87UUFDUCxRQUFRO1FBQ1Isa0JBQWtCO1FBQ2xCLCtDQUErQztRQUMvQyxhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxTQUFTO1FBQ1QsbUJBQW1CO1FBQ25CLFVBQVU7SUFDZDtBQUNKOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksNENBQTRDO0lBQzVDLHlCQUF5QjtJQUN6QixvREFBb0Q7SUFDcEQsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLHlCQUF5QixFQUFFLGdCQUFnQjtJQUMzQyxlQUFlO0lBQ2YsY0FBYztJQUNkLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGdDQUFnQztJQUNoQyxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixrREFBa0Q7SUFDbEQsb0RBQW9EO0FBQ3hEOztBQUVBLDBDQUEwQyxpQkFBaUI7SUFDdkQsb0NBQW9DO0lBQ3BDLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7O0lBRUksYUFBYTtJQUNiLGtEQUFrRDtBQUN0RDs7QUFFQTtJQUNJLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGNBQWMsRUFBRSxxQkFBcUI7QUFDekM7OztBQUdBOzsrREFFK0Q7QUFDL0Q7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxTQUFTO0lBQ1QsVUFBVTtBQUNkOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWMsRUFBRSxrQ0FBa0M7SUFDbEQsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxjQUFjLEVBQUUsbUNBQW1DO0FBQ3ZEOztBQUVBLHVCQUF1QjtBQUN2QjtJQUNJLHlCQUF5QixFQUFFLHdCQUF3QjtJQUNuRDsrQ0FDMkM7QUFDL0M7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLFlBQVksRUFBRSxrQ0FBa0M7SUFDaEQsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixjQUFjLEVBQUUsMEJBQTBCO0FBQzlDOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBRSxvQ0FBb0M7SUFDekQsY0FBYztJQUNkLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHFDQUFxQztBQUN6Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixjQUFjLEVBQUUsZUFBZTtBQUNuQzs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsRUFBRSxpQkFBaUI7QUFDckM7OztBQUdBO0lBQ0kseUJBQXlCLEVBQUUscUJBQXFCO0FBQ3BEOztBQUVBO0lBQ0kscUNBQXFDO0FBQ3pDOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHlCQUF5QixFQUFFLHlCQUF5QjtBQUN4RDs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGNBQWMsRUFBRSxrQkFBa0I7QUFDdEM7O0FBRUE7SUFDSSx5QkFBeUIsRUFBRSxnQkFBZ0I7QUFDL0M7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQix5QkFBeUIsRUFBRSx3QkFBd0I7SUFDbkQseUJBQXlCLEVBQUUscUJBQXFCO0lBQ2hELGtCQUFrQjtJQUNsQiw2Q0FBNkM7QUFDakQ7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixjQUFjLEVBQUUsbUJBQW1CO0FBQ3ZDOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWMsRUFBRSxpQkFBaUI7QUFDckM7O0FBRUE7SUFDSSxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsY0FBYztJQUNkLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0kseUJBQXlCLEVBQUUscUJBQXFCO0lBQ2hELGNBQWM7QUFDbEI7OztBQUdBLG9CQUFvQjtBQUNwQjs7SUFFSSxvQ0FBb0M7SUFDcEMsb0NBQW9DO0lBQ3BDLHlCQUF5QjtJQUN6QixxREFBcUQ7SUFDckQsaUJBQWlCO0FBQ3JCOztBQUVBOztJQUVJLHlCQUF5QjtJQUN6Qix3Q0FBd0M7SUFDeEMseUJBQXlCO0lBQ3pCLGtCQUFrQjtBQUN0Qjs7QUFFQTs7O0lBR0ksb0RBQW9EO0lBQ3BELHlCQUF5QjtJQUN6QixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx1REFBdUQ7SUFDdkQsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSx5QkFBeUI7SUFDekIsNENBQTRDO0FBQ2hEOztBQUVBOzsrREFFK0Q7QUFDL0QsaUNBQWlDO0FBQ2pDO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxPQUFPO0lBQ1AsU0FBUztJQUNULFlBQVk7SUFDWix3QkFBd0I7SUFDeEIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQix5RkFBeUYsRUFBRSxlQUFlO0lBQzFHLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsZ0NBQWdDO0lBQ2hDLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCO3dDQUNvQztJQUNwQywrQ0FBK0M7QUFDbkQ7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCO0FBQ0E7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixXQUFXO0lBQ1gsVUFBVTtJQUNWLFlBQVk7SUFDWiwwRUFBMEU7SUFDMUUsNEJBQTRCO0lBQzVCLG9CQUFvQjtBQUN4Qjs7QUFFQSxxQ0FBcUM7QUFDckM7SUFDSSxVQUFVO0lBQ1YsV0FBVztJQUNYLHlCQUF5QixFQUFFLGdCQUFnQjtBQUMvQzs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6Qiw0QkFBNEI7QUFDaEM7O0FBRUEsd0NBQXdDO0FBQ3hDO0lBQ0k7UUFDSSxZQUFZO0lBQ2hCOztJQUVBO1FBQ0ksT0FBTztJQUNYO0FBQ0o7O0FBRUE7SUFDSTs7UUFFSSxrQkFBa0I7SUFDdEI7O0lBRUE7O1FBRUksY0FBYztJQUNsQjs7SUFFQTtRQUNJLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxnQkFBZ0IsRUFBRSxtQ0FBbUM7UUFDckQsaUJBQWlCLEVBQUUsdUNBQXVDO1FBQzFELGtCQUFrQjtRQUNsQixjQUFjO0lBQ2xCOztJQUVBO1FBQ0ksY0FBYztRQUNkLGtCQUFrQjtJQUN0QjtBQUNKOztBQUVBLCtCQUErQjtBQUMvQjtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsVUFBVTtBQUNkOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsOEJBQThCLEVBQUUsbUJBQW1CO0lBQ25ELGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckI7O0FBRUEsOEJBQThCO0FBQzlCO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNBQWMsRUFBRSwwQkFBMEI7SUFDMUMseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIseUNBQXlDO0lBQ3pDLDRDQUE0QztJQUM1Qyw4RUFBOEU7SUFDOUUsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZDttQ0FDK0I7SUFDL0IscUJBQXFCO0FBQ3pCOztBQUVBLGdCQUFnQjtBQUNoQjtJQUNJLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLDRCQUE0QjtBQUNoQzs7QUFFQSxpQ0FBaUM7QUFDakM7SUFDSSx5QkFBeUI7SUFDekIsY0FBYztJQUNkLDRCQUE0Qjs7QUFFaEM7QUFDQSxRQUFRO0FBQ1I7O0lBRUkseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZDtvQkFDZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckI7bUNBQytCO0FBQ25DOztBQUVBOztJQUVJLHlCQUF5QjtJQUN6QjtvQkFDZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGNBQWMsRUFBRSxtQ0FBbUM7OztBQUd2RDs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixzQ0FBc0M7O0FBRTFDOztBQUVBO0lBQ0kseUJBQXlCOztBQUU3Qjs7QUFFQTtJQUNJLDJDQUEyQztJQUMzQyx5QkFBeUI7QUFDN0I7OztBQUdBO0lBQ0ksY0FBYztJQUNkO29CQUNnQixFQUFFLDBDQUEwQztBQUNoRTs7QUFFQSw0QkFBNEI7QUFDNUI7SUFDSSxnQkFBZ0I7SUFDaEIsU0FBUztJQUNULGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLHlCQUF5QjtJQUN6QixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGtCQUFrQjtBQUN0Qjs7QUFFQTs7SUFFSSxrQ0FBa0M7SUFDbEMsY0FBYyxFQUFFLGdCQUFnQjtJQUNoQyxrQkFBa0I7QUFDdEI7O0FBRUE7OytEQUUrRDtBQUMvRCxtRUFBbUU7QUFDbkUsb0JBQW9CO0FBQ3BCLG1FQUFtRTtBQUNuRTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2YsMkRBQTJEO0lBQzNELFlBQVk7SUFDWixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxxQ0FBcUM7SUFDckMscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLFdBQVc7QUFDZjs7QUFFQTs7K0RBRStEO0FBQy9EO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTs7K0RBRStEO0FBQy9EO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7SUFDZCxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIscURBQXFEO0lBQ3JELDZDQUE2QztBQUNqRDs7QUFFQTs7SUFFSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7O0lBRUkscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSTtRQUNJLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLHlCQUF5QjtJQUM3QjtBQUNKOztBQUVBO0lBQ0k7UUFDSSx1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSx5QkFBeUI7SUFDN0I7QUFDSjs7QUFFQTs7K0RBRStEO0FBQy9EO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJO1FBQ0ksY0FBYztJQUNsQjtBQUNKOztBQUVBOzsrREFFK0Q7QUFDL0Q7SUFDSSxlQUFlO0lBQ2YsZUFBZTtJQUNmLG9CQUFvQjtJQUNwQiw2QkFBNkIsRUFBRSwrQkFBK0I7SUFDOUQsNkJBQTZCLEVBQUUsOEJBQThCO0lBQzdELDhDQUE4QyxFQUFFLDBCQUEwQjtBQUM5RTs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGNBQWMsRUFBRSxtQkFBbUI7QUFDdkM7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGtEQUFrRDtJQUNsRCxvREFBb0Q7QUFDeEQ7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0FBQ3RCOztBQUVBLFlBQVk7QUFDWjtJQUNJLDJCQUEyQjtBQUMvQjs7QUFFQSx3QkFBd0I7QUFDeEI7SUFDSSwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLGdDQUFnQztJQUNoQywwQ0FBMEM7QUFDOUM7OztBQUdBO0lBQ0ksNkNBQTZDO0lBQzdDLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixpQ0FBaUM7QUFDckM7O0FBRUE7SUFDSSwwQ0FBMEM7SUFDMUMsc0RBQXNEO0lBQ3RELGlDQUFpQztBQUNyQztBQUNBLHlCQUF5QjtBQUN6QjtJQUNJLG9DQUFvQztJQUNwQyxvQ0FBb0M7SUFDcEMsOEJBQThCO0lBQzlCLHVEQUF1RDtJQUN2RCx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsNkNBQTZDO0lBQzdDLDJCQUEyQjtJQUMzQiw0Q0FBNEM7QUFDaEQ7QUFDQTtJQUNJLHlCQUF5QjtJQUN6Qiw2Q0FBNkM7SUFDN0MsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksa0RBQWtEO0lBQ2xELG9DQUFvQztJQUNwQyx5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QixzREFBc0Q7SUFDdEQsNkJBQTZCO0lBQzdCLG9DQUFvQztBQUN4Qzs7QUFFQTtJQUNJLGtEQUFrRDtJQUNsRCxvQ0FBb0M7SUFDcEMseUJBQXlCO0lBQ3pCLHNEQUFzRDtJQUN0RCxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx3Q0FBd0M7SUFDeEMsbURBQW1EO0lBQ25ELHdDQUF3QztJQUN4Qyw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxzREFBc0Q7SUFDdEQsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZ0NBQWdDO0lBQ2hDLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHFEQUFxRDtBQUN6RDs7QUFFQTtJQUNJLG9DQUFvQztJQUNwQyxzREFBc0Q7QUFDMUQ7O0FBRUE7SUFDSSxnRUFBZ0U7QUFDcEU7O0FBRUE7OzhDQUU4Qzs7QUFFOUMsaURBQWlEO0FBQ2pEOzs7OztJQUtJLG9DQUFvQztJQUNwQyxxRUFBcUU7SUFDckUsMkNBQTJDOztJQUUzQyxnQ0FBZ0M7SUFDaEM7O2lDQUU2QjtJQUM3Qix5REFBeUQ7O0lBRXpELDBCQUEwQjtJQUMxQix1RUFBdUU7SUFDdkUsNENBQTRDLEVBQUUsNkJBQTZCO0lBQzNFLGlEQUFpRDtBQUNyRCxDOzs7O0FDdnBDQSxvQ0FBb0M7QUFDcEM7SUFDSSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGdDQUFnQztJQUNoQyxtREFBbUQ7SUFDbkQsY0FBYztJQUNkLHlDQUF5QztJQUN6QyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQ0FBbUM7SUFDbkMsY0FBYztJQUNkLGdEQUFnRDtJQUNoRCxnQkFBZ0I7SUFDaEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGVBQWU7SUFDZix1QkFBdUI7SUFDdkIsY0FBYztJQUNkLGdEQUFnRDtJQUNoRCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSwwQ0FBMEM7QUFDOUM7O0FBRUEseUJBQXlCO0FBQ3pCOztJQUVJLHVCQUF1QjtJQUN2QixvQ0FBb0M7QUFDeEM7OztBQUdBOztJQUVJLG1EQUFtRDtJQUNuRCxrQkFBa0I7SUFDbEIsbURBQW1EO0FBQ3ZEOztBQUVBLHNDQUFzQztBQUN0Qzs7SUFFSSxzREFBc0QsRUFBRSxtQkFBbUI7SUFDM0Usa0JBQWtCO0FBQ3RCOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEJDOztBQUVELDRCQUE0QjtBQUM1QjtJQUNJO1FBQ0ksbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsV0FBVztJQUNmOztJQUVBO1FBQ0ksY0FBYztRQUNkLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFdBQVc7SUFDZjs7SUFFQTs7UUFFSSxtQkFBbUI7SUFDdkI7QUFDSjs7QUFFQSxrQkFBa0I7QUFDbEIscUNBQXFDO0FBQ3JDO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQiw0QkFBNEI7SUFDNUIseUJBQXlCO0FBQzdCOztBQUVBLHdDQUF3Qzs7QUFFeEM7OztJQUdJLG1EQUFtRDtJQUNuRCxtREFBbUQ7SUFDbkQseUJBQXlCO0FBQzdCOztBQUVBLHFCQUFxQjtBQUNyQjtJQUNJLHdDQUF3QztJQUN4QyxtREFBbUQ7SUFDbkQseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksbURBQW1EO0FBQ3ZEOzs7QUFHQTs7SUFFSSxtREFBbUQ7SUFDbkQsMkNBQTJDO0FBQy9DOztBQUVBLDJCQUEyQjtBQUMzQjtJQUNJLHFEQUFxRDtJQUNyRCxpREFBaUQ7SUFDakQsMENBQTBDO0FBQzlDOztBQUVBLGtCQUFrQjtBQUNsQjtJQUNJLG1EQUFtRDtJQUNuRCxtREFBbUQ7SUFDbkQseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksa0RBQWtELEVBQUUsaUJBQWlCO0lBQ3JFLGtEQUFrRDtJQUNsRCx5QkFBeUI7SUFDekIsc0RBQXNEO0lBQ3RELHVDQUF1QztJQUN2QyxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSxrREFBa0Q7SUFDbEQscURBQXFEO0lBQ3JELHlCQUF5QjtJQUN6QixnQ0FBZ0M7QUFDcEM7O0FBRUEsZ0JBQWdCO0FBQ2hCO0lBQ0ksbURBQW1EO0lBQ25ELHlCQUF5QjtJQUN6QixtREFBbUQ7SUFDbkQsdURBQXVEO0lBQ3ZELHVDQUF1QztJQUN2QyxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSxtREFBbUQ7SUFDbkQsc0RBQXNEO0lBQ3RELHNCQUFzQjtJQUN0QixnQ0FBZ0M7QUFDcEM7O0FBRUEsc0JBQXNCO0FBQ3RCO0lBQ0ksbURBQW1EO0lBQ25ELHlCQUF5QjtJQUN6QixtREFBbUQ7QUFDdkQ7OztBQUdBO0lBQ0ksbURBQW1EO0lBQ25ELHVEQUF1RDtJQUN2RCxtREFBbUQ7SUFDbkQseUJBQXlCO0lBQ3pCLHVDQUF1QztJQUN2QyxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSxtREFBbUQ7SUFDbkQseUJBQXlCO0lBQ3pCLHNEQUFzRDtJQUN0RCxnQ0FBZ0M7QUFDcEM7O0FBRUEscUJBQXFCO0FBQ3JCO0lBQ0ksb0NBQW9DO0lBQ3BDLHlCQUF5QjtJQUN6QixvQ0FBb0M7QUFDeEM7O0FBRUE7SUFDSSxvQ0FBb0M7QUFDeEM7O0FBRUEsb0JBQW9CO0FBQ3BCO0lBQ0kseUJBQXlCO0lBQ3pCOytDQUMyQztBQUMvQzs7QUFFQTs7SUFFSSxrREFBa0Q7SUFDbEQsb0NBQW9DO0lBQ3BDLHNDQUFzQztJQUN0Qyx5QkFBeUI7SUFDekIsOEJBQThCO0lBQzlCLGFBQWE7SUFDYixvQkFBb0I7QUFDeEI7OztBQUdBOzs7SUFHSSx5QkFBeUI7SUFDekIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixxQkFBcUI7QUFDekI7O0FBRUE7O0lBRUksa0RBQWtEO0lBQ2xELG9DQUFvQztJQUNwQyxzQ0FBc0M7QUFDMUM7QUFDQSxnQkFBZ0I7QUFDaEI7SUFDSSxvQ0FBb0M7SUFDcEMsdUJBQXVCO0FBQzNCOztBQUVBOzs7SUFHSSx3Q0FBd0M7SUFDeEMsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtBQUMvQjs7QUFFQTs7Ozs7SUFLSSx5QkFBeUI7QUFDN0I7O0FBRUE7OztJQUdJLHlCQUF5Qjs7QUFFN0I7O0FBRUE7SUFDSSxvQ0FBb0M7SUFDcEMsb0RBQW9EO0lBQ3BELHlDQUF5QztBQUM3Qzs7QUFFQTs7O0lBR0kseUJBQXlCO0lBQ3pCLHdDQUF3QztJQUN4QyxlQUFlO0FBQ25COztBQUVBOztJQUVJLG1EQUFtRDtJQUNuRCx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0FBQ3pCO0FBQ0E7O0lBRUksb0RBQW9EO0lBQ3BELHlCQUF5QjtJQUN6QiwwREFBMEQ7QUFDOUQ7O0FBRUE7SUFDSSxvQ0FBb0M7SUFDcEMsdUJBQXVCO0FBQzNCO0FBQ0EsMEJBQTBCO0FBQzFCOztJQUVJLG1EQUFtRDtJQUNuRCxvQ0FBb0M7SUFDcEMsMkNBQTJDO0lBQzNDLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLDBCQUEwQjtJQUMxQiw2QkFBNkI7QUFDakM7QUFDQTs7SUFFSSxtREFBbUQ7SUFDbkQseUJBQXlCO0lBQ3pCLDJDQUEyQztJQUMzQyxzQkFBc0I7QUFDMUI7QUFDQSxvQkFBb0I7QUFDcEI7SUFDSSw2Q0FBNkM7SUFDN0Msa0RBQWtEO0lBQ2xELHFEQUFxRDtJQUNyRCx5QkFBeUI7QUFDN0I7O0FBRUE7O0lBRUksZ0RBQWdEO0FBQ3BEOzs7QUFHQTtJQUNJLGtEQUFrRDtBQUN0RDs7QUFFQSxtQ0FBbUMscUJBQXFCO0lBQ3BELCtDQUErQztJQUMvQyx5QkFBeUI7SUFDekIscUNBQXFDO0FBQ3pDOzs7QUFHQSxVQUFVOztJQUVOO1FBQ0ksNkNBQTZDO1FBQzdDLHlCQUF5QjtJQUM3Qjs7O0FBR0o7SUFDSSxtREFBbUQ7SUFDbkQsb0NBQW9DO0lBQ3BDLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQiwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxtREFBbUQ7SUFDbkQseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1QixzQkFBc0I7QUFDMUI7Ozs7QUFJQSxxQkFBcUI7QUFDckI7SUFDSSxrREFBa0Q7SUFDbEQsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGdDQUFnQztJQUNoQyxzREFBc0Q7QUFDMUQ7O0FBRUE7SUFDSSxrREFBa0Q7SUFDbEQsZ0NBQWdDO0lBQ2hDLHlCQUF5Qjs7QUFFN0I7QUFDQSxxQkFBcUI7O0FBRXJCO0lBQ0ksbURBQW1EO0lBQ25ELGdDQUFnQztJQUNoQyxxQ0FBcUM7SUFDckMsb0VBQTRQO0FBQ2hROztBQUVBO0lBQ0ksb0NBQW9DO0lBQ3BDLGdDQUFnQztJQUNoQyxzREFBc0Q7SUFDdEQseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksb0NBQW9DO0lBQ3BDLHlCQUF5QjtBQUM3Qjs7QUFFQTs7O0lBR0ksNkNBQTZDO0lBQzdDLHdEQUF3RDtJQUN4RCxxREFBcUQ7SUFDckQsOEJBQThCO0lBQzlCLCtCQUErQjtBQUNuQztBQUNBLFNBQVM7OztBQUdUO0lBQ0kscUdBQXFHO0lBQ3JHLDBEQUEwRCxFQUFFLHFCQUFxQjtJQUNqRix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCOytDQUMyQztJQUMzQyxnQkFBZ0I7QUFDcEI7OztBQUdBO0lBQ0ksNkRBQTZEO0lBQzdELFlBQVk7O0FBRWhCOztBQUVBO0lBQ0ksNkNBQTZDO0lBQzdDLG9DQUFvQztJQUNwQyx1REFBdUQ7SUFDdkQseUJBQXlCO0FBQzdCOztBQUVBOztJQUVJLGtEQUFrRDtJQUNsRCxvREFBb0Q7SUFDcEQseUJBQXlCO0lBQ3pCLDJCQUEyQjtBQUMvQjs7O0FBR0E7O0lBRUksa0RBQWtEO0lBQ2xELDhDQUE4QztJQUM5QyxzREFBc0Q7QUFDMUQ7QUFDQTtJQUNJLGdDQUFnQztBQUNwQzs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOzs7O0FBSUE7SUFDSSxrREFBa0QsRUFBRSx1QkFBdUI7SUFDM0UsdURBQXVELEVBQUUscUJBQXFCO0FBQ2xGOzs7QUFHQTtJQUNJLHdDQUF3QztJQUN4QyxvQ0FBb0M7SUFDcEMseUJBQXlCO0lBQ3pCLDZDQUE2QztBQUNqRDs7QUFFQTtJQUNJLHNEQUFzRDtJQUN0RCxzQkFBc0I7SUFDdEIsc0ZBQXNGO0lBQ3RGLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLHdDQUF3QztJQUN4QyxvQ0FBb0M7SUFDcEMseUJBQXlCO0lBQ3pCLDJDQUEyQztBQUMvQzs7QUFFQSw2QkFBNkI7QUFDN0I7Ozs7SUFJSSwrREFBK0Q7SUFDL0QsMkNBQTJDO0lBQzNDLG1EQUFtRDtJQUNuRCxpREFBaUQ7SUFDakQsK0JBQStCO0lBQy9CLGNBQWM7QUFDbEIsQzs7OztBQzFpQkEsMkNBQTJDO0FBQzNDO0lBQ0ksZUFBZTtJQUNmLFlBQVk7SUFDWixXQUFXO0lBQ1gseUJBQXlCLEVBQUUsK0JBQStCO0lBQzFELGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsdUNBQXVDO0lBQ3ZDLFVBQVUsRUFBRSxpREFBaUQ7QUFDakU7O0FBRUEsMkNBQTJDO0FBQzNDO0lBQ0ksZUFBZTtJQUNmLFlBQVksRUFBRSx3REFBd0Q7SUFDdEUsV0FBVztJQUNYLHlCQUF5QixFQUFFLCtCQUErQjtJQUMxRCxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLHVDQUF1QztJQUN2QyxVQUFVLEVBQUUsaURBQWlEO0FBQ2pFOztBQUVBLGtEQUFrRDtBQUNsRDtJQUNJLHFCQUFxQjtJQUNyQixXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUEsaURBQWlEO0FBQ2pEO0lBQ0ksZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxrQkFBa0I7SUFDbEIsVUFBVTtBQUNkOztBQUVBLGlEQUFpRDtBQUNqRDtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUEsb0VBQW9FO0FBQ3BFOztJQUVJLHdCQUF3QjtJQUN4QixTQUFTO0FBQ2I7O0FBRUEsK0NBQStDO0FBQy9DO0lBQ0ksMEJBQTBCO0FBQzlCOzs7QUFHQTtJQUNJLHdDQUF3QztJQUN4QyxlQUFlO0FBQ25COztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG9DQUFvQztJQUNwQyxlQUFlO0FBQ25COztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1DQUFtQztJQUNuQyxlQUFlOztBQUVuQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsYUFBYTtBQUNqQjtBQUNBO0lBQ0ksWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixtQ0FBbUM7SUFDbkMsZUFBZTtJQUNmLDhCQUE4QjtBQUNsQzs7QUFFQSxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCLHNCQUFzQjtBQUN0QixRQUFRO0FBQ1IsWUFBWTtBQUNaLHNCQUFzQjtBQUN0QixRQUFRO0FBQ1IsSUFBSSxDOzs7O0FDOUdKOztrQ0FFa0M7O0FBRWxDLDRCQUE0Qjs7QUFLNUIsOEJBQThCOztBQUk5QixzQkFBc0I7O0FBR3RCLHFDQUFxQzs7QUFLckMscUJBQXFCOztBQUdyQiwwQkFBMEI7O0FBSTFCLGlDQUFpQzs7QUFJakMsaUNBQWlDOztBQUdqQyxnREFBZ0Q7Ozs7O0FDbkNoRDs7SUFFSSw2Q0FBNkM7SUFDN0Msb0NBQW9DO0lBQ3BDLHVEQUF1RDtJQUN2RCx5QkFBeUI7QUFDN0I7O0FBRUE7O0lBRUksMEZBQTBGO0lBQzFGLDBEQUEwRDtBQUM5RDs7QUFFQTs7SUFFSSx5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCOytDQUMyQztJQUMzQyxnQkFBZ0I7QUFDcEI7O0FBRUE7O0lBRUksa0RBQWtEO0lBQ2xELFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxtREFBbUQ7SUFDbkQseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7O0lBRUkscURBQXFELEVBQUUsa0JBQWtCO0lBQ3pFLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGVBQWU7SUFDZix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxtREFBbUQ7SUFDbkQseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLDJDQUEyQztJQUMzQyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLG1CQUFtQjtBQUN2Qjs7QUFFQTs7OztJQUlJLG9EQUFvRCxFQUFFLGlDQUFpQztJQUN2RixlQUFlO0FBQ25COztBQUVBO0lBQ0ksZ0RBQWdEO0FBQ3BEOztBQUVBO0lBQ0ksY0FBYztJQUNkLDZCQUE2QjtJQUM3Qix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxjQUFjO0lBQ2QseUNBQXlDO0FBQzdDOztBQUVBO0lBQ0ksbURBQW1EO0lBQ25ELHlCQUF5QjtJQUN6QixrRkFBa0Y7SUFDbEYsMkNBQTJDO0lBQzNDLGlCQUFpQjtBQUNyQjs7O0FBR0E7SUFDSSxnQkFBZ0I7SUFDaEIsd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWCxZQUFZO0lBQ1osdUNBQXVDO0lBQ3ZDLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksd0NBQXdDO0lBQ3hDLDBDQUEwQztBQUM5Qzs7QUFFQTtJQUNJLFlBQVk7SUFDWixlQUFlO0lBQ2YsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsU0FBUztJQUNULGdDQUFnQztJQUNoQyxpQkFBaUI7QUFDckI7O0FBRUE7Ozs7SUFJSSx3Q0FBd0M7SUFDeEMsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtBQUN2Qjs7QUFFQTs7SUFFSSw0QkFBNEI7SUFDNUIsNkJBQTZCO0lBQzdCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGdDQUFnQztBQUNwQzs7QUFFQTs7SUFFSSx5QkFBeUI7SUFDekIsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3QiwyQ0FBMkM7QUFDL0M7O0FBRUE7O0lBRUksb0RBQW9EO0lBQ3BELHlCQUF5QjtJQUN6QixrRkFBa0Y7SUFDbEYsMkJBQTJCO0FBQy9COztBQUVBOzs7SUFHSSx5QkFBeUI7SUFDekIsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3Qiw2Q0FBNkM7QUFDakQ7O0FBRUE7O0lBRUksc0RBQXNEO0lBQ3RELHlCQUF5QjtJQUN6QixzRkFBc0Y7SUFDdEYsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksa0RBQWtEO0lBQ2xELHVCQUF1QjtJQUN2Qix1REFBdUQ7SUFDdkQsV0FBVztBQUNmLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3N0eWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3RhYmxlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy92aXN0YXMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbmZpZ3VyYWNpb24vbW9kYWwuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuKiBUZW1wbGF0ZSBOYW1lOiBOaWNlQWRtaW4gLSB2Mi41LjBcbiogVGVtcGxhdGUgVVJMOiBodHRwczovL2Jvb3RzdHJhcG1hZGUuY29tL25pY2UtYWRtaW4tYm9vdHN0cmFwLWFkbWluLWh0bWwtdGVtcGxhdGUvXG4qIEF1dGhvcjogQm9vdHN0cmFwTWFkZS5jb21cbiogTGljZW5zZTogaHR0cHM6Ly9ib290c3RyYXBtYWRlLmNvbS9saWNlbnNlL1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgR2VuZXJhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI3VpLWlkLTEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuOnJvb3Qge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogI2U5ZjdmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk1Zjg3O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzOTVmODcgMCUsICMyYTRkN2YgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxufVxuXG5hIHtcbiAgICBjb2xvcjogIzQxNTRmMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICAgIGNvbG9yOiAjNzE3ZmY1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG5oMXtcbiAgICBjb2xvcjogI2ZmZmZmZjt9XG5cbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMwNjBlMTk7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA1cHggcmdiYSg4MCwgMjAwLCAyNTUsIDAuMyk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWFpblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI21haW4geyAvKiBwYXJ0ZSBkZSBhYmFqbyBkZWwgbmF2YmFyLCAodGl0dGxlKSovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBjb2xvcjogI2U5ZjdmZjtcbn1cblxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgI21haW4ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBQYWdlIFRpdGxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucGFnZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucGFnZXRpdGxlIGgxIHtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDBkMmZmICFpbXBvcnRhbnQ7XG5cbiAgICAvKiBTb21icmEgcGFyYSBxdWUgcGFyZXpjYSBsdXogKi9cbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAyMTAsIDI1NSwgMC42KTtcbn1cblxuLmxvZ28gc3BhbiB7XG4gICAgY29sb3I6ICNlOWY3ZmYgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDZweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC45KSxcbiAgICAwIDAgMTRweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZHJvcGRvd24tbWVudS1hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWFlZGYxO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlYWVkZjE7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZHJvcGRvd24tYW5pbWF0ZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZHJvcGRvd24tYW5pbWF0ZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEJhY2sgdG8gdG9wIGJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJhY2stdG8tdG9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIGJhY2tncm91bmQ6ICM0MTU0ZjE7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbn1cblxuLmJhY2stdG8tdG9wIGkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmJhY2stdG8tdG9wOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjc3NmY0O1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uYmFjay10by10b3AuYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRXN0aWxvIGJhc2UgZGVsIGxvZ28gKi9cbi5sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogSW1hZ2VuIGRlbCBsb2dvICovXG4ubG9nbyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBUZXh0byBkZWwgbG9nbyAqL1xuLmxvZ28gc3BhbiB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDk2RkY7IC8qIGF6dWwgY2llbG8gKi9cbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogUGFyYSBwYW50YWxsYXMgZ3JhbmRlcyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgIH1cbn1cblxuLyogUGFyYSB0YWJsZXRzIHkgY2VsdWxhcmVzICovXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gICAgLmxvZ28ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICB9XG5cbiAgICAubG9nbyBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5sb2dvIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG4vKiBQYXJhIGNlbHVsYXJlcyBwZXF1ZcOxb3MgKG1lbm9zIGRlIDU3NnB4KSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgIH1cblxuICAgIC5sb2dvIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuXG5cbi8qaGVhZGVyKi9cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgei1pbmRleDogOTk3O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlMWIyYTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoODAsIDIwMCwgMjU1LCAwLjEpO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMXB4IHJnYmEoODAsIDIwMCwgMjU1LCAwLjgpLFxuICAgIDAgMCAyMHB4IDVweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC40KTtcbiAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCByZ2JhKDgwLCAyMDAsIDI1NSwgMC45KTtcblxufVxuXG5cbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0biB7IC8qTWVudSBoYW1idXJndWVzYSovXG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICNlOWY3ZmYgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDZweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC45KSxcbiAgICAwIDAgMTRweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1iYXIge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuI2xhbmd1YWdlIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZTlmN2ZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODAsIDIwMCwgMjU1LCAwLjQpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDQ3LCA3MSwgMC44NSk7XG59XG4jbGFuZ3VhZ2UuZm9ybS1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwOTZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuI2xhbmd1YWdlIG9wdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlMWIyYTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5oZWFkZXIgLnNlYXJjaC1iYXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5zZWFyY2gtYmFyLXNob3cge1xuICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0SGVhZGVyLHNlbGVjdEhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3LCA0NiwgODUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNlOWY3ZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDgwLCAyMDAsIDI1NSwgMC4zKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIC8qIGJvcmRlcjogMXB4IHNvbGlkICNiM2Q5ZmY7Ki9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyAvKiBibGFuY28gcHVybyAqL1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2UxZTNlNjtcbiAgICBwYWRkaW5nOiA3cHggMzhweCA3cHggOHB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDQ3LCA3MSwgMC42KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODAsIDIwMCwgMjU1LCAwLjQpICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OjpwbGFjZWhvbGRlciB7IC8qdGV4dG8gYSBidXNjYXIqL1xuICAgIGNvbG9yOiByZ2IoMjI1LCAyMjcsIDIzMCkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6Zm9jdXMsXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSBpbnB1dDpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoNzcsIDE3MSwgMjQ3LCAwLjI1KTtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gYnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gYnV0dG9uIGkge1xuICAgIGNvbG9yOiAjMDA5NkZGOyAvKiDDrWNvbm8gYXp1bCBjaWVsbyAqL1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgSGVhZGVyIE5hdlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmhlYWRlci1uYXYgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5oZWFkZXItbmF2ID4gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uaGVhZGVyLW5hdiAubmF2LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgLyogQXp1bCBjaWVsbyBwcmluY2lwYWwsIGRlbCBpY29uKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtaWNvbjpob3ZlciB7XG4gICAgY29sb3I6ICMwODk1ZWM7IC8qIEF6dWwgbcOhcyBjbGFybyBlbiBob3ZlciwgZWZmZWN0Ki9cbn1cblxuLypuYXYgZGVyZWNobywgcHJvZmlsZSovXG4uaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUge1xuICAgIGNvbG9yOiAjZTlmN2ZmICFpbXBvcnRhbnQ7IC8qIFRleHRvIGF6dWwgcHJvZnVuZG8gKi9cbiAgICB0ZXh0LXNoYWRvdzogMCAwIDZweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC45KSxcbiAgICAwIDAgMTRweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA1NHB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIGJvcmRlcjogbm9uZTsgLypib3JkZSBicmlsbGFudGUgZW4gcHJvZmlsZXBob3RvKi9cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI2U5ZjdmZjsgLyogTm9tYnJlIGF6dWwgcHJpbmNpcGFsICovXG59XG5cbi5oZWFkZXItbmF2IC5iYWRnZS1udW1iZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLTJweCAtNXB4IGF1dG8gYXV0bztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDk2RkY7IC8qIEF6dWwgdmlicmFudGUgcGFyYSBub3RpZmljYWNpw7NuICovXG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLmhlYWRlci1uYXYgLm5vdGlmaWNhdGlvbnMge1xuICAgIGluc2V0OiA4cHggLTE1cHggYXV0byBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFMEYwRkY7XG59XG5cbi5oZWFkZXItbmF2IC5ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24taXRlbSBpIHtcbiAgICBtYXJnaW46IDAgMjBweCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjMDA3QkZGOyAvKiDDjWNvbm8gYXp1bCAqL1xufVxuXG4uaGVhZGVyLW5hdiAubm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLWl0ZW0gaDQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBjb2xvcjogIzAwMzM2NjsgLyogVGV4dG8gb3NjdXJvICovXG59XG5cblxuLmhlYWRlci1uYXYgLm5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFGNkZGOyAvKiBIb3ZlciBhenVsIGNpZWxvICovXG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyB7XG4gICAgaW5zZXQ6IDhweCAtMTVweCBhdXRvIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1uYXYgLm1lc3NhZ2VzIC5tZXNzYWdlLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFMEYwRkY7XG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyAubWVzc2FnZS1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyAubWVzc2FnZS1pdGVtIGltZyB7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAxMHB4O1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDk2RkY7IC8qIEJvcmRlIGF6dWwgYnJpbGxhbnRlICovXG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyAubWVzc2FnZS1pdGVtIGg0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgY29sb3I6ICMwMDMzNjY7IC8qIEF6dWwgcHJvZnVuZG8gKi9cbn1cblxuLmhlYWRlci1uYXYgLm1lc3NhZ2VzIC5tZXNzYWdlLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUY2RkY7IC8qIEhvdmVyIHN1YXZlICovXG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIHtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRvcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgLyogRm9uZG8gYmxhbmNvIGxpbXBpbyAqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNENkU5RkY7IC8qIEJvcmRlIGF6dWwgY2xhcm8gKi9cbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEyMywgMjU1LCAwLjEpO1xufVxuXG4uaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIGg2IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDA3QkZGOyAvKiBBenVsIHByaW5jaXBhbCAqL1xufVxuXG4uaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2UxZTNlNjsgLyogR3JpcyBhenVsYWRvICovXG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1pdGVtIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgY29sb3I6ICMwMDMzNjY7IC8qIEF6dWwgb3NjdXJvIHRleHRvICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0gaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogIzAwN0JGRjsgLyogQXp1bCBpY29ub3MgKi9cbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4uaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjZGRjsgLyogQXp1bCBjaWVsbyBzdWF2ZSAqL1xuICAgIGNvbG9yOiAjMDA3QkZGO1xufVxuXG5cbi8qZm9yemFyIGVsIHByb2ZpbGUqL1xuLmRyb3Bkb3duLW1lbnUsXG4ubmF2YmFyIC5kcm9wZG93bi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUxYjJhICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjNmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZTlmN2ZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjgpICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5kcm9wZG93bi1pdGVtLFxuLm5hdmJhciAuZHJvcGRvd24taXRlbSB7XG4gICAgY29sb3I6ICNlOWY3ZmYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xufVxuXG4uZHJvcGRvd24taXRlbTpob3Zlcixcbi5kcm9wZG93bi1pdGVtOmZvY3VzLFxuLm5hdmJhciAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNDMsIDI1NSwgMC4xNSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwZjNmZiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbn1cblxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDI0MywgMjU1LCAwLjMpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwLjVyZW0gMDtcbn1cbi5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgLmVtYWlsbmF2e1xuICAgIGNvbG9yOiAjZTlmN2ZmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA2cHggcmdiYSg4MCwgMjAwLCAyNTUsIDAuOSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgU2lkZWJhciBJWlFVSUVSREFBQUFBQUFBQUFBQUFBQUFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qID09PT09PT0gU0lERUJBUiBCQVNFID09PT09PT0gKi9cbi5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA2MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzM5NWY4NyA1MCUsICMzOTVmODcsIHJnYmEoMjE3LCAyMzYsIDI1NSwgMC41OCkgMTAwJSk7IC8qIGF6dWwgb3NjdXJvKi9cbiAgICBib3JkZXItbGVmdDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTVweCAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC8qbm8gc2Nyb2xsIGJhciovXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDJweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC44KSxcbiAgICAwIDAgMjBweCA1cHggcmdiYSg4MCwgMjAwLCAyNTUsIDAuNCk7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgcmdiYSg4MCwgMjAwLCAyNTUsIDAuOSk7XG59XG5cbi5zaWRlYmFyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zaWRlYmFyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtM3B4O1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAxNTAsIDI1NSwgMC4yKSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qID09PT09PT0gU0NST0xMQkFSIENVU1RPTSA9PT09PT09ICovXG4uc2lkZWJhcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA1MGIxNDsgLyogQXp1bCBwYXN0ZWwgKi9cbn1cblxuLnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmM2ZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4ICMwMGYzZmY7XG59XG5cbi8qID09PT09PT0gUkVTUE9OU0lWRSBCRUhBVklPUiA9PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnNpZGViYXIge1xuICAgICAgICBsZWZ0OiAtMzAwcHg7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1zaWRlYmFyIC5zaWRlYmFyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAjbWFpbixcbiAgICAjZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwMHB4O1xuICAgIH1cblxuICAgIC50b2dnbGUtc2lkZWJhciAjbWFpbixcbiAgICAudG9nZ2xlLXNpZGViYXIgI2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC50b2dnbGUtc2lkZWJhciAuc2lkZWJhciB7XG4gICAgICAgIGxlZnQ6IC0zMDBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5zZWFyY2gtYmFyIHtcbiAgICAgICAgbWluLXdpZHRoOiAyNTBweDsgLyogQXF1w60gc8OtIGxlIGRhbW9zIHRhbWHDsW8gZ3JhbmRlICovXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyAvKiBFbCByZXNvcnRlIHF1ZSBlbXB1amEgYSBsYSBkZXJlY2hhICovXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgI2xhbmd1YWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICB9XG59XG5cbi8qID09PT09PT0gTkFWIFNUWUxFUyA9PT09PT09ICovXG4uc2lkZWJhci1uYXYge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBtYXJnaW46IDJweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyMHB4KTtcbn1cblxuLnNpZGViYXItbmF2IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgLyogQXp1bCBjaWVsbyBpbnRlbnNvICovXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDEycHggMCA2cHggMTVweDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM0REI4RkY7IC8qIEF6dWwgZGVncmFkYWRvICovXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4vKiA9PT09PT09IE5BViBMSU5LUyA9PT09PT09ICovXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNlOWY3ZmY7IC8qIEF6dWwgbWVkaW8gcGFyYSB0ZXh0byAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTFiMmE7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDgwLCAyMDAsIDI1NSwgMC45KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC42KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3MsIGJveC1zaGFkb3cgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYm94LXNoYWRvdztcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZWNmZjtcbiAgICBjb2xvcjogIzAwN0JGRjtcbiAgICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC42KSxcbiAgICAwIDAgNXB4IHJnYmEoODAsIDIwMCwgMjU1LCAwLjkpO1xuICAgIGJvcmRlci1jb2xvcjogIzAwOTZGRjtcbn1cblxuLyogaWNvbm9zIG5hdiAgKi9cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICBjb2xvcjogI2U5ZjdmZjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjMDBmM2ZmO1xufVxuXG4vKmN1YW5kbyBubyBlc3RhIHNpbiBzZWxlY2Npb25hciovXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rLmNvbGxhcHNlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlMWIyYTtcbiAgICBjb2xvcjogI2U5ZjdmZjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjMDBmM2ZmO1xuXG59XG4vKkhPVkVSKi9cbi5zaWRlYmFyLW5hdiAubmF2LWxpbms6aG92ZXIsXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUxYjJhO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtc2hhZG93OiAwIDAgMTVweCAjMDBmM2ZmLFxuICAgIDAgMCAxMHB4ICMwMGYzZmY7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvcmRlci1jb2xvcjogIzAwOTZGRjtcbiAgICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC42KSxcbiAgICAwIDAgNXB4IHJnYmEoODAsIDIwMCwgMjU1LCAwLjkpO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIGksXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSBpIHtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgNXB4ICMwMGYzZmYsXG4gICAgMCAwIDEwcHggIzAwZjNmZjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluay5jb2xsYXBzZWQgaSB7XG4gICAgY29sb3I6ICNlOWY3ZmY7IC8qIMONY29ubyBjYW1iaWEgYSBhenVsIG3DoXMgb3NjdXJvICovXG5cblxufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rIC5iaS1jaGV2cm9uLWRvd24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuXG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbms6bm90KC5jb2xsYXBzZWQpIC5iaS1jaGV2cm9uLWRvd24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluayBzcGFuIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDI0MywgMjU1LCAwLjYpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cblxuLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlciBzcGFuIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjMDBmM2ZmLFxuICAgIDAgMCAxNXB4ICMwMGYzZmY7IC8qIERvYmxlIHNvbWJyYSBwYXJhIGVmZWN0byBuZcOzbiBpbnRlbnNvICovXG59XG5cbi8qID09PT09PT0gU1VCTUVOw5ogPT09PT09PSAqL1xuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCB7XG4gICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNlNmViZjE7IC8qIEF6dWwgaW50ZXJtZWRpbyAqL1xuICAgIHBhZGRpbmc6IDEycHggMCAxMnB4IDQwcHg7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIGkge1xuICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYTpob3Zlcixcbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzMiwgNjcsIDEwMyk7XG4gICAgY29sb3I6ICNmZmZmZmY7IC8qIEF6dWwgZnVlcnRlICovXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIERhc2hib2FyZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyohKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIyBJY29ucyBsaXN0IHBhZ2UqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSohKi9cbi5pY29uc2xpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xuICAgIGdhcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLmljb25zbGlzdCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzAxMjk3MDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5pY29uc2xpc3QgaSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG4uaWNvbnNsaXN0IC5sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAjNjY2O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEYuQS5RIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYXEgLmJhc2ljIGg2IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQxNTRmMTtcbn1cblxuLmZhcSAuYmFzaWMgcCB7XG4gICAgY29sb3I6ICM2OTgwYWE7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQ29udGFjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNvbnRhY3QgLmluZm8tYm94IHtcbiAgICBwYWRkaW5nOiAyOHB4IDMwcHg7XG59XG5cbi5jb250YWN0IC5pbmZvLWJveCBpIHtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG59XG5cbi5jb250YWN0IC5pbmZvLWJveCBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDEyOTcwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xufVxuXG4uY29udGFjdCAuaW5mby1ib3ggcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIC5lcnJvci1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNlZDNjMGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIC5zZW50LW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzE4ZDI2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSAubG9hZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSAubG9hZGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luOiAwIDEwcHggLTZweCAwO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMxOGQyNmU7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VlZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZS1sb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGUtbG9hZGluZyAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSBpbnB1dCxcbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gaW5wdXQ6Zm9jdXMsXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzQxNTRmMTtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIGlucHV0IHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZzogMTJweCAxNXB4O1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gICAgYmFja2dyb3VuZDogIzQxNTRmMTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzU5NjlmMztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGUtbG9hZGluZyB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS1sb2FkaW5nIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBFcnJvciA0MDRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5lcnJvci00MDQge1xuICAgIHBhZGRpbmc6IDMwcHg7XG59XG5cbi5lcnJvci00MDQgaDEge1xuICAgIGZvbnQtc2l6ZTogMTgwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzQxNTRmMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTBweDtcbn1cblxuLmVycm9yLTQwNCBoMiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMTI5NzA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmVycm9yLTQwNCAuYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTE2NzhmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDhweCAzMHB4O1xufVxuXG4uZXJyb3ItNDA0IC5idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzZTRmNmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5lcnJvci00MDQgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZvb3RlciB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogRm9uZG8gYXp1bCBjaWVsbyBtdXkgY2xhcm8gKi9cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0I1RDlGRjsgLyogTMOtbmVhIHN1cGVyaW9yIGF6dWwgY2xhcmEgKi9cbiAgICBib3gtc2hhZG93OiAwIC0ycHggMTBweCByZ2JhKDAsIDEyMywgMjU1LCAwLjEpOyAvKiBTb21icmEgc3V0aWwgc3VwZXJpb3IgKi9cbn1cblxuLmZvb3RlciAuY29weXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICMwMDdCRkY7IC8qIEF6dWwgY2llbG8gcHJpbmNpcGFsICovXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmZvb3RlciAuY3JlZGl0cyB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMzM5OUZGOyAvKiBBenVsIG3DoXMgc3VhdmUgKi9cbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYWNjZW50LWNvbG9yOiAjMGQ2ZWZkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNDcsIDcxLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4MCwgMjAwLCAyNTUsIDAuNCkgIWltcG9ydGFudDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMGQ2ZWZkO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyovKiBIb3ZlciAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICMwZDZlZmQ7XG59XG5cbi8qIEN1YW5kbyBlc3TDoSBtYXJjYWRvICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwZDZlZmQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICMwMGYzZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMjQzLCAyNTUsIDAuNCk7XG59XG5cblxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYnMtZGFyaykgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IHZhcigtLWJzLWRhcmspO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpZ2h0KTtcbn1cblxuaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzLCBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTMsIDExMCwgMjUzLCAwLjUpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtd2hpdGUpO1xufVxuLyogZXN0aWxvcyBkZSBsb3MgYWxlcnQgKi9cbmRpdjp3aGVyZSguc3dhbDItY29udGFpbmVyKSBkaXY6d2hlcmUoLnN3YWwyLXBvcHVwKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlMWIyYSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGYzZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDI1cHggcmdiYSgwLCAyNDMsIDI1NSwgMC4yNSkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyZW0gIWltcG9ydGFudDtcbn1cblxuZGl2OndoZXJlKC5zd2FsMi1jb250YWluZXIpIC5zd2FsMi10aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDI0MywgMjU1LCAwLjUpO1xufVxuZGl2OndoZXJlKC5zd2FsMi1jb250YWluZXIpIC5zd2FsMi1odG1sLWNvbnRhaW5lciB7XG4gICAgY29sb3I6ICNkMGU2ZjUgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbmRpdjp3aGVyZSguc3dhbDItY29udGFpbmVyKSAuc3dhbDItY29uZmlybSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNDcsIDcxLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwZjNmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDBmM2ZmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMjQzLCAyNTUsIDAuMikgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHggIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbmRpdjp3aGVyZSguc3dhbDItY29udGFpbmVyKSAuc3dhbDItY29uZmlybTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNDcsIDcxLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwZjNmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDBmM2ZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAyNDMsIDI1NSwgMC42KSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbmRpdjp3aGVyZSguc3dhbDItY29udGFpbmVyKSAuc3dhbDItY2FuY2VsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAxOTAsIDAsIDAuOCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDE5MCwgMCwgMC44KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweCAhaW1wb3J0YW50O1xufVxuXG5kaXY6d2hlcmUoLnN3YWwyLWNvbnRhaW5lcikgLnN3YWwyLWNhbmNlbDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgyNTUsIDE5MCwgMCwgMC41KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbmRpdjp3aGVyZSguc3dhbDItaWNvbikuc3dhbDItc3VjY2VzcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBmZjlkICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMGZmOWQgIWltcG9ydGFudDtcbn1cblxuZGl2OndoZXJlKC5zd2FsMi1pY29uKS5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLXJpbmcge1xuICAgIGJvcmRlcjogLjI1ZW0gc29saWQgcmdiYSgwLCAyNTUsIDE1NywgMC4zKSAhaW1wb3J0YW50O1xufVxuXG5kaXY6d2hlcmUoLnN3YWwyLWljb24pLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmZjlkICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAyNTUsIDE1NywgMC41KSAhaW1wb3J0YW50O1xufVxuXG5kaXY6d2hlcmUoLnN3YWwyLWNvbnRhaW5lcikgLnN3YWwyLWxvYWRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBmM2ZmIHRyYW5zcGFyZW50ICMwMGYzZmYgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZJWDogQVVUT0NPTVBMRVRBRE8gKENocm9tZS9FZGdlL1NhZmFyaSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNlbGVjY2lvbmFtb3MgZWwgZXN0YWRvICdhdXRvZmlsbCcgZGVsIGlucHV0ICovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG5cbiAgICAvKiAxLiBDQU1CSUFSIEVMIENPTE9SIERFIExBIExFVFJBICovXG4gICAgLyogVXNhbW9zIGVzdGEgcHJvcGllZGFkIGVzcGVjw61maWNhIGRlIFdlYmtpdCBwYXJhIGZvcnphciBlbCBibGFuY28gKi9cbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogI2U5ZjdmZiAhaW1wb3J0YW50O1xuXG4gICAgLyogMi4gTUFOVEVORVIgVFUgRk9ORE8gT1NDVVJPICovXG4gICAgLyogRWwgbmF2ZWdhZG9yIGludGVudGEgcG9uZXIgdW4gZm9uZG8gYW1hcmlsbG8uXG4gICAgICAgRXN0ZSB0cnVjbyB1c2EgdW5hIHNvbWJyYSBpbnRlcmlvciBnaWdhbnRlIHBhcmEgXCJ0YXBhclwiIGVzZSBhbWFyaWxsb1xuICAgICAgIGNvbiB0dSBjb2xvciBhenVsIG9zY3VybyAqL1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4ICMxMTJlNDcgaW5zZXQgIWltcG9ydGFudDtcblxuICAgIC8qIDMuIE1BTlRFTkVSIFRVIEZVRU5URSAqL1xuICAgIC8qIEEgdmVjZXMgZWwgbmF2ZWdhZG9yIHJlc2V0ZWEgbGEgZnVlbnRlLCBhc2VndXJhbW9zIHF1ZSB1c2UgbGEgdHV5YSAqL1xuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93Jywgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyAvKiBPIGxhIGZ1ZW50ZSBxdWUgZWxlZ2lzdGUgKi9cbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzO1xufSIsIi8qIEVzdGlsb3MgZ2VuZXJhbGVzIHBhcmEgbGEgdGFibGEgKi9cbi5lc3RpbG9zX2dlbmVyYWxlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA0NywgNzEsIDAuODUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4MCwgMjAwLCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgdGgge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAxMnB4IDEzcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxNTAsIDI1NSwgMC4xNSk7XG4gICAgY29sb3I6ICMwMGYzZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoODAsIDIwMCwgMjU1LCAwLjMpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmVzdGlsb3NfZ2VuZXJhbGVzIHRkIHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZTlmN2ZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDgwLCAyMDAsIDI1NSwgMC4xKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU4LCAyMTMsIDIzOSwgMC4xKTtcbn1cblxuLyogc2Nyb2xiYXIgZGUgbGEgdGFibGEgKi9cbi5lc3RpbG9zX2dlbmVyYWxlczo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uZml4ZWQtdGFibGUtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNTBiMTQgIWltcG9ydGFudDtcbn1cblxuXG4uZXN0aWxvc19nZW5lcmFsZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmZpeGVkLXRhYmxlLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDIwMCwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMjAwLCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLyogRWwgZm9uZG8gcG9yIGRvbmRlIGNvcnJlIGxhIGJhcnJhICovXG4uZXN0aWxvc19nZW5lcmFsZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLmZpeGVkLXRhYmxlLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpICFpbXBvcnRhbnQ7IC8qIEdyaXMgbXV5IHN1dGlsICovXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4vKlxuW2lkXj1cInRvb2xiYXJfXCJdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6ICMxMTJlNTUgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbltpZF49XCJ0b29sYmFyX1wiXSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuXG5baWRePVwidG9vbGJhcl9cIl06Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDhweDtcbn1cblxuW2lkXj1cInRvb2xiYXJfXCJdOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogIzFjNGY3YSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuXG4qL1xuXG4vKiBQYXJhIHBhbnRhbGxhcyBwZXF1ZcOxYXMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIFtpZF49XCJ0b29sYmFyX1wiXSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBbaWRePVwidG9vbGJhcl9cIl0gYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuZXN0aWxvc19nZW5lcmFsZXMge1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmVzdGlsb3NfZ2VuZXJhbGVzIHRoLFxuICAgIC5lc3RpbG9zX2dlbmVyYWxlcyB0ZCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxufVxuXG4vKkNVU1RPTVNTU1NTU1NTUyovXG4vKiBCb3RvbmVzIGdlbmVyYWxlcyBwZXJzb25hbGl6YWRvcyAqL1xuLmJ0bi1jdXN0b20sIC5idG4tY3VzdG9tLXRleHQsIC5idG4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLyogRXN0aWxvIGNvbcO6biBwYXJhIHRvZG9zIGxvcyBib3RvbmVzICovXG5cbi5idG4tY3VzdG9tLXRleHQsXG4uYnRuLmJ0bi1wcmltYXJ5LFxuLmJ0bi5idG4tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA0NywgNzEsIDAuODUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAyMDAsIDI1NSwgMC41KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZTlmN2ZmICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhvdmVyIGRlIGJvdG9uZXMgKi9cbi5idG4tY3VzdG9tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA0NywgNzEsIDAuODUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMjAwLCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2U5ZjdmZiAhaW1wb3J0YW50O1xufVxuXG4uYnRuLWN1c3RvbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNTAsIDI1NSwgMC41KSAhaW1wb3J0YW50O1xufVxuXG5cbi5idG4uYnRuLXByaW1hcnk6aG92ZXIsXG4uYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDIwMCwgMjU1LCAwLjUpO1xufVxuXG4vKiBCb3RvbmVzIGRlc2hhYmlsaXRhZG9zICovXG4uYnRuOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgIWltcG9ydGFudDtcbn1cblxuLyogQm90w7NuIHBlbGlncm8gKi9cbi5idG4uYnRuLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNDcsIDcxLCAwLjg1KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMjAwLCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2U5ZjdmZiAhaW1wb3J0YW50O1xufVxuXG4uYnRuLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCA4MCwgMC4zKSAhaW1wb3J0YW50OyAvKiBTdWJpZG8gYSAwLjMgKi9cbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMCwgODAsIDAuOCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjU1LCAwLCA4MCwgMC4yNSkgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5idG4uYnRuLWRhbmdlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDgwLCAwLjcpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgyNTUsIDAsIDgwLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLyogQm90w7NuIMOpeGl0byAqL1xuLmJ0bi5idG4tc3VjY2Vzc3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMTM2LCAwLjMpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDI1NSwgMTM2LCAwLjgpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAyNTUsIDEzNiwgMC4yNSkgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5idG4uYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjU1LCAxMzYsIDAuNykgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDI1NSwgMTM2LCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLyogQm90w7NuIGFkdmVydGVuY2lhICovXG4uYnRuLmJ0bi13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA0NywgNzEsIDAuODUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNlOWY3ZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDIwMCwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cblxuLmJ0bi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE5MCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjU1LCAxOTAsIDAsIDAuMjUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDE5MCwgMCwgMC44KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uYnRuLmJ0bi13YXJuaW5nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTkwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDI1NSwgMTkwLCAwLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJvdMOzbiBzZWN1bmRhcmlvICovXG4uYnRuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZjYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwNmM4YyAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGRmZTUgIWltcG9ydGFudDtcbn1cblxuLmJ0bi5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlZWYzICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRleHRvIHByaW5jaXBhbCAqL1xuLnRleHQtcHJpbmNpcGFsIHtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgNnB4IHJnYmEoODAsIDIwMCwgMjU1LCAwLjkpLFxuICAgIDAgMCAxNHB4IHJnYmEoODAsIDIwMCwgMjU1LCAwLjcpICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dCwgLyppbnB1dCBhcnJpYmEgdGFibGEqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNDcsIDcxLCAwLjkpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQxNTRmMSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggIzAwZjNmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG5cblxuLmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0OjpwbGFjZWhvbGRlcixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxuLnNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjZTFlM2U2ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4uZGF0YVRhYmxlc19maWx0ZXIgaW5wdXQ6Zm9jdXMsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA0NywgNzEsIDAuOSkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDE1NGYxICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjMDBmM2ZmICFpbXBvcnRhbnQ7XG59XG4vKmRldGFpbCBncm91cHMqL1xuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkMjUzOCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgLmRldGFpbC12aWV3IC5jYXJkLFxuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyAuY2FyZC1ib2R5LFxuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyAuZGV0YWlsLXZpZXctaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgLmRldGFpbC12aWV3LFxuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyBwLFxuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyBzcGFuLFxuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyBkaXYsXG4uZXN0aWxvc19nZW5lcmFsZXMgLmRldGFpbC12aWV3IHRke1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RpbG9zX2dlbmVyYWxlcyAuZGV0YWlsLXZpZXcgYixcbi5lc3RpbG9zX2dlbmVyYWxlcyAuZGV0YWlsLXZpZXcgc3Ryb25nLFxuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyBsYWJlbCB7XG4gICAgY29sb3I6ICMwMGYzZmYgIWltcG9ydGFudDtcblxufVxuXG4uZml4ZWQtdGFibGUtdG9vbGJhciAuZHJvcGRvd24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkMjUzOCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODAsIDIwMCwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5maXhlZC10YWJsZS10b29sYmFyIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtLFxuLmZpeGVkLXRhYmxlLXRvb2xiYXIgLmRyb3Bkb3duLW1lbnUgbGFiZWwsXG4uZml4ZWQtdGFibGUtdG9vbGJhciAuZHJvcGRvd24tbWVudSBzcGFuIHtcbiAgICBjb2xvcjogI2U5ZjdmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZml4ZWQtdGFibGUtdG9vbGJhciAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpob3Zlcixcbi5maXhlZC10YWJsZS10b29sYmFyIC5kcm9wZG93bi1tZW51IGxhYmVsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAwLjMpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLmZpeGVkLXRhYmxlLXRvb2xiYXIgLmRyb3Bkb3duLW1lbnUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYWNjZW50LWNvbG9yOiAjMDBmM2ZmO1xufVxuLmVzdGlsb3NfZ2VuZXJhbGVzIC5kZXRhaWwtdmlldyB0aCBkaXYsXG4uZXN0aWxvc19nZW5lcmFsZXMgLmRldGFpbC12aWV3IHRoIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDAuMTUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg4MCwgMjAwLCAyNTUsIDAuMykhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgLmRldGFpbC12aWV3IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQyNTM4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKmJ0bnN1Ym1pdCBkZSB1cGxvYWRGaWxlKi9cbi5idG5HdWFyZGFyVCxcbiNtb2RhbF9jYXJnYXIgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDQ3LCA3MSwgMC44NSkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmZjg4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLCAyNTUsIDEzNiwgMC42KTtcbiAgICBjb2xvcjogIzAwZmY4OCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG59XG4uYnRuR3VhcmRhclQ6aG92ZXIsXG4jbW9kYWxfY2FyZ2FyIC5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA0NywgNzEsIDAuODUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsIDI1NSwgMTM2LCAwLjYpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG4vKm1vZGFsIHVwbG9hZCBmaWxlKi9cbiNtb2RhbF9jYXJnYXIgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzOCwgNzMsIDEwMykgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDE3LCA0NywgNzEsIDAuOCkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDE3LCA0NywgNzEsIDAuOCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4jbW9kYWxfY2FyZ2FyIC5tb2RhbC1oZWFkZXIsXG4jbW9kYWxfY2FyZ2FyIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg4MCwgMjAwLCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbn1cblxuXG4jbW9kYWxfY2FyZ2FyIC5idG4tY2xvc2Uge1xuICAgIGZpbHRlcjogaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDAlKSBicmlnaHRuZXNzKDIwMCUpO1xufVxuXG4jbW9kYWxfY2FyZ2FyIGlucHV0W3R5cGU9XCJmaWxlXCJdIHsgLypzZWxlY2Npb25hckFyY2hpdm8qL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICMwMGZmODggIWltcG9ydGFudDtcbn1cblxuXG4vKmJ0blNhdmUqL1xuXG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzgsIDczLCAxMDMpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbi5idG5SZXNldFR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNDcsIDcxLCAwLjg1KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNGU1ZWUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAjYzRlNWVlO1xuICAgIGNvbG9yOiAjYzRlNWVlICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgcGFkZGluZzogOHB4IDIwcHg7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLmJ0blJlc2V0VDpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA0NywgNzEsIDAuODUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTVweCAjYzRlNWVlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cblxuXG4vKiBpbnB1dHMgeSBzZWxlY3RzICovXG4uZm9ybS1jb250cm9sLCAuZm9ybS1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsIDI1LCA0MSwgMC42KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogICMwMGYzZmYhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMsIC5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBmM2ZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLCAyNDMsIDI1NSwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtZ3JvdXB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMSwgMjUsIDQxLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAgIzAwZjNmZiFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcblxufVxuLypkcm9wZG93biBkZWwgbW9kYWwqL1xuXG4jbW9kYWxfZW1haWxzIC5mb3JtLXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNDcsIDcxLCAwLjk1KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzAwZjNmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICAjMDBmM2ZmICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDBmM2ZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nTTIgNWw2IDYgNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpICFpbXBvcnRhbnQ7XG59XG5cbiNtb2RhbF9lbWFpbHMgLmZvcm0tc2VsZWN0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQyNTM4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBmM2ZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLCAyNDMsIDI1NSwgMC4zKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbiNtb2RhbF9lbWFpbHMgLmZvcm0tc2VsZWN0IG9wdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkMjUzOCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbiNtb2RhbF9lbWFpbHMgLm1vZGFsLWZvb3RlcixcbiNtb2RhbF9jYXJnYXIgLm1vZGFsLWZvb3RlcixcbiNtb2RhbF9ncnVwbyAubW9kYWwtZm9vdGVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzOCwgNzMsIDEwMykgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSg4MCwgMjAwLCAyNTUsIDAuMikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIC01cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMikgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDhweDtcbn1cbi8qbW9kYWwgKi9cblxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTEsIDI1LCA0MSwgMC45NSkgMCUsIHJnYmEoMzgsIDczLCAxMDMsIDAuNSkgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAyNDMsIDI1NSwgMC4zKSAhaW1wb3J0YW50OyAvKiBMw61uZWEgY2lhbiBhYmFqbyAqL1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbC10aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDZweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC45KSxcbiAgICAwIDAgMTRweCByZ2JhKDgwLCAyMDAsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cblxuLm1vZGFsLWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgICBmaWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAuODtcblxufVxuXG4ubW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDM4LCA3MywgMTAzKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGYzZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMjVweCByZ2JhKDAsIDI0MywgMjU1LCAwLjE1KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbC1ib2R5IGlucHV0LmZvcm0tY29udHJvbCxcbi5tb2RhbC1ib2R5IHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsIDI1LCA0MSwgMC42KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMjQzLCAyNTUsIDAuNzMpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLm1vZGFsLWJvZHkgaW5wdXQuZm9ybS1jb250cm9sOmZvY3VzLFxuLm1vZGFsLWJvZHkgc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMSwgMjUsIDQxLCAwLjkpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOnJnYmEoMCwgMjQzLCAyNTUsIDAuNzMpIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDI0MywgMjU1LCAwLjMpICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtYm9keSBpbnB1dC5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVye1xuICAgIGNvbG9yOiByZ2JhKDE2MiwgMTcyLCAxODksIDAuMzQpO1xufVxuXG4ubW9kYWwtYm9keSBsYWJlbCB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuXG5cbi5tb2RhbC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsIDI1LCA0MSwgMC41KSAhaW1wb3J0YW50OyAvKiBVbiBwb2NvIG3DoXMgb3NjdXJvICovXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMjQzLCAyNTUsIDAuMykgIWltcG9ydGFudDsgLyogTMOtbmVhIHNlcGFyYWRvcmEgKi9cbn1cblxuXG4ubW9kYWwtZm9vdGVyIC5idG4tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNGU1ZWUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2M0ZTVlZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTk2LCAyMjksIDIzOCwgMC4zKTtcbn1cblxuLm1vZGFsLWZvb3RlciAuYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTYsIDIyOSwgMjM4LCAwLjE1KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxOTYsIDIyOSwgMjM4LCAwLjgpLCBpbnNldCAwIDAgMTBweCByZ2JhKDE5NiwgMjI5LCAyMzgsIDAuNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4ubW9kYWwtZm9vdGVyIC5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmZjg4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMGZmODggIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDI1NSwgMTM2LCAwLjMpO1xufVxuXG4vKiAgKEFVVE9GSUxMKSBkZWxvcyBpbnB1dCAgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDMwcHggcmdiKDExLCAyNSwgNDEpIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDI0MywgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcztcbiAgICBjYXJldC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufSIsIi8qIEVzdGlsb3MgcGFyYSBlbCBjb250ZW5lZG9yIGRlIFdoYXRzQXBwICovXG4ud2hhdHNhcHAtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNUQzNjY7IC8qIENvbG9yIGRlIGZvbmRvIGRlIFdoYXRzQXBwICovXG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHotaW5kZXg6IDI7IC8qIEFzZWd1cmEgcXVlIFdoYXRzQXBwIGVzdMOpIGVuY2ltYSBkZSBUZWxlZ3JhbSAqL1xufVxuXG4vKiBFc3RpbG9zIHBhcmEgZWwgY29udGVuZWRvciBkZSBUZWxlZ3JhbSAqL1xuLnRlbGVncmFtLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogNjVweDsgLyogQWp1c3RhIGxhIHBvc2ljacOzbiBwYXJhIHF1ZSBlc3TDqSBkZWJham8gZGUgV2hhdHNBcHAgKi9cbiAgICByaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNjOyAvKiBDb2xvciBkZSBmb25kbyBkZSBUZWxlZ3JhbSAqL1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB6LWluZGV4OiAxOyAvKiBBc2VndXJhIHF1ZSBUZWxlZ3JhbSBlc3TDqSBkZWJham8gZGUgV2hhdHNBcHAgKi9cbn1cblxuLyogRXN0aWxvcyBwYXJhIGVsIGVubGFjZSBkZSBXaGF0c0FwcCB5IFRlbGVncmFtICovXG4ud2hhdHNhcHAtbGluaywgLnRlbGVncmFtLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjsgLyogQ29sb3IgZGVsIHRleHRvICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBFc3RpbG9zIHBhcmEgZWwgw61jb25vIGRlIFdoYXRzQXBwIHkgVGVsZWdyYW0gKi9cbi53aGF0c2FwcC1pY29uLCAudGVsZWdyYW0taWNvbiB7XG4gICAgZm9udC1zaXplOiAyNHB4OyAvKiBUYW1hw7FvIGRlbCDDrWNvbm8gKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgQ29sb3I6I2ZmZjtcbn1cblxuLyogRXN0aWxvcyBwYXJhIGVsIHRleHRvIGRlIFdoYXRzQXBwIHkgVGVsZWdyYW0gKi9cbi53aGF0c2FwcC10ZXh0LCAudGVsZWdyYW0tdGV4dCB7XG4gICAgZm9udC1zaXplOjE0cHg7XG59XG5cbi53aGF0c2FwcC10ZXh0e1xuICAgIGNvbG9yOiNmZmYgIWltcG9ydGFudDtcbn1cblxuLyogT2N1bHRhciBsb3MgY29udHJvbGVzIGRlIG7Dum1lcm8gZW4gQ2hyb21lLCBTYWZhcmksIEVkZ2UgeSBPcGVyYSAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIE9jdWx0YXIgbG9zIGNvbnRyb2xlcyBkZSBuw7ptZXJvIGVuIEZpcmVmb3ggKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG5cbi5lbXByZXNhIHtcbiAgICBmb250LWZhbWlseTogJ0JyYWRsZXkgSGFuZCBJVEMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuLmlkSW5ncmVkaWVudGVzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gIFRoaW4nLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuLmlkQ29udGVuaWRvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdhcmlhbCAgVGhpbicsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG59XG5cbi5iYW5uZXJJdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMHB4O1xufVxuLmJhbm5lckl0ZW0gaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbWctbm9ybWFsaXphZGF7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIGhlaWdodDogMjgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmlkUHJlY2lvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdhcmlhbCAgVGhpbicsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGFuaW1hdGlvbjogYmxpbmsgMS41cyBpbmZpbml0ZTtcbn1cblxuLypAa2V5ZnJhbWVzIGJsaW5rIHsqL1xuLyogICAgMCUsIDEwMCUgeyovXG4vKiAgICAgICAgb3BhY2l0eTogMTsqL1xuLyogICAgfSovXG4vKiAgICA1MCUgeyovXG4vKiAgICAgICAgb3BhY2l0eTogMDsqL1xuLyogICAgfSovXG4vKn0qLyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBUFAuU0NTUyDigJQgT1JERU4gQ09SUkVDVE9cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLSBGcmFtZXdvcmtzIGJhc2UgLS0tICovXG5AaW1wb3J0IFwiYm9vdHN0cmFwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwLWljb25zL2ZvbnQvYm9vdHN0cmFwLWljb25zLmNzc1wiO1xuQGltcG9ydCBcIkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL2Nzcy9hbGwubWluLmNzc1wiO1xuXG4vKiAtLS0gUGx1Z2lucyBkZSB0YWJsYXMgLS0tICovXG5AaW1wb3J0IFwiYm9vdHN0cmFwLXRhYmxlL2Rpc3QvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3NcIjtcbkBpbXBvcnQgXCJib290c3RyYXAtdGFibGUvZGlzdC9leHRlbnNpb25zL3Jlb3JkZXItcm93cy9ib290c3RyYXAtdGFibGUtcmVvcmRlci1yb3dzLm1pbi5jc3NcIjtcblxuLyogLS0tIGpRdWVyeSBVSSAtLS0gKi9cbkBpbXBvcnQgXCJqcXVlcnktdWkvdGhlbWVzL2Jhc2UvYWxsLmNzc1wiO1xuXG4vKiAtLS0gQWxlcnRhcyAmIE5vdGlmaWNhY2lvbmVzIC0tLSAqL1xuQGltcG9ydCBcInN3ZWV0YWxlcnQyL2Rpc3Qvc3dlZXRhbGVydDIubWluLmNzc1wiO1xuQGltcG9ydCBcInRvYXN0ci9idWlsZC90b2FzdHIubWluLmNzc1wiO1xuQGltcG9ydCBcImpxdWVyeS1jb25maXJtL2Nzcy9qcXVlcnktY29uZmlybS5jc3NcIjtcblxuLyogLS0tIEVkaXRvcmVzIC0tLSAqL1xuQGltcG9ydCBcImZyb2FsYS1lZGl0b3IvY3NzL2Zyb2FsYV9lZGl0b3IucGtnZC5taW4uY3NzXCI7XG5cbi8qIC0tLSBJY29ub3MgZXh0cmFzIC0tLSAqL1xuQGltcG9ydCBcImJveGljb25zL2Nzcy9ib3hpY29ucy5taW4uY3NzXCI7XG5AaW1wb3J0IFwicmVtaXhpY29uL2ZvbnRzL3JlbWl4aWNvbi5jc3NcIjtcblxuLyogLS0tIFV0aWxpZGFkZXMgeSBXaWRnZXRzIC0tLSAqL1xuQGltcG9ydCBcImZsYXRwaWNrci9kaXN0L2ZsYXRwaWNrci5jc3NcIjtcbkBpbXBvcnQgXCJsZWFmbGV0L2Rpc3QvbGVhZmxldC5jc3NcIjtcblxuLyogLS0tIFBpY2tyIChDb2xvciBQaWNrZXIpIC0tLSAqL1xuQGltcG9ydCBcIkBzaW1vbndlcC9waWNrci9kaXN0L3RoZW1lcy9jbGFzc2ljLm1pbi5jc3NcIjtcblxuLyogLS0tIEVzdGlsb3MgcGVyc29uYWxpemFkb3MgZGVsIHByb3llY3RvIC0tLSAqL1xuQGltcG9ydCBcInN0eWxlLmNzc1wiO1xuQGltcG9ydCBcInRhYmxlcy5jc3NcIjtcbkBpbXBvcnQgXCJ2aXN0YXMuY3NzXCI7XG4iLCIubW9kYWxTdHlsZSAubW9kYWwtY29udGVudFxue1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzOCwgNzMsIDEwMykgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmM2ZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDI1cHggcmdiYSgwLCAyNDMsIDI1NSwgMC4xNSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWxTdHlsZSAubW9kYWwtaGVhZGVyXG57XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDExLCAyNSwgNDEsIDAuOTUpIDAlLCByZ2JhKDM4LCA3MywgMTAzLCAwLjUpIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDI0MywgMjU1LCAwLjMpICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbFN0eWxlIC5tb2RhbC10aXRsZVxue1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA2cHggcmdiYSg4MCwgMjAwLCAyNTUsIDAuOSksXG4gICAgMCAwIDE0cHggcmdiYSg4MCwgMjAwLCAyNTUsIDAuNykgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ubW9kYWxTdHlsZSAuYnRuLWNsb3NlXG57XG4gICAgZmlsdGVyOiBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSk7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4ubW9kYWxTdHlsZSAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDQ3LCA3MSwgMC44NSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5tb2RhbFN0eWxlIC50YWJsZSB0aCxcbi5tb2RhbFN0eWxlIC50YWJsZSB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4MCwgMjAwLCAyNTUsIDAuMTUpICFpbXBvcnRhbnQ7IC8qIFJlamlsbGEgc3V0aWwgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiAjZTlmN2ZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG4ubW9kYWxTdHlsZSAudGFibGUgdGhlYWQgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDAuMikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGYzZmYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tb2RhbFN0eWxlIC50YWJsZSB0Ym9keSB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLm1vZGFsU3R5bGUgLnRhYmxlIHRib2R5IHRyOmhvdmVyIHRkLFxuLm1vZGFsU3R5bGUgLnRhYmxlIHRib2R5IHRyOmhvdmVyIHRoLFxuLm1vZGFsLWNvbnRlbnQgLnRhYmxlIHRib2R5IHRyOmhvdmVyIHRoXG57XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNDMsIDI1NSwgMC4xNSkgIWltcG9ydGFudDsgLyogTcOhcyBicmlsbGFudGUgYWwgcGFzYXIgbW91c2UgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tb2RhbFN0eWxlIC5uYXYtdGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoODAsIDIwMCwgMjU1LCAwLjIpO1xufVxuXG4ubW9kYWxTdHlsZSAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAjYTBjMGQwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5tb2RhbFN0eWxlIC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMGYzZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNDMsIDI1NSwgMC4wNSk7XG59XG5cbi5tb2RhbFN0eWxlIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjQzLCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwZjNmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAyNDMsIDI1NSwgMC41KSByZ2JhKDAsIDI0MywgMjU1LCAwLjUpIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAyNDMsIDI1NSwgMC40KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4ubW9kYWxTdHlsZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCAyNSwgNDEsIDAuOCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjNmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1vZGFsU3R5bGUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjQzLCAyNTUsIDAuMik7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDI0MywgMjU1LCAwLjYpO1xufVxuXG4ubW9kYWxTdHlsZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICfinJQnO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzAwZjNmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubW9kYWxTdHlsZSAuY2FyZCxcbi5tb2RhbFN0eWxlIC5jYXJkLWJvZHksXG4ubW9kYWxTdHlsZSAudGFiLWNvbnRlbnQsXG4ubW9kYWxTdHlsZSAudGFiLXBhbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWxTdHlsZSAuY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMDBmM2ZmO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubW9kYWxTdHlsZSAuYnRuXG57XG4gICAgYm9yZGVyLXdpZHRoOiAycHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgcGFkZGluZzogNnB4IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5tb2RhbFN0eWxlIC5idG4tb3V0bGluZS1zdWNjZXNzXG57XG4gICAgY29sb3I6ICMwMGZmODggIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMwMGZmODggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDI1NSwgMTM2LCAwLjMpO1xufVxuXG4ubW9kYWxTdHlsZSAuYnRuLW91dGxpbmUtc3VjY2Vzczpob3Zlclxue1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMjU1LCAxMzYsIDAuMTUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDI1NSwgMTM2LCAwLjgpLCBpbnNldCAwIDAgMTBweCByZ2JhKDAsIDI1NSwgMTM2LCAwLjUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLm1vZGFsU3R5bGUgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeVxuXG57XG4gICAgY29sb3I6ICNjNGU1ZWUgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNjNGU1ZWUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDE5NiwgMjI5LCAyMzgsIDAuMyk7XG59XG5cbi5tb2RhbFN0eWxlIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXJcbntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5NiwgMjI5LCAyMzgsIDAuMTUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDE5NiwgMjI5LCAyMzgsIDAuOCksIGluc2V0IDAgMCAxMHB4IHJnYmEoMTk2LCAyMjksIDIzOCwgMC41KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi5yZXF1aXJlZFN0eWxle1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWxTdHlsZSAubW9kYWwtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCAyNSwgNDEsIDAuNSkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAyNDMsIDI1NSwgMC4zKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmO1xufSJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/