/*!****************************************************************************************************************!*\
  !*** 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;
    background: #f6f9ff;
    color: #444444;
}

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Nunito", sans-serif;
}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main {
    background-color: #ffffff;
    margin-top: 60px;
    padding: 20px 30px;
    transition: all 0.3s;
}

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

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

.pagetitle h1 {
    font-size: 24px;
    margin-bottom: 0;
    font-weight: 600;
    color: #012970;
}

/*--------------------------------------------------------------
# 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;
}

/*--------------------------------------------------------------
# Override some default Bootstrap stylings
--------------------------------------------------------------*/
/* Dropdown menus */
.dropdown-menu {
    border-radius: 4px;
    padding: 10px 0;
    -webkit-animation-name: dropdown-animate;
    animation-name: dropdown-animate;
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    border: 0;
    box-shadow: 0 5px 30px 0 rgba(82, 63, 105, 0.2);
}

.dropdown-menu .dropdown-header,
.dropdown-menu .dropdown-footer {
    text-align: center;
    font-size: 15px;
    padding: 10px 25px;
}

.dropdown-menu .dropdown-footer a {
    color: #444444;
    text-decoration: underline;
}

.dropdown-menu .dropdown-footer a:hover {
    text-decoration: none;
}

.dropdown-menu .dropdown-divider {
    color: #a5c5fe;
    margin: 0;
}

.dropdown-menu .dropdown-item {
    font-size: 14px;
    padding: 10px 15px;
    transition: 0.3s;
}

.dropdown-menu .dropdown-item i {
    margin-right: 10px;
    font-size: 18px;
    line-height: 0;
}

.dropdown-menu .dropdown-item:hover {
    background-color: #f6f9ff;
}

@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;
    }
}

/* Light Backgrounds */
.bg-primary-light {
    background-color: #cfe2ff;
    border-color: #cfe2ff;
}

.bg-secondary-light {
    background-color: #e2e3e5;
    border-color: #e2e3e5;
}

.bg-success-light {
    background-color: #d1e7dd;
    border-color: #d1e7dd;
}

.bg-danger-light {
    background-color: #f8d7da;
    border-color: #f8d7da;
}

.bg-warning-light {
    background-color: #fff3cd;
    border-color: #fff3cd;
}

.bg-info-light {
    background-color: #cff4fc;
    border-color: #cff4fc;
}

.bg-dark-light {
    background-color: #d3d3d4;
    border-color: #d3d3d4;
}

/* Card */
.card {
    margin-bottom: 30px;
    /*border: none;*/
    /*border-radius: 5px;*/
    /*box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);*/
}

/*.card-header,*/
.card-footer {
    border-color: #ebeef4;
    background-color: #fff;
    color: #798eb3;
    padding: 15px;
}

.card-title {
    padding: 20px 0 15px 0;
    font-size: 18px;
    font-weight: 500;
    /*color: #012970;*/
    font-family: "Poppins", sans-serif;
}

.card-title span {
    color: #899bbd;
    font-size: 14px;
    font-weight: 400;
}

.card-body {
    padding: 0 20px 20px 20px;
}

.card-img-overlay {
    background-color: rgba(255, 255, 255, 0.6);
}

/* Alerts */
.alert-heading {
    font-weight: 500;
    font-family: "Poppins", sans-serif;
    font-size: 20px;
}

/* Close Button */
.btn-close {
    background-size: 25%;
}

.btn-close:focus {
    outline: 0;
    box-shadow: none;
}

/* Accordion */
.accordion-item {
    border: 1px solid #ebeef4;
}

.accordion-button:focus {
    outline: 0;
    box-shadow: none;
}

.accordion-button:not(.collapsed) {
    color: #012970;
    background-color: #f6f9ff;
}

.accordion-flush .accordion-button {
    padding: 15px 0;
    background: none;
    border: 0;
}

.accordion-flush .accordion-button:not(.collapsed) {
    box-shadow: none;
    color: #4154f1;
}

.accordion-flush .accordion-body {
    padding: 0 0 15px 0;
    color: #3e4f6f;
    font-size: 15px;
}

/* Breadcrumbs */
.breadcrumb {
    font-size: 14px;
    font-family: "Nunito", sans-serif;
    color: #899bbd;
    font-weight: 600;
}

.breadcrumb a {
    color: #899bbd;
    transition: 0.3s;
}

.breadcrumb a:hover {
    color: #51678f;
}

.breadcrumb .breadcrumb-item::before {
    color: #899bbd;
}

.breadcrumb .active {
    color: #51678f;
    font-weight: 600;
}

/* Bordered Tabs */
.nav-tabs-bordered {
    border-bottom: 2px solid #ebeef4;
}

.nav-tabs-bordered .nav-link {
    margin-bottom: -2px;
    border: none;
    color: #2c384e;
}

.nav-tabs-bordered .nav-link:hover,
.nav-tabs-bordered .nav-link:focus {
    color: #4154f1;
}

.nav-tabs-bordered .nav-link.active {
    background-color: #fff;
    color: #4154f1;
    border-bottom: 2px solid #4154f1;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo {
    line-height: 1;
}

@media (min-width: 1200px) {
    .logo {
        width: 280px;
    }
}

.logo img {
    max-height: 50px;
    margin-right: 6px;
}

.logo span {
    font-size: 26px;
    font-weight: 700;
    color: #000; /* Texto negro para el logo */
    font-family: "Nunito", sans-serif;
}

.header {
    transition: all 0.5s;
    z-index: 997;
    height: 60px;
    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
    background-color: #4e8e37; /* Verde oscuro profesional */
    padding-left: 20px;
}

.header .toggle-sidebar-btn {
    font-size: 32px;
    padding-left: 10px;
    cursor: pointer;
    color: #000; /* Icono negro */
}

.header .search-bar {
    min-width: 360px;
    padding: 0 20px;
    background: #4e8e37; /* Verde muy claro para la barra de búsqueda */
}

@media (max-width: 1199px) {
    .header .search-bar {
        position: fixed;
        top: 50px;
        left: 0;
        right: 0;
        padding: 20px;
        box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
        background: #fff; /* Fondo blanco cuando está visible */
        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%;
}

.header .search-form input {
    border: 1px solid rgba(0, 0, 0, 0.2); /* Borde negro claro */
    font-size: 14px;
    color: #040404; /* Texto gris oscuro en el input */
    padding: 7px 38px 7px 8px;
    border-radius: 3px;
    transition: 0.3s;
    width: 100%;
}

.header .search-form input:focus,
.header .search-form input:hover {
    outline: none;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15); /* Sombra negra clara */
    border: 1px solid rgba(0, 0, 0, 0.3); /* Borde negro claro */
}

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

.header .search-form button i {
    color: #333; /* Icono gris oscuro */
}


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

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

.header-nav .nav-icon {
    font-size: 22px;
    color: #333; /* Gris oscuro */
    margin-right: 25px;
    position: relative;
}

.header-nav .nav-profile {
    color: #040404; /* Gris oscuro */
}

.header-nav .nav-profile img {
    max-height: 36px;
}

.header-nav .nav-profile span {
    font-size: 14px;
    font-weight: 600;
}

.header-nav .badge-number {
    position: absolute;
    inset: -2px -5px auto auto;
    font-weight: normal;
    font-size: 12px;
    padding: 3px 6px;
}

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

.header-nav .notifications .notification-item {
    display: flex;
    align-items: center;
    padding: 15px 10px;
    background-color: #f9f9f9; /* Fondo gris muy claro */
    transition: 0.3s;
}

.header-nav .notifications .notification-item i {
    margin: 0 20px 0 10px;
    font-size: 24px;
    color: #333; /* Gris oscuro */
}

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

.header-nav .notifications .notification-item p {
    font-size: 13px;
    margin-bottom: 3px;
    color: #666; /* Gris medio */
}

.header-nav .notifications .notification-item:hover {
    background-color: #eaeaea; /* Gris claro */
}

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

.header-nav .messages .message-item {
    padding: 15px 10px;
    background-color: #f9f9f9; /* Fondo gris muy claro */
    transition: 0.3s;
}

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

.header-nav .messages .message-item img {
    margin: 0 20px 0 10px;
    max-height: 40px;
}

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

.header-nav .messages .message-item p {
    font-size: 13px;
    margin-bottom: 3px;
    color: #666; /* Gris medio */
}

.header-nav .messages .message-item:hover {
    background-color: #eaeaea; /* Gris claro */
}

.header-nav .profile {
    min-width: 240px;
    padding-bottom: 0;
    top: 8px !important;
}

.header-nav .profile .dropdown-header h6 {
    font-size: 18px;
    margin-bottom: 0;
    font-weight: 600;
    color: #333; /* Gris oscuro */
}

.header-nav .profile .dropdown-header span {
    font-size: 14px;
}

.header-nav .profile .dropdown-item {
    font-size: 14px;
    padding: 10px 15px;
    background-color: #f9f9f9; /* Fondo gris muy claro */
    transition: 0.3s;
}

.header-nav .profile .dropdown-item i {
    margin-right: 10px;
    font-size: 18px;
    line-height: 0;
    color: #333; /* Gris oscuro */
}

.header-nav .profile .dropdown-item:hover {
    background-color: #eaeaea; /* Gris claro */
}


/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar {
    position: fixed;
    top: 60px;
    left: 0;
    bottom: 0;
    width: 300px;
    z-index: 996;
    transition: all 0.3s;
    padding: 20px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #4b8a2e transparent; /* Verde oscuro para el scrollbar */
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4); /* Sombra negra más pronunciada */
    background-color: #e5f2e5; /* Verde muy claro */
}

@media (max-width: 1199px) {
    .sidebar {
        left: -300px; /* Oculta la barra lateral en pantallas pequeñas */
    }
}

.sidebar::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #e5f2e5; /* Verde muy claro para el fondo del scrollbar */
}

.sidebar::-webkit-scrollbar-thumb {
    background-color: #4b8a2e; /* Verde oscuro para el pulgar del scrollbar */
}

@media (min-width: 1200px) {
    #main,
    #footer {
        margin-left: 300px; /* Ajusta el margen del contenido principal para hacer espacio para la barra lateral */
    }
}

@media (max-width: 1199px) {
    .toggle-sidebar .sidebar {
        left: 0; /* Muestra la barra lateral en pantallas pequeñas cuando se activa el toggle */
    }
}

@media (min-width: 1200px) {
    .toggle-sidebar #main,
    .toggle-sidebar #footer {
        margin-left: 0; /* Restablece el margen cuando se oculta la barra lateral */
    }

    .toggle-sidebar .sidebar {
        left: -300px; /* Oculta la barra lateral cuando se activa el toggle en pantallas grandes */
    }
}

/* Sidebar Navigation */
.sidebar-nav {
    padding: 0;
    margin: 0;
    list-style: none;
}

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

.sidebar-nav .nav-item {
    margin-bottom: 5px; /* Espacio entre los ítems de navegación */
}

.sidebar-nav .nav-heading {
    font-size: 12px;
    text-transform: uppercase;
    color: #333; /* Gris oscuro */
    padding: 10px;
    font-weight: 600;
}

.sidebar-nav .nav-link {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    color: #2c6b2f; /* Verde oscuro para texto de enlaces */
    background: #d6f0d6; /* Verde muy claro para el fondo de enlaces */
    border-radius: 3px;
    transition: 0.3s;
    font-size: 16px;
    font-weight: bold;
}

.sidebar-nav .nav-link i {
    font-size: 18px;
    margin-right: 10px;
    color: #4b8a2e; /* Verde oscuro para los íconos */
}

.sidebar-nav .nav-link:hover {
    color: #1a1a1a; /* Gris oscuro para el texto de enlaces al pasar el mouse */
    background: #d6f0d6; /* Verde muy claro para el fondo de enlaces al pasar el mouse */
}

.sidebar-nav .nav-content a {
    display: block;
    padding: 10px 20px;
    color: #2c6b2f; /* Verde oscuro para texto de enlaces en contenido de navegación */
    background: #e5f2e5; /* Verde muy claro para el fondo de enlaces en contenido de navegación */
    border-radius: 3px;
    font-size: 14px;
    font-weight: bold;
}

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


.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #1a1a1a; /* Gris oscuro para texto de enlaces activos y al pasar el mouse */
    background: #d6f0d6; /* Verde muy claro para el fondo de enlaces activos y al pasar el mouse */
}

.sidebar-nav .nav-content a.active i {
    background-color: #d6f0d6; /* Verde muy claro para el fondo de íconos activos */

}


/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/

.dashboard .filter {
    position: absolute;
    right: 0px;
    top: 15px;
}

.dashboard .filter .icon {
    color: #000;
    padding-right: 20px;
    padding-bottom: 5px;
    transition: 0.3s;
    font-size: 16px;
}

.dashboard .filter .icon:hover,
.dashboard .filter .icon:focus {
    color: #4154f1;
}

.dashboard .filter .dropdown-header {
    padding: 8px 15px;
}

.dashboard .filter .dropdown-header h6 {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #aab7cf;
    margin-bottom: 0;
    padding: 0;
}

.dashboard .filter .dropdown-item {
    padding: 8px 15px;
}

/* Info Cards */
.dashboard .info-card {
    padding-bottom: 10px;
}

.dashboard .info-card h6 {
    font-size: 28px;
    color: #012970;
    font-weight: 700;
    margin: 0;
    padding: 0;
}

.dashboard .card-icon {
    font-size: 32px;
    line-height: 0;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    flex-grow: 0;
}

.dashboard .sales-card .card-icon {
    color: #4154f1;
    background: #f6f6fe;
}

.dashboard .revenue-card .card-icon {
    color: #2eca6a;
    background: #e0f8e9;
}

.dashboard .customers-card .card-icon {
    color: #ff771d;
    background: #ffecdf;
}

/* Activity */
.dashboard .activity {
    font-size: 14px;
}

.dashboard .activity .activity-item .activite-label {
    color: #888;
    position: relative;
    flex-shrink: 0;
    flex-grow: 0;
    min-width: 64px;
}

.dashboard .activity .activity-item .activite-label::before {
    content: "";
    position: absolute;
    right: -11px;
    width: 4px;
    top: 0;
    bottom: 0;
    background-color: #eceefe;
}

.dashboard .activity .activity-item .activity-badge {
    margin-top: 3px;
    z-index: 1;
    font-size: 11px;
    line-height: 0;
    border-radius: 50%;
    flex-shrink: 0;
    border: 3px solid #fff;
    flex-grow: 0;
}

.dashboard .activity .activity-item .activity-content {
    padding-left: 10px;
    padding-bottom: 20px;
}

.dashboard .activity .activity-item:first-child .activite-label::before {
    top: 5px;
}

.dashboard .activity .activity-item:last-child .activity-content {
    padding-bottom: 0;
}

/* News & Updates */
.dashboard .news .post-item + .post-item {
    margin-top: 15px;
}

.dashboard .news img {
    width: 80px;
    float: left;
    border-radius: 5px;
}

.dashboard .news h4 {
    font-size: 15px;
    margin-left: 95px;
    font-weight: bold;
    margin-bottom: 5px;
}

.dashboard .news h4 a {
    color: #012970;
    transition: 0.3s;
}

.dashboard .news h4 a:hover {
    color: #4154f1;
}

.dashboard .news p {
    font-size: 14px;
    color: #777777;
    margin-left: 95px;
}

/* Recent Sales */
.dashboard .recent-sales {
    font-size: 14px;
}

.dashboard .recent-sales .table thead {
    background: #f6f6fe;
}

.dashboard .recent-sales .table thead th {
    border: 0;
}

.dashboard .recent-sales .dataTable-top {
    padding: 0 0 10px 0;
}

.dashboard .recent-sales .dataTable-bottom {
    padding: 10px 0 0 0;
}

/* Top Selling */
.dashboard .top-selling {
    font-size: 14px;
}

.dashboard .top-selling .table thead {
    background: #f6f6fe;
}

.dashboard .top-selling .table thead th {
    border: 0;
}

.dashboard .top-selling .table tbody td {
    vertical-align: middle;
}

.dashboard .top-selling img {
    border-radius: 5px;
    max-width: 60px;
}

/*--------------------------------------------------------------
# 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;
}

/*--------------------------------------------------------------
# Profie Page
--------------------------------------------------------------*/
.profile .profile-card img {
    max-width: 120px;
}

.profile .profile-card h2 {
    font-size: 24px;
    font-weight: 700;
    color: #2c384e;
    margin: 10px 0 0 0;
}

.profile .profile-card h3 {
    font-size: 18px;
}

.profile .profile-card .social-links a {
    font-size: 20px;
    display: inline-block;
    color: rgba(1, 41, 112, 0.5);
    line-height: 0;
    margin-right: 10px;
    transition: 0.3s;
}

.profile .profile-card .social-links a:hover {
    color: #012970;
}

.profile .profile-overview .row {
    margin-bottom: 20px;
    font-size: 15px;
}

.profile .profile-overview .card-title {
    color: #012970;
}

.profile .profile-overview .label {
    font-weight: 600;
    color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit label {
    font-weight: 600;
    color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit img {
    max-width: 120px;
}

/*--------------------------------------------------------------
# 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;
    border-top: 1px solid #cddfff;
}

.footer .copyright {
    text-align: center;
    color: #012970;
}

.footer .credits {
    padding-top: 5px;
    text-align: center;
    font-size: 13px;
    color: #012970;
}

/* --------------------------------------------------------------
# Navbar + Sidebar Refresh
-------------------------------------------------------------- */
:root {
    --header-height: 64px;
    --sidebar-width: 300px;
    --brand-900: #0f2f4a;
    --brand-800: #174264;
    --brand-700: #2f6b96;
    --brand-100: #ecf4fb;
    --surface-0: #ffffff;
    --surface-1: #f4f7fb;
    --text-900: #1f2d3d;
    --text-700: #4d5f73;
    --text-on-brand: #f4f9ff;
}

body {
    background: linear-gradient(180deg, #f6f9ff 0%, #f1f5fa 100%);
}

#main {
    margin-top: var(--header-height);
}

.header {
    height: var(--header-height);
    padding-left: 16px;
    padding-right: 16px;
    background: linear-gradient(120deg, var(--brand-900) 0%, var(--brand-700) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 10px 26px rgba(10, 31, 52, 0.28);
}

.logo img {
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.24);
}

.logo span {
    color: var(--text-on-brand);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.header .toggle-sidebar-btn {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    font-size: 26px;
    margin-left: 8px;
    border-radius: 10px;
    color: var(--text-on-brand);
    background: rgba(255, 255, 255, 0.14);
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.header .toggle-sidebar-btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.22);
    box-shadow: 0 8px 14px rgba(0, 0, 0, 0.16);
}

.header .search-bar {
    min-width: 340px;
    max-width: 460px;
    background: transparent;
}

.header .search-form input {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 10px;
    color: #1b334a;
}

.header .search-form input::placeholder {
    color: #667a8f;
}

.header .search-form input:focus,
.header .search-form input:hover {
    background: #fff;
    border-color: rgba(56, 106, 148, 0.68);
    box-shadow: 0 0 0 3px rgba(109, 151, 186, 0.3);
}

.header .search-form button i {
    color: #274866;
}

.header-nav .nav-icon {
    width: 38px;
    height: 38px;
    margin-right: 0;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    color: var(--text-on-brand);
    background: rgba(255, 255, 255, 0.12);
    transition: all 0.2s ease;
}

.header-nav .nav-link:hover .nav-icon,
.header-nav .nav-link:focus .nav-icon {
    background: rgba(255, 255, 255, 0.22);
    transform: translateY(-1px);
}

.header-nav .nav-profile {
    color: var(--text-on-brand);
    padding: 6px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.24);
    transition: all 0.2s ease;
}

.header-nav .nav-profile:hover {
    background: rgba(255, 255, 255, 0.2);
}

.header-nav .nav-profile img {
    border: 2px solid rgba(255, 255, 255, 0.76);
}

.header-nav .profile {
    border-radius: 14px;
    border: 1px solid #d9e4f0;
    box-shadow: 0 14px 28px rgba(19, 39, 61, 0.16);
}

.header-nav .profile .dropdown-item {
    border-radius: 8px;
    margin: 2px 8px;
}

.header-nav .profile .dropdown-item i {
    color: #2d4f6f;
}

.header-nav .profile .dropdown-item:hover {
    background-color: #ebf3fb;
}

.sidebar {
    top: var(--header-height);
    width: var(--sidebar-width);
    padding: 16px 14px 24px;
    background: linear-gradient(180deg, #f2f6fb 0%, #e9f0f8 52%, #e1eaf5 100%);
    border-right: 1px solid #c8d6e6;
    box-shadow: 8px 0 24px rgba(21, 43, 67, 0.16);
    scrollbar-color: #7390ad transparent;
}

.sidebar::-webkit-scrollbar-thumb {
    background-color: #7390ad;
    border-radius: 999px;
}

@media (max-width: 1199px) {
    .sidebar {
        left: calc(var(--sidebar-width) * -1);
    }
}

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

@media (min-width: 1200px) {
    .toggle-sidebar #main,
    .toggle-sidebar #footer {
        margin-left: 0;
    }

    .toggle-sidebar .sidebar {
        left: calc(var(--sidebar-width) * -1);
    }
}

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

.sidebar-nav .nav-heading {
    color: #4c6076;
    letter-spacing: 0.08em;
}

.sidebar-nav .nav-link {
    gap: 8px;
    padding: 11px 14px;
    border-radius: 12px;
    border: 1px solid rgba(128, 148, 172, 0.34);
    background: rgba(255, 255, 255, 0.56);
    color: var(--text-900);
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(21, 43, 68, 0.08);
    transition: all 0.2s ease;
}

.sidebar-nav .nav-link i {
    color: var(--brand-700);
}

.sidebar-nav .nav-link:hover {
    color: #10273d;
    background: #f8fbff;
    border-color: rgba(86, 123, 159, 0.44);
    transform: translateX(2px);
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    color: #fff;
    background: linear-gradient(135deg, var(--brand-800), var(--brand-700));
    border-color: rgba(33, 79, 118, 0.92);
    box-shadow: 0 8px 16px rgba(18, 50, 77, 0.22);
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) i {
    color: #fff;
}

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

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) .bi-chevron-down {
    transform: rotate(180deg);
}

.sidebar-nav .nav-content {
    padding-top: 6px;
}

.sidebar-nav .nav-content a {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 2px 0;
    padding: 9px 12px 9px 16px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-700);
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.sidebar-nav .nav-content a i {
    margin-right: 0;
    font-size: 7px;
    color: var(--brand-700);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #10273d;
    background: #f2f7fd;
    border-color: rgba(94, 128, 160, 0.32);
    transform: translateX(2px);
}

.sidebar-nav .nav-content a.active {
    color: #fff;
    background: linear-gradient(135deg, #25537b, #3f739f);
    border-color: rgba(32, 73, 110, 0.9);
    box-shadow: 0 8px 14px rgba(22, 56, 86, 0.2);
}

.sidebar-nav .nav-content a.active i {
    color: #fff;
}

/* --------------------------------------------------------------
# Professional UI Polish (Navbar, Sidebar, Buttons)
-------------------------------------------------------------- */
:root {
    --ui-brand-950: #2f1e16;
    --ui-brand-900: #4a2f22;
    --ui-brand-800: #6b412d;
    --ui-brand-700: #865338;
    --ui-accent-600: #b06d3b;
    --ui-accent-500: #c8844f;
    --ui-bg-app: #f6efe7;
    --ui-bg-surface: #ffffff;
    --ui-border-soft: #e3d4c5;
    --ui-text-900: #3b2b21;
    --ui-text-700: #6b5748;
    --ui-text-on-dark: #fff5eb;
}

body {
    background: linear-gradient(180deg, #fbf6ef 0%, var(--ui-bg-app) 100%);
    color: var(--ui-text-900);
}

#main {
    border-radius: 16px 0 0 0;
}

.header {
    background: linear-gradient(110deg, var(--ui-brand-950) 0%, var(--ui-brand-800) 100%);
    box-shadow: 0 10px 26px rgba(34, 20, 13, 0.36);
}

.logo span {
    color: var(--ui-text-on-dark);
    font-weight: 700;
    letter-spacing: 0.01em;
}

.header .toggle-sidebar-btn {
    color: var(--ui-text-on-dark);
    background: rgba(255, 250, 241, 0.14);
}

.header .toggle-sidebar-btn:hover {
    background: rgba(255, 250, 241, 0.24);
}

.header .search-form input {
    border-radius: 12px;
    background: #fffaf3;
    border-color: rgba(177, 132, 88, 0.52);
    color: #4b3628;
}

.header .search-form input::placeholder {
    color: #8e735d;
}

.header-nav .nav-icon {
    color: var(--ui-text-on-dark);
    background: rgba(255, 250, 241, 0.14);
}

.header-nav .nav-profile {
    color: var(--ui-text-on-dark);
    background: rgba(255, 250, 241, 0.14);
    border-color: rgba(255, 250, 241, 0.28);
}

.sidebar {
    background: linear-gradient(180deg, #3a251a 0%, #503223 58%, #65412d 100%);
    border-right: 1px solid rgba(255, 245, 232, 0.16);
    box-shadow: 10px 0 26px rgba(36, 22, 15, 0.34);
}

.sidebar-nav .nav-heading {
    color: rgba(255, 241, 224, 0.86);
}

.sidebar-nav .nav-link {
    border: 1px solid rgba(255, 245, 232, 0.22);
    background: rgba(255, 245, 232, 0.1);
    color: var(--ui-text-on-dark);
    box-shadow: none;
}

.sidebar-nav .nav-link i {
    color: rgba(255, 220, 182, 0.96);
}

.sidebar-nav .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 245, 232, 0.2);
    border-color: rgba(255, 245, 232, 0.38);
    transform: translateX(2px);
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, var(--ui-accent-600), var(--ui-accent-500));
    border-color: rgba(145, 88, 47, 0.95);
    box-shadow: 0 10px 18px rgba(72, 43, 23, 0.3);
}

.sidebar-nav .nav-content a {
    color: rgba(255, 241, 224, 0.94);
    border: 1px solid transparent;
    background: transparent;
}

.sidebar-nav .nav-content a i {
    color: rgba(255, 216, 167, 0.96);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #ffffff;
    background: rgba(255, 245, 232, 0.2);
    border-color: rgba(255, 245, 232, 0.38);
}

.sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, var(--ui-accent-600), var(--ui-accent-500));
    border-color: rgba(145, 88, 47, 0.95);
    box-shadow: 0 10px 18px rgba(72, 43, 23, 0.3);
}


/* --------------------------------------------------------------
   ENTERPRISE MINIMAL - FINAL (Professional, sober, low color)
-------------------------------------------------------------- */
body #header.header,
body .header {
    background: #edf5fb !important;
    border-bottom: 1px solid #cfe0ec !important;
    box-shadow: 0 2px 8px rgba(20, 49, 72, 0.1) !important;
}

body #header .logo span,
body .header .logo span,
body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .header-nav .nav-icon {
    color: #000000 !important;
}

body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .bi.bi-list.toggle-sidebar-btn,
body .header-nav .nav-icon {
    border-radius: 2px !important;
    border: 1px solid #c7d8e5 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile {
    border-radius: 2px !important;
    background: #ffffff !important;
    border: 1px solid #c7d8e5 !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile img {
    border-radius: 2px !important;
}

body .header-nav .dropdown-menu.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile.show {
    border-radius: 2px !important;
    background: #ffffff !important;
    border: 1px solid #cdddea !important;
    box-shadow: 0 8px 18px rgba(20, 49, 72, 0.14) !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 2px !important;
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #eef5fb !important;
}

body .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #cdddea !important;
    border-left: 1px solid #cdddea !important;
}

body #sidebar.sidebar,
body .sidebar {
    background: #2c4d63 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 4px 0 14px rgba(16, 40, 60, 0.2) !important;
}

body .sidebar-nav .nav-heading {
    color: rgba(226, 239, 248, 0.72) !important;
}

body .sidebar-nav .nav-link {
    border-radius: 2px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .sidebar-nav .nav-link i {
    color: #ffffff !important;
}

body .sidebar-nav .nav-link:hover {
    background: #365f7b !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    transform: none !important;
}

body .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body .sidebar-nav .nav-link.active {
    background: #4f87ad !important;
    border-color: #4f87ad !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .sidebar-nav .nav-content a {
    border-radius: 2px !important;
    color: #ffffff !important;
}

body .sidebar-nav .nav-content a:hover {
    background: #3a6784 !important;
    border-color: transparent !important;
}

body .sidebar-nav .nav-content a.active {
    background: rgba(96, 154, 193, 0.28) !important;
    border-color: rgba(96, 154, 193, 0.5) !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   UI LOCK - Professional Final Layer (EOF)
-------------------------------------------------------------- */
#header.header,
body .header {
    background: linear-gradient(180deg, #f7f5f2 0%, #f1ece5 100%) !important;
    border-bottom: 1px solid #d7ccbf !important;
    box-shadow: 0 6px 16px rgba(60, 46, 32, 0.14) !important;
}

#header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .bi.bi-list.toggle-sidebar-btn {
    border-radius: 3px !important;
    background: #f8f4ee !important;
    border: 1px solid #cfc2b3 !important;
    color: #2f2a25 !important;
    box-shadow: none !important;
}

#header .toggle-sidebar-btn:hover,
body .header .toggle-sidebar-btn:hover,
body .bi.bi-list.toggle-sidebar-btn:hover {
    background: #efe7dd !important;
    border-color: #bea98f !important;
    color: #3a312a !important;
}

body .header-nav .nav-icon {
    border-radius: 3px !important;
    background: #f8f4ee !important;
    border: 1px solid #d5c9bc !important;
    color: #2f2a25 !important;
}

body .header-nav .nav-profile {
    border-radius: 3px !important;
    background: #f8f3ec !important;
    border: 1px solid #d8ccbf !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile img {
    border-radius: 3px !important;
}

body .header-nav .dropdown-menu.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile.show {
    border-radius: 3px !important;
    background: #fffdfb !important;
    border: 1px solid #d9ccbe !important;
    box-shadow: 0 12px 24px rgba(52, 39, 27, 0.16) !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 2px !important;
    color: #3a3129 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #7a5a3d !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #ede4d9 !important;
}

body .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #fffdfb !important;
    border-top: 1px solid #d9ccbe !important;
    border-left: 1px solid #d9ccbe !important;
}

#sidebar.sidebar,
body .sidebar {
    background: linear-gradient(180deg, #52473d 0%, #43392f 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 8px 0 20px rgba(28, 21, 15, 0.22) !important;
}

body .sidebar-nav .nav-heading {
    color: rgba(244, 239, 233, 0.72) !important;
}

body .sidebar-nav .nav-link {
    border-radius: 3px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    color: #f4efe9 !important;
    box-shadow: none !important;
}

body .sidebar-nav .nav-link i {
    color: rgba(244, 239, 233, 0.9) !important;
}

body .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    transform: none !important;
}

body .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body .sidebar-nav .nav-link.active {
    background: linear-gradient(135deg, #8c6642, #7a5a3d) !important;
    border-color: rgba(170, 129, 93, 0.95) !important;
    color: #fff !important;
    box-shadow: 0 8px 14px rgba(44, 32, 22, 0.22) !important;
}

body .sidebar-nav .nav-content a {
    border-radius: 2px !important;
    color: rgba(247, 242, 236, 0.94) !important;
}

body .sidebar-nav .nav-content a:hover {
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

body .sidebar-nav .nav-content a.active {
    background: rgba(206, 173, 140, 0.2) !important;
    border-color: rgba(206, 173, 140, 0.36) !important;
    color: #fff !important;
}

/* --------------------------------------------------------------
   FINAL PROFESSIONAL THEME - NAVBAR + SIDEBAR
   (suave, corporativo, sin redondeos excesivos)
-------------------------------------------------------------- */
:root {
    --ui-nav-bg-1: #f7f5f2;
    --ui-nav-bg-2: #f1ece5;
    --ui-nav-border: #d7ccbf;
    --ui-nav-text: #2f2a25;
    --ui-nav-muted: #6b6259;
    --ui-nav-accent: #7a5a3d;
    --ui-nav-accent-soft: #ede4d9;

    --ui-side-bg-1: #52473d;
    --ui-side-bg-2: #43392f;
    --ui-side-border: rgba(255, 255, 255, 0.12);
    --ui-side-text: #f4efe9;
    --ui-side-muted: rgba(244, 239, 233, 0.72);
    --ui-side-item: rgba(255, 255, 255, 0.06);
    --ui-side-item-hover: rgba(255, 255, 255, 0.12);
    --ui-side-active-1: #8c6642;
    --ui-side-active-2: #7a5a3d;
}

#header.header,
.header {
    background: linear-gradient(180deg, var(--ui-nav-bg-1) 0%, var(--ui-nav-bg-2) 100%) !important;
    border-bottom: 1px solid var(--ui-nav-border) !important;
    box-shadow: 0 6px 16px rgba(60, 46, 32, 0.14) !important;
}

#header .logo span,
.header .logo span {
    color: var(--ui-nav-text) !important;
    letter-spacing: 0.2px;
}

#header .toggle-sidebar-btn,
.header .toggle-sidebar-btn {
    color: var(--ui-nav-text) !important;
    border: 1px solid #cfc2b3 !important;
    background: #f8f4ee !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

#header .toggle-sidebar-btn:hover,
.header .toggle-sidebar-btn:hover {
    background: #efe7dd !important;
    border-color: #bea98f !important;
    color: #3a312a !important;
}

#header .search-form input,
.header .search-form input {
    background: #fbfaf8 !important;
    border: 1px solid #d8cec2 !important;
    color: var(--ui-nav-text) !important;
    border-radius: 3px !important;
}

#header .search-form button,
.header .search-form button {
    color: var(--ui-nav-muted) !important;
}

.header-nav .nav-icon {
    color: var(--ui-nav-text) !important;
    border: 1px solid #d5c9bc !important;
    background: #f8f4ee !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

.header-nav .nav-icon:hover,
.header-nav .nav-icon.show {
    background: #eee5da !important;
    border-color: #bea98f !important;
    color: #3a312a !important;
}

.header-nav .nav-profile {
    background: #f8f3ec !important;
    border: 1px solid #d8ccbf !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

.header-nav .nav-profile span {
    color: var(--ui-nav-text) !important;
}

.header-nav .nav-profile img {
    border-radius: 3px !important;
}

.header-nav .dropdown-menu.profile,
.header-nav .dropdown-menu.profile.show,
.header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile {
    background: #fffdfb !important;
    border: 1px solid #d9ccbe !important;
    border-radius: 3px !important;
    box-shadow: 0 12px 24px rgba(52, 39, 27, 0.16) !important;
    padding-top: 0.3rem !important;
    padding-bottom: 0.3rem !important;
}

.header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #2f2a25 !important;
}

.header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6f675f !important;
}

.header-nav .dropdown-menu.profile .dropdown-divider {
    border-top-color: #e8ddd2 !important;
}

.header-nav .dropdown-menu.profile .dropdown-item {
    color: #3a3129 !important;
    border-radius: 2px !important;
    margin: 1px 4px !important;
    padding-top: 0.48rem !important;
    padding-bottom: 0.48rem !important;
}

.header-nav .dropdown-menu.profile .dropdown-item i {
    color: #7a5a3d !important;
}

.header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: var(--ui-nav-accent-soft) !important;
    color: #2c241e !important;
}

.header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #fffdfb !important;
    border-top: 1px solid #d9ccbe !important;
    border-left: 1px solid #d9ccbe !important;
}

#sidebar.sidebar,
.sidebar {
    background: linear-gradient(180deg, var(--ui-side-bg-1) 0%, var(--ui-side-bg-2) 100%) !important;
    border-right: 1px solid var(--ui-side-border) !important;
    box-shadow: 8px 0 20px rgba(28, 21, 15, 0.22) !important;
}

#sidebar .sidebar-nav .nav-heading,
.sidebar .sidebar-nav .nav-heading {
    color: var(--ui-side-muted) !important;
    letter-spacing: 0.35px;
}

#sidebar .sidebar-nav .nav-link,
.sidebar .sidebar-nav .nav-link {
    color: var(--ui-side-text) !important;
    background: var(--ui-side-item) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

#sidebar .sidebar-nav .nav-link i,
.sidebar .sidebar-nav .nav-link i {
    color: rgba(244, 239, 233, 0.9) !important;
}

#sidebar .sidebar-nav .nav-link:hover,
.sidebar .sidebar-nav .nav-link:hover {
    background: var(--ui-side-item-hover) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    transform: none !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
.sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
#sidebar .sidebar-nav .nav-link.active,
.sidebar .sidebar-nav .nav-link.active {
    background: linear-gradient(135deg, var(--ui-side-active-1), var(--ui-side-active-2)) !important;
    border-color: rgba(170, 129, 93, 0.95) !important;
    color: #fff !important;
    box-shadow: 0 8px 14px rgba(44, 32, 22, 0.22) !important;
}

#sidebar .sidebar-nav .nav-content a,
.sidebar .sidebar-nav .nav-content a {
    color: rgba(247, 242, 236, 0.94) !important;
    border-radius: 2px !important;
    border: 1px solid transparent !important;
}

#sidebar .sidebar-nav .nav-content a i,
.sidebar .sidebar-nav .nav-content a i {
    color: #d7bfa5 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
.sidebar .sidebar-nav .nav-content a:hover {
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
}

#sidebar .sidebar-nav .nav-content a.active,
.sidebar .sidebar-nav .nav-content a.active {
    background: rgba(206, 173, 140, 0.2) !important;
    border-color: rgba(206, 173, 140, 0.36) !important;
    color: #fff !important;
}

/* --------------------------------------------------------------
   Ultimate Soft Professional Theme
   (highest-priority visual override)
-------------------------------------------------------------- */
body #header.header {
    background: linear-gradient(125deg, #4b5865 0%, #5d6d7d 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 0 8px 18px rgba(34, 45, 56, 0.22) !important;
}

body #header .logo span,
body #header .header-nav .nav-profile,
body #header .header-nav .nav-icon,
body #header .toggle-sidebar-btn {
    color: #eef3f8 !important;
}

body #header .toggle-sidebar-btn {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    border-radius: 4px !important;
}

body #header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
}

body #header .header-nav .nav-icon {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
}

body #header .header-nav .nav-profile {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 4px !important;
}

body #header .header-nav .nav-profile img {
    border-radius: 4px !important;
}

body #header .search-form input {
    background: #f9fbfd !important;
    border: 1px solid #b5c1cd !important;
    color: #2c3e50 !important;
    border-radius: 4px !important;
}

body #header .search-form input::placeholder {
    color: #728395 !important;
}

body #header .header-nav .dropdown-menu.profile,
body #header .header-nav .dropdown-menu.profile.show {
    background: #ffffff !important;
    border: 1px solid #d6dee7 !important;
    border-radius: 4px !important;
    box-shadow: 0 14px 30px rgba(30, 41, 53, 0.18) !important;
    padding: 8px !important;
    min-width: 275px !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #2d4258 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6f8296 !important;
    font-size: 12px !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-item {
    color: #304860 !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    font-weight: 600 !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #687f98 !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f2f6fa !important;
}

body #header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d6dee7 !important;
    border-left: 1px solid #d6dee7 !important;
}

body #sidebar.sidebar {
    background: linear-gradient(180deg, #566476 0%, #64758a 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: 8px 0 16px rgba(36, 49, 63, 0.18) !important;
}

body #sidebar .sidebar-nav .nav-heading {
    color: rgba(238, 243, 248, 0.85) !important;
}

body #sidebar .sidebar-nav .nav-link {
    color: #eef3f8 !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
}

body #sidebar .sidebar-nav .nav-link i {
    color: #d8e3ee !important;
}

body #sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.32) !important;
}

body #sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, #7b8fa6, #8ea3ba) !important;
    border-color: rgba(152, 201, 232, 0.92) !important;
    box-shadow: 0 8px 14px rgba(52, 68, 85, 0.18) !important;
}

body #sidebar .sidebar-nav .nav-content a {
    color: rgba(235, 241, 248, 0.95) !important;
    border-radius: 3px !important;
}

body #sidebar .sidebar-nav .nav-content a i {
    color: #d2ddea !important;
}

body #sidebar .sidebar-nav .nav-content a:hover,
body #sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
}

body #sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, #7b8fa6, #8ea3ba) !important;
    border-color: rgba(152, 201, 232, 0.92) !important;
}

/* --------------------------------------------------------------
   Final Override - Soft Professional Navbar + Sidebar
   (No cambia estructura, solo apariencia)
-------------------------------------------------------------- */
:root {
    --final-nav-1: #3f4955;
    --final-nav-2: #4d5a68;
    --final-side-1: #465463;
    --final-side-2: #556577;
    --final-side-active-1: #6b7f95;
    --final-side-active-2: #7e92a8;
    --final-text-light: #eef3f8;
}

#header.header {
    background: linear-gradient(120deg, var(--final-nav-1) 0%, var(--final-nav-2) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 20px rgba(33, 43, 54, 0.22) !important;
}

#header .logo span {
    color: var(--final-text-light) !important;
}

#header .toggle-sidebar-btn {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 4px !important;
}

#header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
}

#header .search-form input {
    border-radius: 4px !important;
    background: #f9fbfd !important;
    border: 1px solid #b8c4d0 !important;
    color: #2b3b4b !important;
}

#header .search-form input::placeholder {
    color: #708293 !important;
}

#header .header-nav .nav-icon {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile img {
    border-radius: 4px !important;
}

#header .header-nav .dropdown-menu.profile,
#header .header-nav .dropdown-menu.profile.show {
    background: #ffffff !important;
    border: 1px solid #d6dee7 !important;
    border-radius: 4px !important;
    box-shadow: 0 14px 30px rgba(30, 41, 53, 0.18) !important;
    min-width: 270px !important;
    padding: 8px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #2b3d4f !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6f8296 !important;
    font-size: 12px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item {
    color: #30465d !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    font-weight: 600 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #688099 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f1f5f9 !important;
}

#header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d6dee7 !important;
    border-left: 1px solid #d6dee7 !important;
}

#sidebar.sidebar {
    background: linear-gradient(180deg, var(--final-side-1) 0%, var(--final-side-2) 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 8px 0 18px rgba(33, 43, 54, 0.2) !important;
}

#sidebar .sidebar-nav .nav-heading {
    color: rgba(238, 243, 248, 0.82) !important;
}

#sidebar .sidebar-nav .nav-link {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 4px !important;
}

#sidebar .sidebar-nav .nav-link i {
    color: #d9e3ed !important;
}

#sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, var(--final-side-active-1), var(--final-side-active-2)) !important;
    border-color: rgba(132, 151, 172, 0.9) !important;
    box-shadow: 0 8px 14px rgba(46, 60, 75, 0.18) !important;
}

#sidebar .sidebar-nav .nav-content a {
    color: rgba(234, 240, 247, 0.94) !important;
    border-radius: 3px !important;
}

#sidebar .sidebar-nav .nav-content a i {
    color: #cdd9e6 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
#sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.26) !important;
    color: #ffffff !important;
}

#sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, var(--final-side-active-1), var(--final-side-active-2)) !important;
    border-color: rgba(132, 151, 172, 0.9) !important;
}

/* --------------------------------------------------------------
   Final Soft Professional Theme (Navbar + Sidebar only)
   Nota: override final, no toca tablas ni logica.
-------------------------------------------------------------- */
:root {
    --soft-nav-1: #2f3a46;
    --soft-nav-2: #3f4c5b;
    --soft-side-1: #364251;
    --soft-side-2: #425162;
    --soft-accent: #7a8fa6;
    --soft-accent-2: #8ea3ba;
    --soft-text: #eef3f8;
    --soft-border: rgba(238, 243, 248, 0.24);
}

#header.header {
    background: linear-gradient(120deg, var(--soft-nav-1) 0%, var(--soft-nav-2) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 8px 18px rgba(21, 29, 39, 0.24) !important;
}

#header .logo span {
    color: var(--soft-text) !important;
}

#header .toggle-sidebar-btn {
    color: var(--soft-text) !important;
    border: 1px solid var(--soft-border) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 3px !important;
}

#header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
}

#header .search-form input {
    border-radius: 4px !important;
    background: #f8fafc !important;
    border: 1px solid #b6c1cd !important;
    color: #263443 !important;
}

#header .search-form input::placeholder {
    color: #708191 !important;
}

#header .header-nav .nav-icon {
    color: var(--soft-text) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile {
    color: var(--soft-text) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile img {
    border-radius: 4px !important;
}

#header .header-nav .dropdown-menu.profile,
#header .header-nav .dropdown-menu.profile.show {
    background: #ffffff !important;
    border: 1px solid #d8e0e8 !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 28px rgba(25, 35, 48, 0.18) !important;
    padding: 8px !important;
    min-width: 270px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #253343 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header span {
    color: #687b8f !important;
    font-size: 12px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item {
    color: #2d3f52 !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    font-weight: 600 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #607488 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f1f5f9 !important;
}

#header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d8e0e8 !important;
    border-left: 1px solid #d8e0e8 !important;
}

#sidebar.sidebar {
    background: linear-gradient(180deg, var(--soft-side-1) 0%, var(--soft-side-2) 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 8px 0 18px rgba(25, 35, 48, 0.2) !important;
}

#sidebar .sidebar-nav .nav-heading {
    color: rgba(238, 243, 248, 0.8) !important;
}

#sidebar .sidebar-nav .nav-link {
    color: var(--soft-text) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 4px !important;
}

#sidebar .sidebar-nav .nav-link i {
    color: #d6e0ea !important;
}

#sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.13) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, var(--soft-accent), var(--soft-accent-2)) !important;
    border-color: rgba(128, 147, 168, 0.9) !important;
    box-shadow: 0 8px 16px rgba(44, 58, 75, 0.2) !important;
}

#sidebar .sidebar-nav .nav-content a {
    color: rgba(232, 239, 247, 0.94) !important;
    border-radius: 3px !important;
}

#sidebar .sidebar-nav .nav-content a i {
    color: #c9d7e5 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
#sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

#sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, var(--soft-accent), var(--soft-accent-2)) !important;
    border-color: rgba(128, 147, 168, 0.9) !important;
}

/* --------------------------------------------------------------
# Hard Override - Navbar/Sidebar Professional
-------------------------------------------------------------- */
:root {
    --hard-nav-bg-1: #12161c;
    --hard-nav-bg-2: #232b35;
    --hard-side-bg-1: #161b22;
    --hard-side-bg-2: #262f3a;
    --hard-accent: #c18a4a;
    --hard-text: #edf2f7;
    --hard-border: rgba(237, 242, 247, 0.2);
}

#header.header {
    background: linear-gradient(115deg, var(--hard-nav-bg-1) 0%, var(--hard-nav-bg-2) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 24px rgba(9, 13, 19, 0.28) !important;
}

#header .logo span {
    color: var(--hard-text) !important;
}

#header .toggle-sidebar-btn {
    border-radius: 0 !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid var(--hard-border) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--hard-text) !important;
}

#header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
}

#header .search-form input {
    border-radius: 3px !important;
    background: #f8fafc !important;
    border: 1px solid #adb8c4 !important;
    color: #1f2937 !important;
}

#header .search-form input::placeholder {
    color: #6b7280 !important;
}

#header .header-nav .nav-icon {
    border-radius: 3px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--hard-text) !important;
}

#header .header-nav .nav-profile {
    border-radius: 3px !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--hard-text) !important;
}

#header .header-nav .nav-profile img {
    border-radius: 2px !important;
}

#header .header-nav .dropdown-menu.profile,
#header .header-nav .dropdown-menu.profile.show {
    border-radius: 3px !important;
    border: 1px solid #d4dce5 !important;
    background: #ffffff !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.22) !important;
    min-width: 270px !important;
    padding: 8px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    margin-bottom: 2px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header span {
    font-size: 12px !important;
    color: #6b7280 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-divider {
    border-top: 1px solid #e6edf4 !important;
    margin: 6px 0 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    margin: 2px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #243446 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #4b5563 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f3f6fa !important;
    color: #1d2a3a !important;
}

#header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d4dce5 !important;
    border-left: 1px solid #d4dce5 !important;
}

#sidebar.sidebar {
    background: linear-gradient(180deg, var(--hard-side-bg-1) 0%, var(--hard-side-bg-2) 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 8px 0 20px rgba(15, 23, 42, 0.24) !important;
}

#sidebar .sidebar-nav .nav-heading {
    color: rgba(237, 242, 247, 0.76) !important;
}

#sidebar .sidebar-nav .nav-link {
    border-radius: 3px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--hard-text) !important;
}

#sidebar .sidebar-nav .nav-link i {
    color: rgba(223, 232, 242, 0.94) !important;
}

#sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, #8f653d, var(--hard-accent)) !important;
    border-color: rgba(150, 108, 67, 0.95) !important;
}

#sidebar .sidebar-nav .nav-content a {
    border-radius: 2px !important;
    color: rgba(231, 239, 247, 0.92) !important;
}

#sidebar .sidebar-nav .nav-content a i {
    color: #d9ad79 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
#sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

#sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, #8f653d, var(--hard-accent)) !important;
    border-color: rgba(150, 108, 67, 0.95) !important;
}

/* --------------------------------------------------------------
# Navbar Final Tuning (No Rounded Toggle + Styled Profile Dropdown)
-------------------------------------------------------------- */
.header .toggle-sidebar-btn {
    border-radius: 0;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 245, 232, 0.28);
    background: rgba(255, 245, 232, 0.1);
}

.header .toggle-sidebar-btn:hover {
    background: rgba(255, 245, 232, 0.18);
    border-color: rgba(255, 245, 232, 0.4);
}

.header .toggle-sidebar-btn:focus-visible {
    outline: 2px solid rgba(255, 210, 155, 0.72);
    outline-offset: 1px;
}

.header-nav .nav-profile {
    border-radius: 4px;
}

.header-nav .nav-profile img {
    border-radius: 4px !important;
}

.header-nav .dropdown-menu.profile,
.header-nav .dropdown-menu.profile.show {
    border-radius: 4px;
    border: 1px solid #d8c4ad;
    background: #fffaf3;
    box-shadow: 0 12px 26px rgba(50, 32, 20, 0.2);
    padding: 8px;
    min-width: 260px;
}

.header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left;
    padding: 8px 10px 10px;
}

.header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #4a2f22;
    font-weight: 700;
    font-size: 15px;
}

.header-nav .dropdown-menu.profile .dropdown-header span {
    color: #7a634f;
    font-size: 12px;
}

.header-nav .dropdown-menu.profile .dropdown-divider {
    border-top-color: #eadccc;
    margin: 6px 0;
}

.header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 4px;
    margin: 2px 0;
    padding: 9px 10px;
    font-weight: 600;
    color: #4a2f22;
    background: transparent;
}

.header-nav .dropdown-menu.profile .dropdown-item i {
    color: #9a5c35;
}

.header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f4e7d8;
    color: #3d261b;
}

.header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #fffaf3;
    border-top: 1px solid #d8c4ad;
    border-left: 1px solid #d8c4ad;
}

/* --------------------------------------------------------------
# Theme Final (Professional - Navbar/Sidebar)
-------------------------------------------------------------- */
:root {
    --pro-nav-950: #14171c;
    --pro-nav-900: #1d232b;
    --pro-nav-800: #2b343f;
    --pro-side-950: #171c22;
    --pro-side-900: #202730;
    --pro-side-800: #2a333d;
    --pro-accent: #be8549;
    --pro-accent-soft: #d3a16d;
    --pro-text-on-dark: #eef2f6;
    --pro-border-soft: rgba(238, 242, 246, 0.2);
}

body {
    background: linear-gradient(180deg, #f7f9fc 0%, #eef2f7 100%);
}

#main {
    border-radius: 10px 0 0 0;
}

.header {
    background: linear-gradient(110deg, var(--pro-nav-950) 0%, var(--pro-nav-800) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 24px rgba(13, 17, 23, 0.28);
}

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

.logo span {
    color: var(--pro-text-on-dark);
    font-weight: 700;
}

.header .toggle-sidebar-btn {
    color: var(--pro-text-on-dark);
    border-radius: 2px;
    border: 1px solid var(--pro-border-soft);
    background: rgba(255, 255, 255, 0.06);
}

.header .toggle-sidebar-btn:hover {
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.12);
}

.header .search-form input {
    border-radius: 4px;
    background: #f8fafc;
    border-color: #aab4c0;
    color: #1f2937;
}

.header .search-form input::placeholder {
    color: #6b7280;
}

.header-nav .nav-icon {
    color: var(--pro-text-on-dark);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.08);
}

.header-nav .nav-profile {
    color: var(--pro-text-on-dark);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
}

.header-nav .nav-profile img {
    border-radius: 4px !important;
}

.header-nav .dropdown-menu.profile,
.header-nav .dropdown-menu.profile.show {
    border-radius: 4px;
    border: 1px solid #cfd7e0;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18);
}

.header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #1f2937;
}

.header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6b7280;
}

.header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 3px;
    color: #243242;
}

.header-nav .dropdown-menu.profile .dropdown-item i {
    color: #4b5563;
}

.header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f3f6fa;
}

.header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff;
    border-top: 1px solid #cfd7e0;
    border-left: 1px solid #cfd7e0;
}

.sidebar {
    background: linear-gradient(180deg, var(--pro-side-950) 0%, var(--pro-side-800) 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 8px 0 22px rgba(15, 23, 42, 0.22);
}

.sidebar-nav .nav-heading {
    color: rgba(238, 242, 246, 0.76);
}

.sidebar-nav .nav-link {
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: var(--pro-text-on-dark);
}

.sidebar-nav .nav-link i {
    color: rgba(218, 227, 240, 0.95);
}

.sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.24);
    transform: none;
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, #8a6238, var(--pro-accent));
    border-color: rgba(146, 106, 64, 0.96);
    box-shadow: 0 8px 16px rgba(58, 36, 21, 0.26);
}

.sidebar-nav .nav-content a {
    border-radius: 3px;
    color: rgba(232, 238, 246, 0.92);
}

.sidebar-nav .nav-content a i {
    color: var(--pro-accent-soft);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
    color: #ffffff;
    transform: none;
}

.sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, #8a6238, var(--pro-accent));
    border-color: rgba(146, 106, 64, 0.96);
    box-shadow: 0 8px 16px rgba(58, 36, 21, 0.26);
}


/* --------------------------------------------------------------
   ENTERPRISE SKY FINAL END LAYER
-------------------------------------------------------------- */
body #header.header,
body .header {
    background: #0f82cd !important;
    border-bottom: 1px solid #0b6faa !important;
    box-shadow: 0 2px 10px rgba(9, 46, 78, 0.28) !important;
}

body #header .logo span,
body .header .logo span,
body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .header-nav .nav-icon {
    color: #ffffff !important;
}

body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .bi.bi-list.toggle-sidebar-btn,
body .header-nav .nav-icon {
    border-radius: 0 !important;
    border: 1px solid #58a8dd !important;
    background: rgba(255, 255, 255, 0.14) !important;
    box-shadow: none !important;
}

body #header .toggle-sidebar-btn:hover,
body .header .toggle-sidebar-btn:hover,
body .bi.bi-list.toggle-sidebar-btn:hover,
body .header-nav .nav-icon:hover {
    background: rgba(255, 255, 255, 0.24) !important;
    border-color: #84c0e7 !important;
    color: #ffffff !important;
}

body .header-nav .nav-profile {
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid #63afe0 !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile img {
    border-radius: 0 !important;
}

body .header-nav .nav-profile span,
body .header-nav .nav-profile i {
    color: #ffffff !important;
}

body .header-nav .dropdown-menu.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile.show {
    border-radius: 0 !important;
    background: #ffffff !important;
    border: 1px solid #b8d7ec !important;
    box-shadow: 0 8px 18px rgba(24, 54, 79, 0.14) !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 0 !important;
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #eaf4fc !important;
}

body .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #b8d7ec !important;
    border-left: 1px solid #b8d7ec !important;
}

body #sidebar.sidebar,
body .sidebar {
    background: #1b6f9f !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 4px 0 14px rgba(10, 44, 71, 0.22) !important;
}

body #sidebar .sidebar-nav .nav-heading,
body .sidebar .sidebar-nav .nav-heading {
    color: rgba(255, 255, 255, 0.72) !important;
}

body #sidebar .sidebar-nav .nav-link,
body .sidebar .sidebar-nav .nav-link {
    border-radius: 0 !important;
    background: #257aae !important;
    border: 1px solid #4d97c4 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #sidebar .sidebar-nav .nav-link i,
body .sidebar .sidebar-nav .nav-link i {
    color: #ffffff !important;
}

body #sidebar .sidebar-nav .nav-link:hover,
body .sidebar .sidebar-nav .nav-link:hover {
    background: #2f89c1 !important;
    border-color: #78b5d8 !important;
    transform: none !important;
}

body #sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body #sidebar .sidebar-nav .nav-link.active,
body .sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body .sidebar .sidebar-nav .nav-link.active {
    background: #3c9fdc !important;
    border-color: #98c9e8 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #sidebar .sidebar-nav .nav-content a,
body .sidebar .sidebar-nav .nav-content a {
    border-radius: 0 !important;
    color: #ffffff !important;
}

body #sidebar .sidebar-nav .nav-content a:hover,
body .sidebar .sidebar-nav .nav-content a:hover {
    background: #2f89c1 !important;
    border-color: transparent !important;
}

body #sidebar .sidebar-nav .nav-content a.active,
body .sidebar .sidebar-nav .nav-content a.active {
    background: #3c9fdc !important;
    border-color: #98c9e8 !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   CRUD FORM BUTTONS - FINAL (por ID, sin afectar todo el sistema)
-------------------------------------------------------------- */
body #btn_guardar_form.btn,
body #btn_guardar_form.btn-outline-success,
body #btn_guardar_form.btn-success {
    border-radius: 2px !important;
    font-weight: 600 !important;
    background: #0a9772 !important;
    border-color: #0a9772 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #btn_guardar_form.btn:hover,
body #btn_guardar_form.btn-outline-success:hover,
body #btn_guardar_form.btn-success:hover {
    background: #087f61 !important;
    border-color: #087f61 !important;
    color: #ffffff !important;
}

body #btn_reset_form.btn,
body #btn_reset_form.btn-outline-secondary,
body #btn_reset_form.btn-secondary {
    border-radius: 2px !important;
    font-weight: 600 !important;
    background: #1f7fb8 !important;
    border-color: #1f7fb8 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #btn_reset_form.btn:hover,
body #btn_reset_form.btn-outline-secondary:hover,
body #btn_reset_form.btn-secondary:hover {
    background: #1a6e9e !important;
    border-color: #1a6e9e !important;
    color: #ffffff !important;
}

/*!*****************************************************************************************************************!*\
  !*** 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%;
    max-width: 100%;
    overflow-x: auto;
    display: block;
    margin: auto;
    border-collapse: collapse;
    font-family: 'Roboto', Arial, sans-serif;
    background: #f9fbfc;
    color: #003E51;
    border: 1px solid #c9e7f0;
    border-radius: 8px;
}

.estilos_generales th {
    font-size: 15px;
    font-weight: bold;
    padding: 12px 13px;
    background: #e2f4f9;
    color: #004b60;
    border-bottom: 1px solid #c0e0ea;
    text-align: left;
    white-space: nowrap;
}

.estilos_generales td {
    padding: 8px;
    font-size: 13px;
    background: #ffffff;
    color: #003E51;
    border-bottom: 1px solid #f0f0f0;
    white-space: nowrap;
}

.estilos_generales tbody tr:hover {
    background-color: #f0fbff;
}


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

[id^="toolbar_"] > * {
    flex: 0 0 auto; /* evita que se expandan */
}

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

[id^="toolbar_"]::-webkit-scrollbar-thumb {
    background: #ccc;
    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;
    }
}


/* Botones generales personalizados */

/* Estilo comÃºn para todos los botones */

/* Hover de botones */

/* Botones deshabilitados */

/* BotÃ³n peligro */

/* BotÃ³n Ã©xito */

/* BotÃ³n advertencia */

/* BotÃ³n secundario */

/* --------------------------------------------------------------
   Ajuste visual profesional (sin cambiar clases)
-------------------------------------------------------------- */
.estilos_generales {
    background: #f8fafc;
    color: #2b3f55;
    border-color: #d4dee9;
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.estilos_generales th {
    background: #edf3f9;
    color: #31495f;
    border-bottom-color: #d4dee9;
}

.estilos_generales td {
    color: #2b3f55;
    border-bottom-color: #e8eef5;
}

.estilos_generales tbody tr:nth-child(even) td {
    background: #f9fcff;
}

.estilos_generales tbody tr:hover td {
    background-color: #edf4fb;
}

[id^="toolbar_"] {
    scrollbar-color: #b9c7d6 transparent;
}

[id^="toolbar_"]::-webkit-scrollbar-thumb {
    background: #b9c7d6;
}


/* --------------------------------------------------------------
   Final Override - Full Width + Pleasant Table Layout
   (Mantiene clases existentes)
-------------------------------------------------------------- */
table.estilos_generales {
    width: 100% !important;
    max-width: 100% !important;
    display: table !important;
    margin: 0 !important;
}

.bootstrap-table,
.bootstrap-table .fixed-table-container,
.bootstrap-table .fixed-table-body,
.bootstrap-table .table {
    width: 100% !important;
    max-width: 100% !important;
}

.bootstrap-table .fixed-table-container {
    border-radius: 6px !important;
    border-color: #d4deea !important;
    box-shadow: 0 8px 18px rgba(30, 41, 59, 0.08) !important;
}

.bootstrap-table .table thead th {
    background: #edf3f9 !important;
    color: #334c64 !important;
    border-bottom: 1px solid #d4deea !important;
    text-align: center !important;
}

.bootstrap-table .table tbody td {
    color: #2f455d !important;
    text-align: center !important;
}

.bootstrap-table .table tbody tr:nth-child(even) td {
    background: #f8fbff !important;
}

.bootstrap-table .table tbody tr:hover td {
    background: #edf4fb !important;
}

.bootstrap-table .fixed-table-pagination {
    background: #f6f9fd !important;
}

.bootstrap-table .fixed-table-pagination .page-item.active .page-link {
    background: #3f5f80 !important;
    border-color: #3f5f80 !important;
}

/* --------------------------------------------------------------
   Final Professional Tables (sin cambiar clases existentes)
-------------------------------------------------------------- */
:root {
    --tbl-surface: #f6fafd;
    --tbl-head-bg: #e5eef6;
    --tbl-head-text: #000000;
    --tbl-cell-text: #000000;
    --tbl-line: #cfe0ec;
    --tbl-row-alt: #fafdff;
    --tbl-row-hover: #edf5fb;
    --tbl-page-active: #4f87ad;
}

table.estilos_generales,
.bootstrap-table .table.estilos_generales,
.bootstrap-table .table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.bootstrap-table,
.bootstrap-table .fixed-table-container,
.bootstrap-table .fixed-table-body {
    width: 100% !important;
    max-width: 100% !important;
}

.bootstrap-table .fixed-table-container {
    background: #ffffff !important;
    border: 1px solid var(--tbl-line) !important;
    border-radius: 3px !important;
    box-shadow: 0 8px 16px rgba(29, 63, 90, 0.1) !important;
}

.estilos_generales {
    background: var(--tbl-surface) !important;
    border-color: var(--tbl-line) !important;
    border-radius: 3px !important;
}

.estilos_generales th,
.bootstrap-table .table thead th {
    background: var(--tbl-head-bg) !important;
    color: var(--tbl-head-text) !important;
    border-bottom: 1px solid var(--tbl-line) !important;
    font-weight: 700 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales td,
.bootstrap-table .table tbody td {
    color: var(--tbl-cell-text) !important;
    border-bottom: 1px solid #e5ebf3 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales tbody tr:nth-child(even) td,
.bootstrap-table .table tbody tr:nth-child(even) td {
    background: var(--tbl-row-alt) !important;
}

.estilos_generales tbody tr:hover td,
.bootstrap-table .table tbody tr:hover td {
    background: var(--tbl-row-hover) !important;
}

.bootstrap-table .fixed-table-pagination {
    background: #f2f8fd !important;
    border-top: 1px solid #d5e5f1 !important;
}

.bootstrap-table .fixed-table-pagination .page-link {
    color: #000000 !important;
    border-color: #ccdeeb !important;
    border-radius: 2px !important;
}

.bootstrap-table .fixed-table-pagination .page-item.active .page-link {
    background: var(--tbl-page-active) !important;
    border-color: var(--tbl-page-active) !important;
    color: #fff !important;
}

.bootstrap-table .fixed-table-pagination .page-link:hover {
    background: #e7f1f9 !important;
    color: #000000 !important;
}

/* --------------------------------------------------------------
   ENTERPRISE SKY TABLES FINAL END LAYER
-------------------------------------------------------------- */
:root {
    --tbl-surface: #f5fafe;
    --tbl-head-bg: #dcecf8;
    --tbl-head-text: #000000;
    --tbl-cell-text: #000000;
    --tbl-line: #c8dced;
    --tbl-row-alt: #fbfdff;
    --tbl-row-hover: #eaf4fc;
    --tbl-page-active: #3380b6;
}

table.estilos_generales,
.bootstrap-table .table.estilos_generales,
.bootstrap-table .table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.bootstrap-table,
.bootstrap-table .fixed-table-container,
.bootstrap-table .fixed-table-body {
    width: 100% !important;
    max-width: 100% !important;
}

.bootstrap-table .fixed-table-container {
    background: #ffffff !important;
    border: 1px solid var(--tbl-line) !important;
    border-radius: 3px !important;
    box-shadow: 0 6px 14px rgba(21, 59, 89, 0.1) !important;
}

.estilos_generales {
    background: var(--tbl-surface) !important;
    border-color: var(--tbl-line) !important;
    border-radius: 3px !important;
}

.estilos_generales th,
.bootstrap-table .table thead th {
    background: var(--tbl-head-bg) !important;
    color: var(--tbl-head-text) !important;
    border-bottom: 1px solid var(--tbl-line) !important;
    font-weight: 700 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales td,
.bootstrap-table .table tbody td {
    color: var(--tbl-cell-text) !important;
    border-bottom: 1px solid #deebf5 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales tbody tr:nth-child(even) td,
.bootstrap-table .table tbody tr:nth-child(even) td {
    background: var(--tbl-row-alt) !important;
}

.estilos_generales tbody tr:hover td,
.bootstrap-table .table tbody tr:hover td {
    background: var(--tbl-row-hover) !important;
}

.bootstrap-table .fixed-table-pagination {
    background: #f1f8fe !important;
    border-top: 1px solid #d2e4f2 !important;
}

.bootstrap-table .fixed-table-pagination .page-link {
    color: #000000 !important;
    border-color: #c8dced !important;
    border-radius: 2px !important;
}

.bootstrap-table .fixed-table-pagination .page-link:hover {
    background: #e6f2fb !important;
    color: #000000 !important;
}

.bootstrap-table .fixed-table-pagination .page-item.active .page-link {
    background: var(--tbl-page-active) !important;
    border-color: var(--tbl-page-active) !important;
    color: #ffffff !important;
}

/* Botones de tablas y toolbar en línea profesional */
[id^="toolbar_"] .btn,
[id^="toolbar_"] .btn-custom,
[id^="toolbar_"] .btn-custom-text,
.bootstrap-table .fixed-table-toolbar .btn,
table.estilos_generales .btn {
    border-radius: 3px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    border-width: 1px !important;
}

[id^="toolbar_"] .btn.btn-primary,
[id^="toolbar_"] .btn-custom,
[id^="toolbar_"] .btn-custom-text,
.bootstrap-table .fixed-table-toolbar .btn.btn-primary,
table.estilos_generales .btn.btn-primary {
    background: #0f82cd !important;
    border-color: #0f82cd !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-primary:hover,
[id^="toolbar_"] .btn-custom:hover,
[id^="toolbar_"] .btn-custom-text:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-primary:hover,
table.estilos_generales .btn.btn-primary:hover {
    background: #0d70b0 !important;
    border-color: #0d70b0 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-secondary,
.bootstrap-table .fixed-table-toolbar .btn.btn-secondary,
table.estilos_generales .btn.btn-secondary {
    background: #2f78ab !important;
    border-color: #2f78ab !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-secondary:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-secondary:hover,
table.estilos_generales .btn.btn-secondary:hover {
    background: #286a97 !important;
    border-color: #286a97 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-success,
.bootstrap-table .fixed-table-toolbar .btn.btn-success,
table.estilos_generales .btn.btn-success {
    background: #0a9772 !important;
    border-color: #0a9772 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-success:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-success:hover,
table.estilos_generales .btn.btn-success:hover {
    background: #087f61 !important;
    border-color: #087f61 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-warning,
.bootstrap-table .fixed-table-toolbar .btn.btn-warning,
table.estilos_generales .btn.btn-warning {
    background: #ab7624 !important;
    border-color: #ab7624 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-warning:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-warning:hover,
table.estilos_generales .btn.btn-warning:hover {
    background: #92651f !important;
    border-color: #92651f !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-danger,
.bootstrap-table .fixed-table-toolbar .btn.btn-danger,
table.estilos_generales .btn.btn-danger {
    background: #b54545 !important;
    border-color: #b54545 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-danger:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-danger:hover,
table.estilos_generales .btn.btn-danger:hover {
    background: #9b3b3b !important;
    border-color: #9b3b3b !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   TOOLBAR BUTTONS (utilMax) - FINAL por ID
-------------------------------------------------------------- */
#btn_nuevo,
#btn_remove_all,
#btn_estado_all,
#btn_carga_masiva,
#btn_descargar_excel {
    border-radius: 2px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    border-width: 1px !important;
    color: #ffffff !important;
}

#btn_nuevo {
    background: #0f82cd !important;
    border-color: #0f82cd !important;
}

#btn_nuevo:hover {
    background: #0d70b0 !important;
    border-color: #0d70b0 !important;
}

#btn_remove_all {
    background: #c54545 !important;
    border-color: #c54545 !important;
}

#btn_remove_all:hover {
    background: #a93a3a !important;
    border-color: #a93a3a !important;
}

#btn_estado_all {
    background: #1e9ad8 !important;
    border-color: #1e9ad8 !important;
}

#btn_estado_all:hover {
    background: #1a86bc !important;
    border-color: #1a86bc !important;
}

#btn_carga_masiva {
    background: #0a9772 !important;
    border-color: #0a9772 !important;
}

#btn_carga_masiva:hover {
    background: #087f61 !important;
    border-color: #087f61 !important;
}

#btn_descargar_excel {
    background: #148a53 !important;
    border-color: #148a53 !important;
}

#btn_descargar_excel:hover {
    background: #117647 !important;
    border-color: #117647 !important;
}

/*!*****************************************************************************************************************!*\
  !*** 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;
}

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

/* 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;
}
/*!**************************************************************************************************************!*\
  !*** 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 --- */

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

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

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QkFBOEI7SUFDOUIsZ0NBQWdDO0FBQ3BDOzs7OztBQ3hpQkEsMkNBQTJDO0FBQzNDO0lBQ0ksZUFBZTtJQUNmLFlBQVk7SUFDWixXQUFXO0lBQ1gseUJBQXlCLEVBQUUsK0JBQStCO0lBQzFELGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsdUNBQXVDO0lBQ3ZDLFVBQVUsRUFBRSxpREFBaUQ7QUFDakU7O0FBRUEsMkNBQTJDO0FBQzNDO0lBQ0ksZUFBZTtJQUNmLFlBQVksRUFBRSx3REFBd0Q7SUFDdEUsV0FBVztJQUNYLHlCQUF5QixFQUFFLCtCQUErQjtJQUMxRCxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLHVDQUF1QztJQUN2QyxVQUFVLEVBQUUsaURBQWlEO0FBQ2pFOztBQUVBLGtEQUFrRDtBQUNsRDtJQUNJLHFCQUFxQjtJQUNyQixXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUEsaURBQWlEO0FBQ2pEO0lBQ0ksZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxrQkFBa0I7QUFDdEI7O0FBRUEsaURBQWlEO0FBQ2pEO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQSxvRUFBb0U7QUFDcEU7O0lBRUksd0JBQXdCO0lBQ3hCLFNBQVM7QUFDYjs7QUFFQSwrQ0FBK0M7QUFDL0M7SUFDSSwwQkFBMEI7QUFDOUIsQzs7OztBQ3JEQTs7a0NBRWtDOztBQUVsQyw0QkFBNEI7O0FBSzVCLDhCQUE4Qjs7QUFJOUIsc0JBQXNCOztBQUd0QixxQ0FBcUM7O0FBS3JDLHFCQUFxQjs7QUFHckIsMEJBQTBCOztBQUkxQixpQ0FBaUM7O0FBR2pDLGdEQUFnRCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zdHlsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy90YWJsZXMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdmlzdGFzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4qIFRlbXBsYXRlIE5hbWU6IE5pY2VBZG1pbiAtIHYyLjUuMFxuKiBUZW1wbGF0ZSBVUkw6IGh0dHBzOi8vYm9vdHN0cmFwbWFkZS5jb20vbmljZS1hZG1pbi1ib290c3RyYXAtYWRtaW4taHRtbC10ZW1wbGF0ZS9cbiogQXV0aG9yOiBCb290c3RyYXBNYWRlLmNvbVxuKiBMaWNlbnNlOiBodHRwczovL2Jvb3RzdHJhcG1hZGUuY29tL2xpY2Vuc2UvXG4qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEdlbmVyYWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiN1aS1pZC0xIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuOnJvb3Qge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmOWZmO1xuICAgIGNvbG9yOiAjNDQ0NDQ0O1xufVxuXG5hIHtcbiAgICBjb2xvcjogIzQxNTRmMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICAgIGNvbG9yOiAjNzE3ZmY1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBNYWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4jbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICNtYWluIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgUGFnZSBUaXRsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBhZ2V0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnBhZ2V0aXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzAxMjk3MDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBCYWNrIHRvIHRvcCBidXR0b25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5iYWNrLXRvLXRvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvdHRvbTogMTVweDtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgICBiYWNrZ3JvdW5kOiAjNDE1NGYxO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG59XG5cbi5iYWNrLXRvLXRvcCBpIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5iYWNrLXRvLXRvcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzY3NzZmNDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmJhY2stdG8tdG9wLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE92ZXJyaWRlIHNvbWUgZGVmYXVsdCBCb290c3RyYXAgc3R5bGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERyb3Bkb3duIG1lbnVzICovXG4uZHJvcGRvd24tbWVudSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBkcm9wZG93bi1hbmltYXRlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBkcm9wZG93bi1hbmltYXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMzBweCAwIHJnYmEoODIsIDYzLCAxMDUsIDAuMik7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIsXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24tZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbn1cblxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWZvb3RlciBhIHtcbiAgICBjb2xvcjogIzQ0NDQ0NDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWZvb3RlciBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1kaXZpZGVyIHtcbiAgICBjb2xvcjogI2E1YzVmZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtIGkge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmOWZmO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZHJvcGRvd24tbWVudS1hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWFlZGYxO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlYWVkZjE7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZHJvcGRvd24tYW5pbWF0ZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZHJvcGRvd24tYW5pbWF0ZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi8qIExpZ2h0IEJhY2tncm91bmRzICovXG4uYmctcHJpbWFyeS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NmZTJmZjtcbiAgICBib3JkZXItY29sb3I6ICNjZmUyZmY7XG59XG5cbi5iZy1zZWNvbmRhcnktbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUzZTU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTJlM2U1O1xufVxuXG4uYmctc3VjY2Vzcy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTdkZDtcbiAgICBib3JkZXItY29sb3I6ICNkMWU3ZGQ7XG59XG5cbi5iZy1kYW5nZXItbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjhkN2RhO1xufVxuXG4uYmctd2FybmluZy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmYzY2Q7XG59XG5cbi5iZy1pbmZvLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZmNGZjO1xuICAgIGJvcmRlci1jb2xvcjogI2NmZjRmYztcbn1cblxuLmJnLWRhcmstbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2QzZDQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDNkM2Q0O1xufVxuXG4vKiBDYXJkICovXG4uY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAvKmJvcmRlcjogbm9uZTsqL1xuICAgIC8qYm9yZGVyLXJhZGl1czogNXB4OyovXG4gICAgLypib3gtc2hhZG93OiAwcHggMCAzMHB4IHJnYmEoMSwgNDEsIDExMiwgMC4xKTsqL1xufVxuXG4vKi5jYXJkLWhlYWRlciwqL1xuLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNlYmVlZjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzc5OGViMztcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uY2FyZC10aXRsZSB7XG4gICAgcGFkZGluZzogMjBweCAwIDE1cHggMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAvKmNvbG9yOiAjMDEyOTcwOyovXG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uY2FyZC10aXRsZSBzcGFuIHtcbiAgICBjb2xvcjogIzg5OWJiZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMCAyMHB4IDIwcHggMjBweDtcbn1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cblxuLyogQWxlcnRzICovXG4uYWxlcnQtaGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4vKiBDbG9zZSBCdXR0b24gKi9cbi5idG4tY2xvc2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xufVxuXG4uYnRuLWNsb3NlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEFjY29yZGlvbiAqL1xuLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlZWY0O1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiAjMDEyOTcwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY5ZmY7XG59XG5cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1idXR0b24ge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmFjY29yZGlvbi1mbHVzaCAuYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG59XG5cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1ib2R5IHtcbiAgICBwYWRkaW5nOiAwIDAgMTVweCAwO1xuICAgIGNvbG9yOiAjM2U0ZjZmO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLyogQnJlYWRjcnVtYnMgKi9cbi5icmVhZGNydW1iIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICM4OTliYmQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyZWFkY3J1bWIgYSB7XG4gICAgY29sb3I6ICM4OTliYmQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLmJyZWFkY3J1bWIgYTpob3ZlciB7XG4gICAgY29sb3I6ICM1MTY3OGY7XG59XG5cbi5icmVhZGNydW1iIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgY29sb3I6ICM4OTliYmQ7XG59XG5cbi5icmVhZGNydW1iIC5hY3RpdmUge1xuICAgIGNvbG9yOiAjNTE2NzhmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIEJvcmRlcmVkIFRhYnMgKi9cbi5uYXYtdGFicy1ib3JkZXJlZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlYmVlZjQ7XG59XG5cbi5uYXYtdGFicy1ib3JkZXJlZCAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjMmMzODRlO1xufVxuXG4ubmF2LXRhYnMtYm9yZGVyZWQgLm5hdi1saW5rOmhvdmVyLFxuLm5hdi10YWJzLWJvcmRlcmVkIC5uYXYtbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG59XG5cbi5uYXYtdGFicy1ib3JkZXJlZCAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNDE1NGYxO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNDE1NGYxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmxvZ28ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmxvZ28ge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgfVxufVxuXG4ubG9nbyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi5sb2dvIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwOyAvKiBUZXh0byBuZWdybyBwYXJhIGVsIGxvZ28gKi9cbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbn1cblxuLmhlYWRlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgei1pbmRleDogOTk3O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZThlMzc7IC8qIFZlcmRlIG9zY3VybyBwcm9mZXNpb25hbCAqL1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLmhlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzAwMDsgLyogSWNvbm8gbmVncm8gKi9cbn1cblxuLmhlYWRlciAuc2VhcmNoLWJhciB7XG4gICAgbWluLXdpZHRoOiAzNjBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgYmFja2dyb3VuZDogIzRlOGUzNzsgLyogVmVyZGUgbXV5IGNsYXJvIHBhcmEgbGEgYmFycmEgZGUgYsO6c3F1ZWRhICovXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaGVhZGVyIC5zZWFyY2gtYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgLyogRm9uZG8gYmxhbmNvIGN1YW5kbyBlc3TDoSB2aXNpYmxlICovXG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5zZWFyY2gtYmFyLXNob3cge1xuICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7IC8qIEJvcmRlIG5lZ3JvIGNsYXJvICovXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMDQwNDA0OyAvKiBUZXh0byBncmlzIG9zY3VybyBlbiBlbCBpbnB1dCAqL1xuICAgIHBhZGRpbmc6IDdweCAzOHB4IDdweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OmZvY3VzLFxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6aG92ZXIge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpOyAvKiBTb21icmEgbmVncmEgY2xhcmEgKi9cbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7IC8qIEJvcmRlIG5lZ3JvIGNsYXJvICovXG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGJ1dHRvbiBpIHtcbiAgICBjb2xvcjogIzMzMzsgLyogSWNvbm8gZ3JpcyBvc2N1cm8gKi9cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEhlYWRlciBOYXZcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5oZWFkZXItbmF2IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uaGVhZGVyLW5hdiA+IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1pY29uIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICMzMzM7IC8qIEdyaXMgb3NjdXJvICovXG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBjb2xvcjogIzA0MDQwNDsgLyogR3JpcyBvc2N1cm8gKi9cbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIGltZyB7XG4gICAgbWF4LWhlaWdodDogMzZweDtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaGVhZGVyLW5hdiAuYmFkZ2UtbnVtYmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IC0ycHggLTVweCBhdXRvIGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbn1cblxuLmhlYWRlci1uYXYgLm5vdGlmaWNhdGlvbnMge1xuICAgIGluc2V0OiA4cHggLTE1cHggYXV0byBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyAvKiBGb25kbyBncmlzIG11eSBjbGFybyAqL1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5oZWFkZXItbmF2IC5ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24taXRlbSBpIHtcbiAgICBtYXJnaW46IDAgMjBweCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjMzMzOyAvKiBHcmlzIG9zY3VybyAqL1xufVxuXG4uaGVhZGVyLW5hdiAubm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLWl0ZW0gaDQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBjb2xvcjogIzMzMzsgLyogR3JpcyBvc2N1cm8gKi9cbn1cblxuLmhlYWRlci1uYXYgLm5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi1pdGVtIHAge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgY29sb3I6ICM2NjY7IC8qIEdyaXMgbWVkaW8gKi9cbn1cblxuLmhlYWRlci1uYXYgLm5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyAvKiBHcmlzIGNsYXJvICovXG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyB7XG4gICAgaW5zZXQ6IDhweCAtMTVweCBhdXRvIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1uYXYgLm1lc3NhZ2VzIC5tZXNzYWdlLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyAvKiBGb25kbyBncmlzIG11eSBjbGFybyAqL1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyAubWVzc2FnZS1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyAubWVzc2FnZS1pdGVtIGltZyB7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAxMHB4O1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyAubWVzc2FnZS1pdGVtIGg0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgY29sb3I6ICMzMzM7IC8qIEdyaXMgb3NjdXJvICovXG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyAubWVzc2FnZS1pdGVtIHAge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgY29sb3I6ICM2NjY7IC8qIEdyaXMgbWVkaW8gKi9cbn1cblxuLmhlYWRlci1uYXYgLm1lc3NhZ2VzIC5tZXNzYWdlLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IC8qIEdyaXMgY2xhcm8gKi9cbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUge1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdG9wOiA4cHggIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBoNiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzMzMzsgLyogR3JpcyBvc2N1cm8gKi9cbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1pdGVtIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IC8qIEZvbmRvIGdyaXMgbXV5IGNsYXJvICovXG4gICAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0gaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogIzMzMzsgLyogR3JpcyBvc2N1cm8gKi9cbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IC8qIEdyaXMgY2xhcm8gKi9cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFNpZGViYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA2MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB6LWluZGV4OiA5OTY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6ICM0YjhhMmUgdHJhbnNwYXJlbnQ7IC8qIFZlcmRlIG9zY3VybyBwYXJhIGVsIHNjcm9sbGJhciAqL1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuNCk7IC8qIFNvbWJyYSBuZWdyYSBtw6FzIHByb251bmNpYWRhICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZjJlNTsgLyogVmVyZGUgbXV5IGNsYXJvICovXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuc2lkZWJhciB7XG4gICAgICAgIGxlZnQ6IC0zMDBweDsgLyogT2N1bHRhIGxhIGJhcnJhIGxhdGVyYWwgZW4gcGFudGFsbGFzIHBlcXVlw7FhcyAqL1xuICAgIH1cbn1cblxuLnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWYyZTU7IC8qIFZlcmRlIG11eSBjbGFybyBwYXJhIGVsIGZvbmRvIGRlbCBzY3JvbGxiYXIgKi9cbn1cblxuLnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGI4YTJlOyAvKiBWZXJkZSBvc2N1cm8gcGFyYSBlbCBwdWxnYXIgZGVsIHNjcm9sbGJhciAqL1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgI21haW4sXG4gICAgI2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMDBweDsgLyogQWp1c3RhIGVsIG1hcmdlbiBkZWwgY29udGVuaWRvIHByaW5jaXBhbCBwYXJhIGhhY2VyIGVzcGFjaW8gcGFyYSBsYSBiYXJyYSBsYXRlcmFsICovXG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRvZ2dsZS1zaWRlYmFyIC5zaWRlYmFyIHtcbiAgICAgICAgbGVmdDogMDsgLyogTXVlc3RyYSBsYSBiYXJyYSBsYXRlcmFsIGVuIHBhbnRhbGxhcyBwZXF1ZcOxYXMgY3VhbmRvIHNlIGFjdGl2YSBlbCB0b2dnbGUgKi9cbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAudG9nZ2xlLXNpZGViYXIgI21haW4sXG4gICAgLnRvZ2dsZS1zaWRlYmFyICNmb290ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgLyogUmVzdGFibGVjZSBlbCBtYXJnZW4gY3VhbmRvIHNlIG9jdWx0YSBsYSBiYXJyYSBsYXRlcmFsICovXG4gICAgfVxuXG4gICAgLnRvZ2dsZS1zaWRlYmFyIC5zaWRlYmFyIHtcbiAgICAgICAgbGVmdDogLTMwMHB4OyAvKiBPY3VsdGEgbGEgYmFycmEgbGF0ZXJhbCBjdWFuZG8gc2UgYWN0aXZhIGVsIHRvZ2dsZSBlbiBwYW50YWxsYXMgZ3JhbmRlcyAqL1xuICAgIH1cbn1cblxuLyogU2lkZWJhciBOYXZpZ2F0aW9uICovXG4uc2lkZWJhci1uYXYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5zaWRlYmFyLW5hdiBsaSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyAvKiBFc3BhY2lvIGVudHJlIGxvcyDDrXRlbXMgZGUgbmF2ZWdhY2nDs24gKi9cbn1cblxuLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMzMzM7IC8qIEdyaXMgb3NjdXJvICovXG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgIGNvbG9yOiAjMmM2YjJmOyAvKiBWZXJkZSBvc2N1cm8gcGFyYSB0ZXh0byBkZSBlbmxhY2VzICovXG4gICAgYmFja2dyb3VuZDogI2Q2ZjBkNjsgLyogVmVyZGUgbXV5IGNsYXJvIHBhcmEgZWwgZm9uZG8gZGUgZW5sYWNlcyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluayBpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiAjNGI4YTJlOyAvKiBWZXJkZSBvc2N1cm8gcGFyYSBsb3Mgw61jb25vcyAqL1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzFhMWExYTsgLyogR3JpcyBvc2N1cm8gcGFyYSBlbCB0ZXh0byBkZSBlbmxhY2VzIGFsIHBhc2FyIGVsIG1vdXNlICovXG4gICAgYmFja2dyb3VuZDogI2Q2ZjBkNjsgLyogVmVyZGUgbXV5IGNsYXJvIHBhcmEgZWwgZm9uZG8gZGUgZW5sYWNlcyBhbCBwYXNhciBlbCBtb3VzZSAqL1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBjb2xvcjogIzJjNmIyZjsgLyogVmVyZGUgb3NjdXJvIHBhcmEgdGV4dG8gZGUgZW5sYWNlcyBlbiBjb250ZW5pZG8gZGUgbmF2ZWdhY2nDs24gKi9cbiAgICBiYWNrZ3JvdW5kOiAjZTVmMmU1OyAvKiBWZXJkZSBtdXkgY2xhcm8gcGFyYSBlbCBmb25kbyBkZSBlbmxhY2VzIGVuIGNvbnRlbmlkbyBkZSBuYXZlZ2FjacOzbiAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSBpIHtcbiAgICBmb250LXNpemU6IDZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMxYTFhMWE7IC8qIEdyaXMgb3NjdXJvIHBhcmEgdGV4dG8gZGUgZW5sYWNlcyBhY3Rpdm9zIHkgYWwgcGFzYXIgZWwgbW91c2UgKi9cbiAgICBiYWNrZ3JvdW5kOiAjZDZmMGQ2OyAvKiBWZXJkZSBtdXkgY2xhcm8gcGFyYSBlbCBmb25kbyBkZSBlbmxhY2VzIGFjdGl2b3MgeSBhbCBwYXNhciBlbCBtb3VzZSAqL1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEuYWN0aXZlIGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmYwZDY7IC8qIFZlcmRlIG11eSBjbGFybyBwYXJhIGVsIGZvbmRvIGRlIMOtY29ub3MgYWN0aXZvcyAqL1xuXG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBEYXNoYm9hcmRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmRhc2hib2FyZCAuZmlsdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDE1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmZpbHRlciAuaWNvbiB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmljb246aG92ZXIsXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmljb246Zm9jdXMge1xuICAgIGNvbG9yOiAjNDE1NGYxO1xufVxuXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmZpbHRlciAuZHJvcGRvd24taGVhZGVyIGg2IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgY29sb3I6ICNhYWI3Y2Y7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xufVxuXG4vKiBJbmZvIENhcmRzICovXG4uZGFzaGJvYXJkIC5pbmZvLWNhcmQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uZGFzaGJvYXJkIC5pbmZvLWNhcmQgaDYge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjb2xvcjogIzAxMjk3MDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5jYXJkLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xufVxuXG4uZGFzaGJvYXJkIC5zYWxlcy1jYXJkIC5jYXJkLWljb24ge1xuICAgIGNvbG9yOiAjNDE1NGYxO1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZmU7XG59XG5cbi5kYXNoYm9hcmQgLnJldmVudWUtY2FyZCAuY2FyZC1pY29uIHtcbiAgICBjb2xvcjogIzJlY2E2YTtcbiAgICBiYWNrZ3JvdW5kOiAjZTBmOGU5O1xufVxuXG4uZGFzaGJvYXJkIC5jdXN0b21lcnMtY2FyZCAuY2FyZC1pY29uIHtcbiAgICBjb2xvcjogI2ZmNzcxZDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZlY2RmO1xufVxuXG4vKiBBY3Rpdml0eSAqL1xuLmRhc2hib2FyZCAuYWN0aXZpdHkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmRhc2hib2FyZCAuYWN0aXZpdHkgLmFjdGl2aXR5LWl0ZW0gLmFjdGl2aXRlLWxhYmVsIHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1pbi13aWR0aDogNjRweDtcbn1cblxuLmRhc2hib2FyZCAuYWN0aXZpdHkgLmFjdGl2aXR5LWl0ZW0gLmFjdGl2aXRlLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMTFweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWVmZTtcbn1cblxuLmRhc2hib2FyZCAuYWN0aXZpdHkgLmFjdGl2aXR5LWl0ZW0gLmFjdGl2aXR5LWJhZGdlIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgZmxleC1ncm93OiAwO1xufVxuXG4uZGFzaGJvYXJkIC5hY3Rpdml0eSAuYWN0aXZpdHktaXRlbSAuYWN0aXZpdHktY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4uZGFzaGJvYXJkIC5hY3Rpdml0eSAuYWN0aXZpdHktaXRlbTpmaXJzdC1jaGlsZCAuYWN0aXZpdGUtbGFiZWw6OmJlZm9yZSB7XG4gICAgdG9wOiA1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmFjdGl2aXR5IC5hY3Rpdml0eS1pdGVtOmxhc3QtY2hpbGQgLmFjdGl2aXR5LWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKiBOZXdzICYgVXBkYXRlcyAqL1xuLmRhc2hib2FyZCAubmV3cyAucG9zdC1pdGVtICsgLnBvc3QtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmRhc2hib2FyZCAubmV3cyBpbWcge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmRhc2hib2FyZCAubmV3cyBoNCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA5NXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmRhc2hib2FyZCAubmV3cyBoNCBhIHtcbiAgICBjb2xvcjogIzAxMjk3MDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4uZGFzaGJvYXJkIC5uZXdzIGg0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNDE1NGYxO1xufVxuXG4uZGFzaGJvYXJkIC5uZXdzIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICBtYXJnaW4tbGVmdDogOTVweDtcbn1cblxuLyogUmVjZW50IFNhbGVzICovXG4uZGFzaGJvYXJkIC5yZWNlbnQtc2FsZXMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmRhc2hib2FyZCAucmVjZW50LXNhbGVzIC50YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmZTtcbn1cblxuLmRhc2hib2FyZCAucmVjZW50LXNhbGVzIC50YWJsZSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5yZWNlbnQtc2FsZXMgLmRhdGFUYWJsZS10b3Age1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XG59XG5cbi5kYXNoYm9hcmQgLnJlY2VudC1zYWxlcyAuZGF0YVRhYmxlLWJvdHRvbSB7XG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcbn1cblxuLyogVG9wIFNlbGxpbmcgKi9cbi5kYXNoYm9hcmQgLnRvcC1zZWxsaW5nIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5kYXNoYm9hcmQgLnRvcC1zZWxsaW5nIC50YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmZTtcbn1cblxuLmRhc2hib2FyZCAudG9wLXNlbGxpbmcgLnRhYmxlIHRoZWFkIHRoIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5kYXNoYm9hcmQgLnRvcC1zZWxsaW5nIC50YWJsZSB0Ym9keSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmRhc2hib2FyZCAudG9wLXNlbGxpbmcgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWF4LXdpZHRoOiA2MHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEljb25zIGxpc3QgcGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmljb25zbGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gICAgZ2FwOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG4uaWNvbnNsaXN0IC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMDEyOTcwO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLmljb25zbGlzdCBpIHtcbiAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG59XG5cbi5pY29uc2xpc3QgLmxhYmVsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tYnMtZm9udC1tb25vc3BhY2UpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6ICM2NjY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgUHJvZmllIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wcm9maWxlIC5wcm9maWxlLWNhcmQgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xufVxuXG4ucHJvZmlsZSAucHJvZmlsZS1jYXJkIGgyIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzJjMzg0ZTtcbiAgICBtYXJnaW46IDEwcHggMCAwIDA7XG59XG5cbi5wcm9maWxlIC5wcm9maWxlLWNhcmQgaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtY2FyZCAuc29jaWFsLWxpbmtzIGEge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6IHJnYmEoMSwgNDEsIDExMiwgMC41KTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtY2FyZCAuc29jaWFsLWxpbmtzIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDEyOTcwO1xufVxuXG4ucHJvZmlsZSAucHJvZmlsZS1vdmVydmlldyAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtb3ZlcnZpZXcgLmNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAjMDEyOTcwO1xufVxuXG4ucHJvZmlsZSAucHJvZmlsZS1vdmVydmlldyAubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHJnYmEoMSwgNDEsIDExMiwgMC42KTtcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtZWRpdCBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogcmdiYSgxLCA0MSwgMTEyLCAwLjYpO1xufVxuXG4ucHJvZmlsZSAucHJvZmlsZS1lZGl0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGLkEuUSBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmFxIC5iYXNpYyBoNiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG59XG5cbi5mYXEgLmJhc2ljIHAge1xuICAgIGNvbG9yOiAjNjk4MGFhO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIENvbnRhY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb250YWN0IC5pbmZvLWJveCB7XG4gICAgcGFkZGluZzogMjhweCAzMHB4O1xufVxuXG4uY29udGFjdCAuaW5mby1ib3ggaSB7XG4gICAgZm9udC1zaXplOiAzOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjNDE1NGYxO1xufVxuXG4uY29udGFjdCAuaW5mby1ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzAxMjk3MDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMjBweCAwIDEwcHggMDtcbn1cblxuLmNvbnRhY3QgLmluZm8tYm94IHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSAuZXJyb3ItbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZWQzYzBkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSAuc2VudC1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMxOGQyNmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gLmxvYWRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gLmxvYWRpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbjogMCAxMHB4IC02cHggMDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMThkMjZlO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlZWU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGUtbG9hZGluZyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlLWxvYWRpbmcgMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gaW5wdXQsXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gdGV4dGFyZWEge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIGlucHV0OmZvY3VzLFxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM0MTU0ZjE7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSBpbnB1dCB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gdGV4dGFyZWEge1xuICAgIHBhZGRpbmc6IDEycHggMTVweDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICAgIGJhY2tncm91bmQ6ICM0MTU0ZjE7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM1OTY5ZjM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlLWxvYWRpbmcge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtbG9hZGluZyB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRXJyb3IgNDA0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZXJyb3ItNDA0IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xufVxuXG4uZXJyb3ItNDA0IGgxIHtcbiAgICBmb250LXNpemU6IDE4MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMTUwcHg7XG59XG5cbi5lcnJvci00MDQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDEyOTcwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5lcnJvci00MDQgLmJ0biB7XG4gICAgYmFja2dyb3VuZDogIzUxNjc4ZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA4cHggMzBweDtcbn1cblxuLmVycm9yLTQwNCAuYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2U0ZjZmO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXJyb3ItNDA0IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGb290ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mb290ZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZGRmZmY7XG59XG5cbi5mb290ZXIgLmNvcHlyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMDEyOTcwO1xufVxuXG4uZm9vdGVyIC5jcmVkaXRzIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMwMTI5NzA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5hdmJhciArIFNpZGViYXIgUmVmcmVzaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDY0cHg7XG4gICAgLS1zaWRlYmFyLXdpZHRoOiAzMDBweDtcbiAgICAtLWJyYW5kLTkwMDogIzBmMmY0YTtcbiAgICAtLWJyYW5kLTgwMDogIzE3NDI2NDtcbiAgICAtLWJyYW5kLTcwMDogIzJmNmI5NjtcbiAgICAtLWJyYW5kLTEwMDogI2VjZjRmYjtcbiAgICAtLXN1cmZhY2UtMDogI2ZmZmZmZjtcbiAgICAtLXN1cmZhY2UtMTogI2Y0ZjdmYjtcbiAgICAtLXRleHQtOTAwOiAjMWYyZDNkO1xuICAgIC0tdGV4dC03MDA6ICM0ZDVmNzM7XG4gICAgLS10ZXh0LW9uLWJyYW5kOiAjZjRmOWZmO1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZjZmOWZmIDAlLCAjZjFmNWZhIDEwMCUpO1xufVxuXG4jbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG59XG5cbi5oZWFkZXIge1xuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgdmFyKC0tYnJhbmQtOTAwKSAwJSwgdmFyKC0tYnJhbmQtNzAwKSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjZweCByZ2JhKDEwLCAzMSwgNTIsIDAuMjgpO1xufVxuXG4ubG9nbyBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xufVxuXG4ubG9nbyBzcGFuIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1icmFuZCk7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0biB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWJyYW5kKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuLmhlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1iYXIge1xuICAgIG1pbi13aWR0aDogMzQwcHg7XG4gICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6ICMxYjMzNGE7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM2NjdhOGY7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OmZvY3VzLFxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxMDYsIDE0OCwgMC42OCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTA5LCAxNTEsIDE4NiwgMC4zKTtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gYnV0dG9uIGkge1xuICAgIGNvbG9yOiAjMjc0ODY2O1xufVxuXG4uaGVhZGVyLW5hdiAubmF2LWljb24ge1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIGhlaWdodDogMzhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWJyYW5kKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtbGluazpob3ZlciAubmF2LWljb24sXG4uaGVhZGVyLW5hdiAubmF2LWxpbms6Zm9jdXMgLm5hdi1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1icmFuZCk7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBpbWcge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Nik7XG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOWU0ZjA7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgxOSwgMzksIDYxLCAwLjE2KTtcbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW46IDJweCA4cHg7XG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1pdGVtIGkge1xuICAgIGNvbG9yOiAjMmQ0ZjZmO1xufVxuXG4uaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjNmYjtcbn1cblxuLnNpZGViYXIge1xuICAgIHRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuICAgIHBhZGRpbmc6IDE2cHggMTRweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmMmY2ZmIgMCUsICNlOWYwZjggNTIlLCAjZTFlYWY1IDEwMCUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjOGQ2ZTY7XG4gICAgYm94LXNoYWRvdzogOHB4IDAgMjRweCByZ2JhKDIxLCA0MywgNjcsIDAuMTYpO1xuICAgIHNjcm9sbGJhci1jb2xvcjogIzczOTBhZCB0cmFuc3BhcmVudDtcbn1cblxuLnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM5MGFkO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnNpZGViYXIge1xuICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLXNpZGViYXItd2lkdGgpICogLTEpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICNtYWluLFxuICAgICNmb290ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnRvZ2dsZS1zaWRlYmFyICNtYWluLFxuICAgIC50b2dnbGUtc2lkZWJhciAjZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1zaWRlYmFyIC5zaWRlYmFyIHtcbiAgICAgICAgbGVmdDogY2FsYyh2YXIoLS1zaWRlYmFyLXdpZHRoKSAqIC0xKTtcbiAgICB9XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgY29sb3I6ICM0YzYwNzY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluayB7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTFweCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjgsIDE0OCwgMTcyLCAwLjM0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTYpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LTkwMCk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMjEsIDQzLCA2OCwgMC4wOCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluayBpIHtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtNzAwKTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMxMDI3M2Q7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmJmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoODYsIDEyMywgMTU5LCAwLjQ0KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGlua1tkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJdOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYnJhbmQtODAwKSwgdmFyKC0tYnJhbmQtNzAwKSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDMzLCA3OSwgMTE4LCAwLjkyKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMTgsIDUwLCA3NywgMC4yMik7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmtbZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXTpub3QoLmNvbGxhcHNlZCkgaSB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsgLmJpLWNoZXZyb24tZG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGlua1tkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJdOm5vdCguY29sbGFwc2VkKSAuYmktY2hldnJvbi1kb3duIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW46IDRweCAycHggMDtcbiAgICBwYWRkaW5nOiA5cHggMTJweCA5cHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LTcwMCk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIGkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmb250LXNpemU6IDdweDtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtNzAwKTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMxMDI3M2Q7XG4gICAgYmFja2dyb3VuZDogI2YyZjdmZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoOTQsIDEyOCwgMTYwLCAwLjMyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzI1NTM3YiwgIzNmNzM5Zik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDMyLCA3MywgMTEwLCAwLjkpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE0cHggcmdiYSgyMiwgNTYsIDg2LCAwLjIpO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEuYWN0aXZlIGkge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBQcm9mZXNzaW9uYWwgVUkgUG9saXNoIChOYXZiYXIsIFNpZGViYXIsIEJ1dHRvbnMpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAgIC0tdWktYnJhbmQtOTUwOiAjMmYxZTE2O1xuICAgIC0tdWktYnJhbmQtOTAwOiAjNGEyZjIyO1xuICAgIC0tdWktYnJhbmQtODAwOiAjNmI0MTJkO1xuICAgIC0tdWktYnJhbmQtNzAwOiAjODY1MzM4O1xuICAgIC0tdWktYWNjZW50LTYwMDogI2IwNmQzYjtcbiAgICAtLXVpLWFjY2VudC01MDA6ICNjODg0NGY7XG4gICAgLS11aS1iZy1hcHA6ICNmNmVmZTc7XG4gICAgLS11aS1iZy1zdXJmYWNlOiAjZmZmZmZmO1xuICAgIC0tdWktYm9yZGVyLXNvZnQ6ICNlM2Q0YzU7XG4gICAgLS11aS10ZXh0LTkwMDogIzNiMmIyMTtcbiAgICAtLXVpLXRleHQtNzAwOiAjNmI1NzQ4O1xuICAgIC0tdWktdGV4dC1vbi1kYXJrOiAjZmZmNWViO1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmJmNmVmIDAlLCB2YXIoLS11aS1iZy1hcHApIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS11aS10ZXh0LTkwMCk7XG59XG5cbiNtYWluIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4IDAgMCAwO1xufVxuXG4uaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTEwZGVnLCB2YXIoLS11aS1icmFuZC05NTApIDAlLCB2YXIoLS11aS1icmFuZC04MDApIDEwMCUpO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNnB4IHJnYmEoMzQsIDIwLCAxMywgMC4zNik7XG59XG5cbi5sb2dvIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS11aS10ZXh0LW9uLWRhcmspO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuLmhlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBjb2xvcjogdmFyKC0tdWktdGV4dC1vbi1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjUwLCAyNDEsIDAuMTQpO1xufVxuXG4uaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTAsIDI0MSwgMC4yNCk7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZhZjM7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE3NywgMTMyLCA4OCwgMC41Mik7XG4gICAgY29sb3I6ICM0YjM2Mjg7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM4ZTczNWQ7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLXVpLXRleHQtb24tZGFyayk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1MCwgMjQxLCAwLjE0KTtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBjb2xvcjogdmFyKC0tdWktdGV4dC1vbi1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjUwLCAyNDEsIDAuMTQpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1MCwgMjQxLCAwLjI4KTtcbn1cblxuLnNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzYTI1MWEgMCUsICM1MDMyMjMgNTglLCAjNjU0MTJkIDEwMCUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNDUsIDIzMiwgMC4xNik7XG4gICAgYm94LXNoYWRvdzogMTBweCAwIDI2cHggcmdiYSgzNiwgMjIsIDE1LCAwLjM0KTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNDEsIDIyNCwgMC44Nik7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNDUsIDIzMiwgMC4yMik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI0NSwgMjMyLCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS11aS10ZXh0LW9uLWRhcmspO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyMjAsIDE4MiwgMC45Nik7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNDUsIDIzMiwgMC4yKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNDUsIDIzMiwgMC4zOCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmtbZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXTpub3QoLmNvbGxhcHNlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXVpLWFjY2VudC02MDApLCB2YXIoLS11aS1hY2NlbnQtNTAwKSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0NSwgODgsIDQ3LCAwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMThweCByZ2JhKDcyLCA0MywgMjMsIDAuMyk7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNDEsIDIyNCwgMC45NCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSBpIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDIxNiwgMTY3LCAwLjk2KTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI0NSwgMjMyLCAwLjIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI0NSwgMjMyLCAwLjM4KTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdWktYWNjZW50LTYwMCksIHZhcigtLXVpLWFjY2VudC01MDApKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ1LCA4OCwgNDcsIDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxOHB4IHJnYmEoNzIsIDQzLCAyMywgMC4zKTtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRU5URVJQUklTRSBNSU5JTUFMIC0gRklOQUwgKFByb2Zlc3Npb25hbCwgc29iZXIsIGxvdyBjb2xvcilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5ICNoZWFkZXIuaGVhZGVyLFxuYm9keSAuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWRmNWZiICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZmUwZWMgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgyMCwgNDksIDcyLCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAubG9nbyBzcGFuLFxuYm9keSAuaGVhZGVyIC5sb2dvIHNwYW4sXG5ib2R5ICNoZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bixcbmJvZHkgLmhlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuLFxuYm9keSAuaGVhZGVyLW5hdiAubmF2LWljb24ge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuLFxuYm9keSAuaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG4sXG5ib2R5IC5iaS5iaS1saXN0LnRvZ2dsZS1zaWRlYmFyLWJ0bixcbmJvZHkgLmhlYWRlci1uYXYgLm5hdi1pY29uIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdkOGU1ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdkOGU1ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUsXG5ib2R5IC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtZW5kLmRyb3Bkb3duLW1lbnUtYXJyb3cucHJvZmlsZSxcbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS1lbmQuZHJvcGRvd24tbWVudS1hcnJvdy5wcm9maWxlLnNob3cge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2RkZGVhICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDIwLCA0OSwgNzIsIDAuMTQpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIGkge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2VlZjVmYiAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUuZHJvcGRvd24tbWVudS1hcnJvdzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZGRkZWEgIWltcG9ydGFudDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjZGRkZWEgIWltcG9ydGFudDtcbn1cblxuYm9keSAjc2lkZWJhci5zaWRlYmFyLFxuYm9keSAuc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogIzJjNGQ2MyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiA0cHggMCAxNHB4IHJnYmEoMTYsIDQwLCA2MCwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5zaWRlYmFyLW5hdiAubmF2LWhlYWRpbmcge1xuICAgIGNvbG9yOiByZ2JhKDIyNiwgMjM5LCAyNDgsIDAuNzIpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtbGluayB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuYm9keSAuc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzY1ZjdiICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtbGlua1tkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJdOm5vdCguY29sbGFwc2VkKSxcbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICM0Zjg3YWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICM0Zjg3YWQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keSAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2E2Nzg0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE1NCwgMTkzLCAwLjI4KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg5NiwgMTU0LCAxOTMsIDAuNSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVUkgTE9DSyAtIFByb2Zlc3Npb25hbCBGaW5hbCBMYXllciAoRU9GKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNoZWFkZXIuaGVhZGVyLFxuYm9keSAuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZjdmNWYyIDAlLCAjZjFlY2U1IDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2NjYmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoNjAsIDQ2LCAzMiwgMC4xNCkgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuLFxuYm9keSAuaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG4sXG5ib2R5IC5iaS5iaS1saXN0LnRvZ2dsZS1zaWRlYmFyLWJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjRlZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZmMyYjMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzJmMmEyNSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuOmhvdmVyLFxuYm9keSAuaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG46aG92ZXIsXG5ib2R5IC5iaS5iaS1saXN0LnRvZ2dsZS1zaWRlYmFyLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2VmZTdkZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI2JlYTk4ZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjM2EzMTJhICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLm5hdi1pY29uIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmNGVlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q1YzliYyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMmYyYTI1ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmM2VjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4Y2NiZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlLFxuYm9keSAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LWVuZC5kcm9wZG93bi1tZW51LWFycm93LnByb2ZpbGUsXG5ib2R5IC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtZW5kLmRyb3Bkb3duLW1lbnUtYXJyb3cucHJvZmlsZS5zaG93IHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZGZiICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q5Y2NiZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyNHB4IHJnYmEoNTIsIDM5LCAyNywgMC4xNikgIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzNhMzEyOSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0gaSB7XG4gICAgY29sb3I6ICM3YTVhM2QgIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlNGQ5ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZS5kcm9wZG93bi1tZW51LWFycm93OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmZkZmIgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5Y2NiZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q5Y2NiZSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhci5zaWRlYmFyLFxuYm9keSAuc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzUyNDczZCAwJSwgIzQzMzkyZiAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiA4cHggMCAyMHB4IHJnYmEoMjgsIDIxLCAxNSwgMC4yMikgIWltcG9ydGFudDtcbn1cblxuYm9keSAuc2lkZWJhci1uYXYgLm5hdi1oZWFkaW5nIHtcbiAgICBjb2xvcjogcmdiYSgyNDQsIDIzOSwgMjMzLCAwLjcyKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5zaWRlYmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmNGVmZTkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtbGluayBpIHtcbiAgICBjb2xvcjogcmdiYSgyNDQsIDIzOSwgMjMzLCAwLjkpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtbGlua1tkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJdOm5vdCguY29sbGFwc2VkKSxcbmJvZHkgLnNpZGViYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4YzY2NDIsICM3YTVhM2QpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE3MCwgMTI5LCA5MywgMC45NSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE0cHggcmdiYSg0NCwgMzIsIDIyLCAwLjIyKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYmEoMjQ3LCAyNDIsIDIzNiwgMC45NCkgIWltcG9ydGFudDtcbn1cblxuYm9keSAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCkgIWltcG9ydGFudDtcbn1cblxuYm9keSAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwNiwgMTczLCAxNDAsIDAuMikgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjA2LCAxNzMsIDE0MCwgMC4zNikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRklOQUwgUFJPRkVTU0lPTkFMIFRIRU1FIC0gTkFWQkFSICsgU0lERUJBUlxuICAgKHN1YXZlLCBjb3Jwb3JhdGl2bywgc2luIHJlZG9uZGVvcyBleGNlc2l2b3MpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAgIC0tdWktbmF2LWJnLTE6ICNmN2Y1ZjI7XG4gICAgLS11aS1uYXYtYmctMjogI2YxZWNlNTtcbiAgICAtLXVpLW5hdi1ib3JkZXI6ICNkN2NjYmY7XG4gICAgLS11aS1uYXYtdGV4dDogIzJmMmEyNTtcbiAgICAtLXVpLW5hdi1tdXRlZDogIzZiNjI1OTtcbiAgICAtLXVpLW5hdi1hY2NlbnQ6ICM3YTVhM2Q7XG4gICAgLS11aS1uYXYtYWNjZW50LXNvZnQ6ICNlZGU0ZDk7XG5cbiAgICAtLXVpLXNpZGUtYmctMTogIzUyNDczZDtcbiAgICAtLXVpLXNpZGUtYmctMjogIzQzMzkyZjtcbiAgICAtLXVpLXNpZGUtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIC0tdWktc2lkZS10ZXh0OiAjZjRlZmU5O1xuICAgIC0tdWktc2lkZS1tdXRlZDogcmdiYSgyNDQsIDIzOSwgMjMzLCAwLjcyKTtcbiAgICAtLXVpLXNpZGUtaXRlbTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbiAgICAtLXVpLXNpZGUtaXRlbS1ob3ZlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAtLXVpLXNpZGUtYWN0aXZlLTE6ICM4YzY2NDI7XG4gICAgLS11aS1zaWRlLWFjdGl2ZS0yOiAjN2E1YTNkO1xufVxuXG4jaGVhZGVyLmhlYWRlcixcbi5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLXVpLW5hdi1iZy0xKSAwJSwgdmFyKC0tdWktbmF2LWJnLTIpIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLW5hdi1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDYwLCA0NiwgMzIsIDAuMTQpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmxvZ28gc3Bhbixcbi5oZWFkZXIgLmxvZ28gc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLXVpLW5hdi10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuLFxuLmhlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBjb2xvcjogdmFyKC0tdWktbmF2LXRleHQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NmYzJiMyAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmOGY0ZWUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bjpob3Zlcixcbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2VmZTdkZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI2JlYTk4ZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjM2EzMTJhICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0LFxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIGJhY2tncm91bmQ6ICNmYmZhZjggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDhjZWMyICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXVpLW5hdi10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b24sXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b24ge1xuICAgIGNvbG9yOiB2YXIoLS11aS1uYXYtbXV0ZWQpICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLXVpLW5hdi10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNWM5YmMgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmNGVlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLW5hdiAubmF2LWljb246aG92ZXIsXG4uaGVhZGVyLW5hdiAubmF2LWljb24uc2hvdyB7XG4gICAgYmFja2dyb3VuZDogI2VlZTVkYSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI2JlYTk4ZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjM2EzMTJhICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjNlYyAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGNjYmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBzcGFuIHtcbiAgICBjb2xvcjogdmFyKC0tdWktbmF2LXRleHQpICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlLFxuLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZS5zaG93LFxuLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS1lbmQuZHJvcGRvd24tbWVudS1hcnJvdy5wcm9maWxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZGZiICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q5Y2NiZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyNHB4IHJnYmEoNTIsIDM5LCAyNywgMC4xNikgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMC4zcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuM3JlbSAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgaDYge1xuICAgIGNvbG9yOiAjMmYyYTI1ICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBzcGFuIHtcbiAgICBjb2xvcjogIzZmNjc1ZiAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZThkZGQyICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIGNvbG9yOiAjM2EzMTI5ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxcHggNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAuNDhyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC40OHJlbSAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIGkge1xuICAgIGNvbG9yOiAjN2E1YTNkICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLW5hdi1hY2NlbnQtc29mdCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzJjMjQxZSAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlLmRyb3Bkb3duLW1lbnUtYXJyb3c6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmRmYiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDljY2JlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDljY2JlICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyLnNpZGViYXIsXG4uc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tdWktc2lkZS1iZy0xKSAwJSwgdmFyKC0tdWktc2lkZS1iZy0yKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXVpLXNpZGUtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDhweCAwIDIwcHggcmdiYSgyOCwgMjEsIDE1LCAwLjIyKSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1oZWFkaW5nLFxuLnNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgY29sb3I6IHZhcigtLXVpLXNpZGUtbXV0ZWQpICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMzVweDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluayxcbi5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS11aS1zaWRlLXRleHQpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktc2lkZS1pdGVtKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSxcbi5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgY29sb3I6IHJnYmEoMjQ0LCAyMzksIDIzMywgMC45KSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyLFxuLnNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktc2lkZS1pdGVtLWhvdmVyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGlua1tkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJdOm5vdCguY29sbGFwc2VkKSxcbi5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmtbZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXTpub3QoLmNvbGxhcHNlZCksXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSxcbi5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS11aS1zaWRlLWFjdGl2ZS0xKSwgdmFyKC0tdWktc2lkZS1hY3RpdmUtMikpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE3MCwgMTI5LCA5MywgMC45NSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE0cHggcmdiYSg0NCwgMzIsIDIyLCAwLjIyKSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEsXG4uc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEge1xuICAgIGNvbG9yOiByZ2JhKDI0NywgMjQyLCAyMzYsIDAuOTQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIGksXG4uc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEgaSB7XG4gICAgY29sb3I6ICNkN2JmYTUgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuLnNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTEpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSxcbi5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjA2LCAxNzMsIDE0MCwgMC4yKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDYsIDE3MywgMTQwLCAwLjM2KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBVbHRpbWF0ZSBTb2Z0IFByb2Zlc3Npb25hbCBUaGVtZVxuICAgKGhpZ2hlc3QtcHJpb3JpdHkgdmlzdWFsIG92ZXJyaWRlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkgI2hlYWRlci5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjVkZWcsICM0YjU4NjUgMCUsICM1ZDZkN2QgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgzNCwgNDUsIDU2LCAwLjIyKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNoZWFkZXIgLmxvZ28gc3BhbixcbmJvZHkgI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUsXG5ib2R5ICNoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1pY29uLFxuYm9keSAjaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG4ge1xuICAgIGNvbG9yOiAjZWVmM2Y4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzgpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LWljb24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbn1cblxuYm9keSAjaGVhZGVyIC5zZWFyY2gtZm9ybSBpbnB1dCB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZmJmZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNWMxY2QgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzJjM2U1MCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM3MjgzOTUgIWltcG9ydGFudDtcbn1cblxuYm9keSAjaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUsXG5ib2R5ICNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZS5zaG93IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGVlNyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAzMHB4IHJnYmEoMzAsIDQxLCA1MywgMC4xOCkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDI3NXB4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA4cHggMTBweCAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgaDYge1xuICAgIGNvbG9yOiAjMmQ0MjU4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHNwYW4ge1xuICAgIGNvbG9yOiAjNmY4Mjk2ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI2hlYWRlciAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIHtcbiAgICBjb2xvcjogIzMwNDg2MCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDlweCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbSBpIHtcbiAgICBjb2xvcjogIzY4N2Y5OCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjZmYSAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZS5kcm9wZG93bi1tZW51LWFycm93OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZGVlNyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q2ZGVlNyAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNzaWRlYmFyLnNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM1NjY0NzYgMCUsICM2NDc1OGEgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogOHB4IDAgMTZweCByZ2JhKDM2LCA0OSwgNjMsIDAuMTgpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgY29sb3I6IHJnYmEoMjM4LCAyNDMsIDI0OCwgMC44NSkgIWltcG9ydGFudDtcbn1cblxuYm9keSAjc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogI2VlZjNmOCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgY29sb3I6ICNkOGUzZWUgIWltcG9ydGFudDtcbn1cblxuYm9keSAjc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzIpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGlua1tkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJdOm5vdCguY29sbGFwc2VkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzdiOGZhNiwgIzhlYTNiYSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTUyLCAyMDEsIDIzMiwgMC45MikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNHB4IHJnYmEoNTIsIDY4LCA4NSwgMC4xOCkgIWltcG9ydGFudDtcbn1cblxuYm9keSAjc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEge1xuICAgIGNvbG9yOiByZ2JhKDIzNSwgMjQxLCAyNDgsIDAuOTUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIGkge1xuICAgIGNvbG9yOiAjZDJkZGVhICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuYm9keSAjc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM3YjhmYTYsICM4ZWEzYmEpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MiwgMjAxLCAyMzIsIDAuOTIpICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBGaW5hbCBPdmVycmlkZSAtIFNvZnQgUHJvZmVzc2lvbmFsIE5hdmJhciArIFNpZGViYXJcbiAgIChObyBjYW1iaWEgZXN0cnVjdHVyYSwgc29sbyBhcGFyaWVuY2lhKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgICAtLWZpbmFsLW5hdi0xOiAjM2Y0OTU1O1xuICAgIC0tZmluYWwtbmF2LTI6ICM0ZDVhNjg7XG4gICAgLS1maW5hbC1zaWRlLTE6ICM0NjU0NjM7XG4gICAgLS1maW5hbC1zaWRlLTI6ICM1NTY1Nzc7XG4gICAgLS1maW5hbC1zaWRlLWFjdGl2ZS0xOiAjNmI3Zjk1O1xuICAgIC0tZmluYWwtc2lkZS1hY3RpdmUtMjogIzdlOTJhODtcbiAgICAtLWZpbmFsLXRleHQtbGlnaHQ6ICNlZWYzZjg7XG59XG5cbiNoZWFkZXIuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCB2YXIoLS1maW5hbC1uYXYtMSkgMCUsIHZhcigtLWZpbmFsLW5hdi0yKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDMzLCA0MywgNTQsIDAuMjIpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmxvZ28gc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWZpbmFsLXRleHQtbGlnaHQpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0biB7XG4gICAgY29sb3I6IHZhcigtLWZpbmFsLXRleHQtbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zOCkgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmOWZiZmQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjhjNGQwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyYjNiNGIgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzcwODI5MyAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWZpbmFsLXRleHQtbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBjb2xvcjogdmFyKC0tZmluYWwtdGV4dC1saWdodCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSxcbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZS5zaG93IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGVlNyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAzMHB4IHJnYmEoMzAsIDQxLCA1MywgMC4xOCkgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDI3MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4IDEwcHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBoNiB7XG4gICAgY29sb3I6ICMyYjNkNGYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHNwYW4ge1xuICAgIGNvbG9yOiAjNmY4Mjk2ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbSB7XG4gICAgY29sb3I6ICMzMDQ2NWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA5cHggMTBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIGkge1xuICAgIGNvbG9yOiAjNjg4MDk5ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOSAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUuZHJvcGRvd24tbWVudS1hcnJvdzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmRlZTcgIWltcG9ydGFudDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkNmRlZTcgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIuc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tZmluYWwtc2lkZS0xKSAwJSwgdmFyKC0tZmluYWwtc2lkZS0yKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiA4cHggMCAxOHB4IHJnYmEoMzMsIDQzLCA1NCwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1oZWFkaW5nIHtcbiAgICBjb2xvcjogcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjgyKSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tZmluYWwtdGV4dC1saWdodCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIGkge1xuICAgIGNvbG9yOiAjZDllM2VkICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNikgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rW2RhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIl06bm90KC5jb2xsYXBzZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1maW5hbC1zaWRlLWFjdGl2ZS0xKSwgdmFyKC0tZmluYWwtc2lkZS1hY3RpdmUtMikpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzMiwgMTUxLCAxNzIsIDAuOSkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNHB4IHJnYmEoNDYsIDYwLCA3NSwgMC4xOCkgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIHtcbiAgICBjb2xvcjogcmdiYSgyMzQsIDI0MCwgMjQ3LCAwLjk0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEgaSB7XG4gICAgY29sb3I6ICNjZGQ5ZTYgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWZpbmFsLXNpZGUtYWN0aXZlLTEpLCB2YXIoLS1maW5hbC1zaWRlLWFjdGl2ZS0yKSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTMyLCAxNTEsIDE3MiwgMC45KSAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRmluYWwgU29mdCBQcm9mZXNzaW9uYWwgVGhlbWUgKE5hdmJhciArIFNpZGViYXIgb25seSlcbiAgIE5vdGE6IG92ZXJyaWRlIGZpbmFsLCBubyB0b2NhIHRhYmxhcyBuaSBsb2dpY2EuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAgIC0tc29mdC1uYXYtMTogIzJmM2E0NjtcbiAgICAtLXNvZnQtbmF2LTI6ICMzZjRjNWI7XG4gICAgLS1zb2Z0LXNpZGUtMTogIzM2NDI1MTtcbiAgICAtLXNvZnQtc2lkZS0yOiAjNDI1MTYyO1xuICAgIC0tc29mdC1hY2NlbnQ6ICM3YThmYTY7XG4gICAgLS1zb2Z0LWFjY2VudC0yOiAjOGVhM2JhO1xuICAgIC0tc29mdC10ZXh0OiAjZWVmM2Y4O1xuICAgIC0tc29mdC1ib3JkZXI6IHJnYmEoMjM4LCAyNDMsIDI0OCwgMC4yNCk7XG59XG5cbiNoZWFkZXIuaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCB2YXIoLS1zb2Z0LW5hdi0xKSAwJSwgdmFyKC0tc29mdC1uYXYtMikgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDIxLCAyOSwgMzksIDAuMjQpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmxvZ28gc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLXNvZnQtdGV4dCkgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBjb2xvcjogdmFyKC0tc29mdC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNvZnQtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I2YzFjZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjYzNDQzICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM3MDgxOTEgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1zb2Z0LXRleHQpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSB7XG4gICAgY29sb3I6IHZhcigtLXNvZnQtdGV4dCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSxcbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZS5zaG93IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZTBlOCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMjUsIDM1LCA0OCwgMC4xOCkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDI3MHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4IDEwcHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBoNiB7XG4gICAgY29sb3I6ICMyNTMzNDMgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHNwYW4ge1xuICAgIGNvbG9yOiAjNjg3YjhmICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbSB7XG4gICAgY29sb3I6ICMyZDNmNTIgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA5cHggMTBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIGkge1xuICAgIGNvbG9yOiAjNjA3NDg4ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOSAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUuZHJvcGRvd24tbWVudS1hcnJvdzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOGUwZTggIWltcG9ydGFudDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkOGUwZTggIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIuc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tc29mdC1zaWRlLTEpIDAlLCB2YXIoLS1zb2Z0LXNpZGUtMikgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogOHB4IDAgMThweCByZ2JhKDI1LCAzNSwgNDgsIDAuMikgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgY29sb3I6IHJnYmEoMjM4LCAyNDMsIDI0OCwgMC44KSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tc29mdC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgY29sb3I6ICNkNmUwZWEgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rW2RhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIl06bm90KC5jb2xsYXBzZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1zb2Z0LWFjY2VudCksIHZhcigtLXNvZnQtYWNjZW50LTIpKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjgsIDE0NywgMTY4LCAwLjkpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKDQ0LCA1OCwgNzUsIDAuMikgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIHtcbiAgICBjb2xvcjogcmdiYSgyMzIsIDIzOSwgMjQ3LCAwLjk0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEgaSB7XG4gICAgY29sb3I6ICNjOWQ3ZTUgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNvZnQtYWNjZW50KSwgdmFyKC0tc29mdC1hY2NlbnQtMikpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyOCwgMTQ3LCAxNjgsIDAuOSkgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgSGFyZCBPdmVycmlkZSAtIE5hdmJhci9TaWRlYmFyIFByb2Zlc3Npb25hbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgICAtLWhhcmQtbmF2LWJnLTE6ICMxMjE2MWM7XG4gICAgLS1oYXJkLW5hdi1iZy0yOiAjMjMyYjM1O1xuICAgIC0taGFyZC1zaWRlLWJnLTE6ICMxNjFiMjI7XG4gICAgLS1oYXJkLXNpZGUtYmctMjogIzI2MmYzYTtcbiAgICAtLWhhcmQtYWNjZW50OiAjYzE4YTRhO1xuICAgIC0taGFyZC10ZXh0OiAjZWRmMmY3O1xuICAgIC0taGFyZC1ib3JkZXI6IHJnYmEoMjM3LCAyNDIsIDI0NywgMC4yKTtcbn1cblxuI2hlYWRlci5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTVkZWcsIHZhcigtLWhhcmQtbmF2LWJnLTEpIDAlLCB2YXIoLS1oYXJkLW5hdi1iZy0yKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSg5LCAxMywgMTksIDAuMjgpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmxvZ28gc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWhhcmQtdGV4dCkgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDM2cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1oYXJkLWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWhhcmQtdGV4dCkgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYjhjNCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMWYyOTM3ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM2YjcyODAgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0taGFyZC10ZXh0KSAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0taGFyZC10ZXh0KSAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUsXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUuc2hvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZGNlNSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMzJweCByZ2JhKDE1LCAyMywgNDIsIDAuMjIpICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAyNzBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4IDEwcHggIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgaDYge1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzFmMjkzNyAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDJweCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzZiNzI4MCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlZGY0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA2cHggMCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA5cHggMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMnB4IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyNDM0NDYgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIGkge1xuICAgIGNvbG9yOiAjNGI1NTYzICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YzZjZmYSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMWQyYTNhICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZS5kcm9wZG93bi1tZW51LWFycm93OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q0ZGNlNSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q0ZGNlNSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhci5zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1oYXJkLXNpZGUtYmctMSkgMCUsIHZhcigtLWhhcmQtc2lkZS1iZy0yKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDhweCAwIDIwcHggcmdiYSgxNSwgMjMsIDQyLCAwLjI0KSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1oZWFkaW5nIHtcbiAgICBjb2xvcjogcmdiYSgyMzcsIDI0MiwgMjQ3LCAwLjc2KSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1oYXJkLXRleHQpICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgY29sb3I6IHJnYmEoMjIzLCAyMzIsIDI0MiwgMC45NCkgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rW2RhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIl06bm90KC5jb2xsYXBzZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjOGY2NTNkLCB2YXIoLS1oYXJkLWFjY2VudCkpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MCwgMTA4LCA2NywgMC45NSkgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogcmdiYSgyMzEsIDIzOSwgMjQ3LCAwLjkyKSAhaW1wb3J0YW50O1xufVxuXG4jc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEgaSB7XG4gICAgY29sb3I6ICNkOWFkNzkgIWltcG9ydGFudDtcbn1cblxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyLFxuI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbiNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4ZjY1M2QsIHZhcigtLWhhcmQtYWNjZW50KSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTUwLCAxMDgsIDY3LCAwLjk1KSAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBOYXZiYXIgRmluYWwgVHVuaW5nIChObyBSb3VuZGVkIFRvZ2dsZSArIFN0eWxlZCBQcm9maWxlIERyb3Bkb3duKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI0NSwgMjMyLCAwLjI4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjQ1LCAyMzIsIDAuMSk7XG59XG5cbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI0NSwgMjMyLCAwLjE4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNDUsIDIzMiwgMC40KTtcbn1cblxuLmhlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjEwLCAxNTUsIDAuNzIpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSxcbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUuc2hvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGM0YWQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZmFmMztcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjZweCByZ2JhKDUwLCAzMiwgMjAsIDAuMik7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG1pbi13aWR0aDogMjYwcHg7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiA4cHggMTBweCAxMHB4O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgaDYge1xuICAgIGNvbG9yOiAjNGEyZjIyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgc3BhbiB7XG4gICAgY29sb3I6ICM3YTYzNGY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWFkY2NjO1xuICAgIG1hcmdpbjogNnB4IDA7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXJnaW46IDJweCAwO1xuICAgIHBhZGRpbmc6IDlweCAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM0YTJmMjI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0gaSB7XG4gICAgY29sb3I6ICM5YTVjMzU7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNGU3ZDg7XG4gICAgY29sb3I6ICMzZDI2MWI7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUuZHJvcGRvd24tbWVudS1hcnJvdzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmYWYzO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDhjNGFkO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q4YzRhZDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgVGhlbWUgRmluYWwgKFByb2Zlc3Npb25hbCAtIE5hdmJhci9TaWRlYmFyKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgICAtLXByby1uYXYtOTUwOiAjMTQxNzFjO1xuICAgIC0tcHJvLW5hdi05MDA6ICMxZDIzMmI7XG4gICAgLS1wcm8tbmF2LTgwMDogIzJiMzQzZjtcbiAgICAtLXByby1zaWRlLTk1MDogIzE3MWMyMjtcbiAgICAtLXByby1zaWRlLTkwMDogIzIwMjczMDtcbiAgICAtLXByby1zaWRlLTgwMDogIzJhMzMzZDtcbiAgICAtLXByby1hY2NlbnQ6ICNiZTg1NDk7XG4gICAgLS1wcm8tYWNjZW50LXNvZnQ6ICNkM2ExNmQ7XG4gICAgLS1wcm8tdGV4dC1vbi1kYXJrOiAjZWVmMmY2O1xuICAgIC0tcHJvLWJvcmRlci1zb2Z0OiByZ2JhKDIzOCwgMjQyLCAyNDYsIDAuMik7XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmN2Y5ZmMgMCUsICNlZWYyZjcgMTAwJSk7XG59XG5cbiNtYWluIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwO1xufVxuXG4uaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTEwZGVnLCB2YXIoLS1wcm8tbmF2LTk1MCkgMCUsIHZhcigtLXByby1uYXYtODAwKSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDEzLCAxNywgMjMsIDAuMjgpO1xufVxuXG4ubG9nbyBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmxvZ28gc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLXByby10ZXh0LW9uLWRhcmspO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0biB7XG4gICAgY29sb3I6IHZhcigtLXByby10ZXh0LW9uLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcm8tYm9yZGVyLXNvZnQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG5cbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJvcmRlci1jb2xvcjogI2FhYjRjMDtcbiAgICBjb2xvcjogIzFmMjkzNztcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tcHJvLXRleHQtb24tZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSB7XG4gICAgY29sb3I6IHZhcigtLXByby10ZXh0LW9uLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUsXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlLnNob3cge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2ZkN2UwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE4KTtcbn1cblxuLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIGg2IHtcbiAgICBjb2xvcjogIzFmMjkzNztcbn1cblxuLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHNwYW4ge1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4uaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlIC5kcm9wZG93bi1pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgY29sb3I6ICMyNDMyNDI7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW0gaSB7XG4gICAgY29sb3I6ICM0YjU1NjM7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmM2Y2ZmE7XG59XG5cbi5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUuZHJvcGRvd24tbWVudS1hcnJvdzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2ZkN2UwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NmZDdlMDtcbn1cblxuLnNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLXByby1zaWRlLTk1MCkgMCUsIHZhcigtLXByby1zaWRlLTgwMCkgMTAwJSk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDhweCAwIDIycHggcmdiYSgxNSwgMjMsIDQyLCAwLjIyKTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgY29sb3I6IHJnYmEoMjM4LCAyNDIsIDI0NiwgMC43Nik7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgY29sb3I6IHZhcigtLXByby10ZXh0LW9uLWRhcmspO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rIGkge1xuICAgIGNvbG9yOiByZ2JhKDIxOCwgMjI3LCAyNDAsIDAuOTUpO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmtbZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXTpub3QoLmNvbGxhcHNlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4YTYyMzgsIHZhcigtLXByby1hY2NlbnQpKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ2LCAxMDYsIDY0LCAwLjk2KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoNTgsIDM2LCAyMSwgMC4yNik7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGNvbG9yOiByZ2JhKDIzMiwgMjM4LCAyNDYsIDAuOTIpO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEgaSB7XG4gICAgY29sb3I6IHZhcigtLXByby1hY2NlbnQtc29mdCk7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYTpob3Zlcixcbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzhhNjIzOCwgdmFyKC0tcHJvLWFjY2VudCkpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNDYsIDEwNiwgNjQsIDAuOTYpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSg1OCwgMzYsIDIxLCAwLjI2KTtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRU5URVJQUklTRSBTS1kgRklOQUwgRU5EIExBWUVSXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSAjaGVhZGVyLmhlYWRlcixcbmJvZHkgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogIzBmODJjZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGI2ZmFhICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDksIDQ2LCA3OCwgMC4yOCkgIWltcG9ydGFudDtcbn1cblxuYm9keSAjaGVhZGVyIC5sb2dvIHNwYW4sXG5ib2R5IC5oZWFkZXIgLmxvZ28gc3BhbixcbmJvZHkgI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuLFxuYm9keSAuaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG4sXG5ib2R5IC5oZWFkZXItbmF2IC5uYXYtaWNvbiB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuYm9keSAjaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG4sXG5ib2R5IC5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bixcbmJvZHkgLmJpLmJpLWxpc3QudG9nZ2xlLXNpZGViYXItYnRuLFxuYm9keSAuaGVhZGVyLW5hdiAubmF2LWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNThhOGRkICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keSAjaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG46aG92ZXIsXG5ib2R5IC5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bjpob3ZlcixcbmJvZHkgLmJpLmJpLWxpc3QudG9nZ2xlLXNpZGViYXItYnRuOmhvdmVyLFxuYm9keSAuaGVhZGVyLW5hdiAubmF2LWljb246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICM4NGMwZTcgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNikgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjNhZmUwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgc3BhbixcbmJvZHkgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIGkge1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSxcbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS1lbmQuZHJvcGRvd24tbWVudS1hcnJvdy5wcm9maWxlLFxuYm9keSAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LWVuZC5kcm9wZG93bi1tZW51LWFycm93LnByb2ZpbGUuc2hvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjhkN2VjICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDI0LCA1NCwgNzksIDAuMTQpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmhlYWRlci1uYXYgLmRyb3Bkb3duLW1lbnUucHJvZmlsZSAuZHJvcGRvd24taXRlbSBpIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5oZWFkZXItbmF2IC5kcm9wZG93bi1tZW51LnByb2ZpbGUgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNlYWY0ZmMgIWltcG9ydGFudDtcbn1cblxuYm9keSAuaGVhZGVyLW5hdiAuZHJvcGRvd24tbWVudS5wcm9maWxlLmRyb3Bkb3duLW1lbnUtYXJyb3c6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjhkN2VjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYjhkN2VjICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIuc2lkZWJhcixcbmJvZHkgLnNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6ICMxYjZmOWYgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogNHB4IDAgMTRweCByZ2JhKDEwLCA0NCwgNzEsIDAuMjIpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyxcbmJvZHkgLnNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtaGVhZGluZyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43MikgIWltcG9ydGFudDtcbn1cblxuYm9keSAjc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rLFxuYm9keSAuc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogIzI1N2FhZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZDk3YzQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keSAjc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIGksXG5ib2R5IC5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuYm9keSAjc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyLFxuYm9keSAuc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmY4OWMxICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzhiNWQ4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGlua1tkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJdOm5vdCguY29sbGFwc2VkKSxcbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluay5hY3RpdmUsXG5ib2R5IC5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmtbZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXTpub3QoLmNvbGxhcHNlZCksXG5ib2R5IC5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2M5ZmRjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjOThjOWU4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3NpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhLFxuYm9keSAuc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYTpob3ZlcixcbmJvZHkgLnNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmY4OWMxICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNzaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUsXG5ib2R5IC5zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMzYzlmZGMgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICM5OGM5ZTggIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgQ1JVRCBGT1JNIEJVVFRPTlMgLSBGSU5BTCAocG9yIElELCBzaW4gYWZlY3RhciB0b2RvIGVsIHNpc3RlbWEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSAjYnRuX2d1YXJkYXJfZm9ybS5idG4sXG5ib2R5ICNidG5fZ3VhcmRhcl9mb3JtLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsXG5ib2R5ICNidG5fZ3VhcmRhcl9mb3JtLmJ0bi1zdWNjZXNzIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogIzBhOTc3MiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzBhOTc3MiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNidG5fZ3VhcmRhcl9mb3JtLmJ0bjpob3ZlcixcbmJvZHkgI2J0bl9ndWFyZGFyX2Zvcm0uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlcixcbmJvZHkgI2J0bl9ndWFyZGFyX2Zvcm0uYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwODdmNjEgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMwODdmNjEgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNidG5fcmVzZXRfZm9ybS5idG4sXG5ib2R5ICNidG5fcmVzZXRfZm9ybS5idG4tb3V0bGluZS1zZWNvbmRhcnksXG5ib2R5ICNidG5fcmVzZXRfZm9ybS5idG4tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogIzFmN2ZiOCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzFmN2ZiOCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNidG5fcmVzZXRfZm9ybS5idG46aG92ZXIsXG5ib2R5ICNidG5fcmVzZXRfZm9ybS5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsXG5ib2R5ICNidG5fcmVzZXRfZm9ybS5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWE2ZTllICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWE2ZTllICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbiIsIi8qIEVzdGlsb3MgZ2VuZXJhbGVzIHBhcmEgbGEgdGFibGEgKi9cbi5lc3RpbG9zX2dlbmVyYWxlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmYmZjO1xuICAgIGNvbG9yOiAjMDAzRTUxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOWU3ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgdGgge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAxMnB4IDEzcHg7XG4gICAgYmFja2dyb3VuZDogI2UyZjRmOTtcbiAgICBjb2xvcjogIzAwNGI2MDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwZTBlYTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5lc3RpbG9zX2dlbmVyYWxlcyB0ZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDAzRTUxO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5lc3RpbG9zX2dlbmVyYWxlcyB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZmJmZjtcbn1cblxuXG4vKiBTY3JvbGwgcGFyYSBlbCB0b29sYmFyICovXG5baWRePVwidG9vbGJhcl9cIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogI2NjYyB0cmFuc3BhcmVudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgLyogZXZpdGEgcXVlIHNlIGV4cGFuZGFuICovXG59XG5cbltpZF49XCJ0b29sYmFyX1wiXTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuXG4vKiBQYXJhIHBhbnRhbGxhcyBwZXF1ZcODwrFhcyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgW2lkXj1cInRvb2xiYXJfXCJdIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIFtpZF49XCJ0b29sYmFyX1wiXSBidXR0b24ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5lc3RpbG9zX2dlbmVyYWxlcyB7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZXN0aWxvc19nZW5lcmFsZXMgdGgsXG4gICAgLmVzdGlsb3NfZ2VuZXJhbGVzIHRkIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG59XG5cblxuLyogQm90b25lcyBnZW5lcmFsZXMgcGVyc29uYWxpemFkb3MgKi9cblxuLyogRXN0aWxvIGNvbcODwrpuIHBhcmEgdG9kb3MgbG9zIGJvdG9uZXMgKi9cblxuLyogSG92ZXIgZGUgYm90b25lcyAqL1xuXG4vKiBCb3RvbmVzIGRlc2hhYmlsaXRhZG9zICovXG5cbi8qIEJvdMODwrNuIHBlbGlncm8gKi9cblxuLyogQm90w4PCs24gw4PCqXhpdG8gKi9cblxuLyogQm90w4PCs24gYWR2ZXJ0ZW5jaWEgKi9cblxuLyogQm90w4PCs24gc2VjdW5kYXJpbyAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgQWp1c3RlIHZpc3VhbCBwcm9mZXNpb25hbCAoc2luIGNhbWJpYXIgY2xhc2VzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lc3RpbG9zX2dlbmVyYWxlcyB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBjb2xvcjogIzJiM2Y1NTtcbiAgICBib3JkZXItY29sb3I6ICNkNGRlZTk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLmVzdGlsb3NfZ2VuZXJhbGVzIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWRmM2Y5O1xuICAgIGNvbG9yOiAjMzE0OTVmO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkNGRlZTk7XG59XG5cbi5lc3RpbG9zX2dlbmVyYWxlcyB0ZCB7XG4gICAgY29sb3I6ICMyYjNmNTU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2U4ZWVmNTtcbn1cblxuLmVzdGlsb3NfZ2VuZXJhbGVzIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZmNmZjtcbn1cblxuLmVzdGlsb3NfZ2VuZXJhbGVzIHRib2R5IHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmNGZiO1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0ge1xuICAgIHNjcm9sbGJhci1jb2xvcjogI2I5YzdkNiB0cmFuc3BhcmVudDtcbn1cblxuW2lkXj1cInRvb2xiYXJfXCJdOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogI2I5YzdkNjtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRmluYWwgT3ZlcnJpZGUgLSBGdWxsIFdpZHRoICsgUGxlYXNhbnQgVGFibGUgTGF5b3V0XG4gICAoTWFudGllbmUgY2xhc2VzIGV4aXN0ZW50ZXMpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xudGFibGUuZXN0aWxvc19nZW5lcmFsZXMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSxcbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLWNvbnRhaW5lcixcbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLWJvZHksXG4uYm9vdHN0cmFwLXRhYmxlIC50YWJsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtY29udGFpbmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNkNGRlZWEgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMzAsIDQxLCA1OSwgMC4wOCkgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAudGFibGUgdGhlYWQgdGgge1xuICAgIGJhY2tncm91bmQ6ICNlZGYzZjkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzMzNGM2NCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDRkZWVhICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5ib290c3RyYXAtdGFibGUgLnRhYmxlIHRib2R5IHRkIHtcbiAgICBjb2xvcjogIzJmNDU1ZCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYm9vdHN0cmFwLXRhYmxlIC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgIGJhY2tncm91bmQ6ICNmOGZiZmYgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAudGFibGUgdGJvZHkgdHI6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQ6ICNlZGY0ZmIgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtcGFnaW5hdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjlmZCAhaW1wb3J0YW50O1xufVxuXG4uYm9vdHN0cmFwLXRhYmxlIC5maXhlZC10YWJsZS1wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIGJhY2tncm91bmQ6ICMzZjVmODAgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMzZjVmODAgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEZpbmFsIFByb2Zlc3Npb25hbCBUYWJsZXMgKHNpbiBjYW1iaWFyIGNsYXNlcyBleGlzdGVudGVzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgICAtLXRibC1zdXJmYWNlOiAjZjZmYWZkO1xuICAgIC0tdGJsLWhlYWQtYmc6ICNlNWVlZjY7XG4gICAgLS10YmwtaGVhZC10ZXh0OiAjMDAwMDAwO1xuICAgIC0tdGJsLWNlbGwtdGV4dDogIzAwMDAwMDtcbiAgICAtLXRibC1saW5lOiAjY2ZlMGVjO1xuICAgIC0tdGJsLXJvdy1hbHQ6ICNmYWZkZmY7XG4gICAgLS10Ymwtcm93LWhvdmVyOiAjZWRmNWZiO1xuICAgIC0tdGJsLXBhZ2UtYWN0aXZlOiAjNGY4N2FkO1xufVxuXG50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyxcbi5ib290c3RyYXAtdGFibGUgLnRhYmxlLmVzdGlsb3NfZ2VuZXJhbGVzLFxuLmJvb3RzdHJhcC10YWJsZSAudGFibGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgdGFibGUtbGF5b3V0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib290c3RyYXAtdGFibGUsXG4uYm9vdHN0cmFwLXRhYmxlIC5maXhlZC10YWJsZS1jb250YWluZXIsXG4uYm9vdHN0cmFwLXRhYmxlIC5maXhlZC10YWJsZS1ib2R5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uYm9vdHN0cmFwLXRhYmxlIC5maXhlZC10YWJsZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10YmwtbGluZSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMjksIDYzLCA5MCwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRibC1zdXJmYWNlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGJsLWxpbmUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RpbG9zX2dlbmVyYWxlcyB0aCxcbi5ib290c3RyYXAtdGFibGUgLnRhYmxlIHRoZWFkIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10YmwtaGVhZC1iZykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tdGJsLWhlYWQtdGV4dCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGJsLWxpbmUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RpbG9zX2dlbmVyYWxlcyB0ZCxcbi5ib290c3RyYXAtdGFibGUgLnRhYmxlIHRib2R5IHRkIHtcbiAgICBjb2xvcjogdmFyKC0tdGJsLWNlbGwtdGV4dCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZWJmMyAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi5lc3RpbG9zX2dlbmVyYWxlcyB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQsXG4uYm9vdHN0cmFwLXRhYmxlIC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRibC1yb3ctYWx0KSAhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgdGJvZHkgdHI6aG92ZXIgdGQsXG4uYm9vdHN0cmFwLXRhYmxlIC50YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGJsLXJvdy1ob3ZlcikgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtcGFnaW5hdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2YyZjhmZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDVlNWYxICFpbXBvcnRhbnQ7XG59XG5cbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXBhZ2luYXRpb24gLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNjY2RlZWIgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtcGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10YmwtcGFnZS1hY3RpdmUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10YmwtcGFnZS1hY3RpdmUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtcGFnaW5hdGlvbiAucGFnZS1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdmMWY5ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEVOVEVSUFJJU0UgU0tZIFRBQkxFUyBGSU5BTCBFTkQgTEFZRVJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46cm9vdCB7XG4gICAgLS10Ymwtc3VyZmFjZTogI2Y1ZmFmZTtcbiAgICAtLXRibC1oZWFkLWJnOiAjZGNlY2Y4O1xuICAgIC0tdGJsLWhlYWQtdGV4dDogIzAwMDAwMDtcbiAgICAtLXRibC1jZWxsLXRleHQ6ICMwMDAwMDA7XG4gICAgLS10YmwtbGluZTogI2M4ZGNlZDtcbiAgICAtLXRibC1yb3ctYWx0OiAjZmJmZGZmO1xuICAgIC0tdGJsLXJvdy1ob3ZlcjogI2VhZjRmYztcbiAgICAtLXRibC1wYWdlLWFjdGl2ZTogIzMzODBiNjtcbn1cblxudGFibGUuZXN0aWxvc19nZW5lcmFsZXMsXG4uYm9vdHN0cmFwLXRhYmxlIC50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyxcbi5ib290c3RyYXAtdGFibGUgLnRhYmxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHRhYmxlLWxheW91dDogYXV0byAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9vdHN0cmFwLXRhYmxlLFxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtY29udGFpbmVyLFxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtYm9keSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGJsLWxpbmUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDIxLCA1OSwgODksIDAuMSkgIWltcG9ydGFudDtcbn1cblxuLmVzdGlsb3NfZ2VuZXJhbGVzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Ymwtc3VyZmFjZSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRibC1saW5lKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgdGgsXG4uYm9vdHN0cmFwLXRhYmxlIC50YWJsZSB0aGVhZCB0aCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGJsLWhlYWQtYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXRibC1oZWFkLXRleHQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRibC1saW5lKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgdGQsXG4uYm9vdHN0cmFwLXRhYmxlIC50YWJsZSB0Ym9keSB0ZCB7XG4gICAgY29sb3I6IHZhcigtLXRibC1jZWxsLXRleHQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWViZjUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4uZXN0aWxvc19nZW5lcmFsZXMgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkLFxuLmJvb3RzdHJhcC10YWJsZSAudGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Ymwtcm93LWFsdCkgIWltcG9ydGFudDtcbn1cblxuLmVzdGlsb3NfZ2VuZXJhbGVzIHRib2R5IHRyOmhvdmVyIHRkLFxuLmJvb3RzdHJhcC10YWJsZSAudGFibGUgdGJvZHkgdHI6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRibC1yb3ctaG92ZXIpICFpbXBvcnRhbnQ7XG59XG5cbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXBhZ2luYXRpb24ge1xuICAgIGJhY2tncm91bmQ6ICNmMWY4ZmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QyZTRmMiAhaW1wb3J0YW50O1xufVxuXG4uYm9vdHN0cmFwLXRhYmxlIC5maXhlZC10YWJsZS1wYWdpbmF0aW9uIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhkY2VkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXBhZ2luYXRpb24gLnBhZ2UtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2U2ZjJmYiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGJsLXBhZ2UtYWN0aXZlKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGJsLXBhZ2UtYWN0aXZlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJvdG9uZXMgZGUgdGFibGFzIHkgdG9vbGJhciBlbiBsw61uZWEgcHJvZmVzaW9uYWwgKi9cbltpZF49XCJ0b29sYmFyX1wiXSAuYnRuLFxuW2lkXj1cInRvb2xiYXJfXCJdIC5idG4tY3VzdG9tLFxuW2lkXj1cInRvb2xiYXJfXCJdIC5idG4tY3VzdG9tLXRleHQsXG4uYm9vdHN0cmFwLXRhYmxlIC5maXhlZC10YWJsZS10b29sYmFyIC5idG4sXG50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyAuYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbltpZF49XCJ0b29sYmFyX1wiXSAuYnRuLmJ0bi1wcmltYXJ5LFxuW2lkXj1cInRvb2xiYXJfXCJdIC5idG4tY3VzdG9tLFxuW2lkXj1cInRvb2xiYXJfXCJdIC5idG4tY3VzdG9tLXRleHQsXG4uYm9vdHN0cmFwLXRhYmxlIC5maXhlZC10YWJsZS10b29sYmFyIC5idG4uYnRuLXByaW1hcnksXG50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyAuYnRuLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMGY4MmNkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGY4MmNkICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuW2lkXj1cInRvb2xiYXJfXCJdIC5idG4uYnRuLXByaW1hcnk6aG92ZXIsXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi1jdXN0b206aG92ZXIsXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi1jdXN0b20tdGV4dDpob3Zlcixcbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXRvb2xiYXIgLmJ0bi5idG4tcHJpbWFyeTpob3ZlcixcbnRhYmxlLmVzdGlsb3NfZ2VuZXJhbGVzIC5idG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwZDcwYjAgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMwZDcwYjAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4tc2Vjb25kYXJ5LFxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtdG9vbGJhciAuYnRuLmJ0bi1zZWNvbmRhcnksXG50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyAuYnRuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMyZjc4YWIgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMyZjc4YWIgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4tc2Vjb25kYXJ5OmhvdmVyLFxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtdG9vbGJhciAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsXG50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyODZhOTcgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMyODZhOTcgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4tc3VjY2Vzcyxcbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXRvb2xiYXIgLmJ0bi5idG4tc3VjY2VzcyxcbnRhYmxlLmVzdGlsb3NfZ2VuZXJhbGVzIC5idG4uYnRuLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMwYTk3NzIgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMwYTk3NzIgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4tc3VjY2Vzczpob3Zlcixcbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXRvb2xiYXIgLmJ0bi5idG4tc3VjY2Vzczpob3ZlcixcbnRhYmxlLmVzdGlsb3NfZ2VuZXJhbGVzIC5idG4uYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwODdmNjEgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMwODdmNjEgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4td2FybmluZyxcbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXRvb2xiYXIgLmJ0bi5idG4td2FybmluZyxcbnRhYmxlLmVzdGlsb3NfZ2VuZXJhbGVzIC5idG4uYnRuLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNhYjc2MjQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNhYjc2MjQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4td2FybmluZzpob3Zlcixcbi5ib290c3RyYXAtdGFibGUgLmZpeGVkLXRhYmxlLXRvb2xiYXIgLmJ0bi5idG4td2FybmluZzpob3ZlcixcbnRhYmxlLmVzdGlsb3NfZ2VuZXJhbGVzIC5idG4uYnRuLXdhcm5pbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5MjY1MWYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICM5MjY1MWYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4tZGFuZ2VyLFxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtdG9vbGJhciAuYnRuLmJ0bi1kYW5nZXIsXG50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyAuYnRuLmJ0bi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6ICNiNTQ1NDUgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNiNTQ1NDUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG5baWRePVwidG9vbGJhcl9cIl0gLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLFxuLmJvb3RzdHJhcC10YWJsZSAuZml4ZWQtdGFibGUtdG9vbGJhciAuYnRuLmJ0bi1kYW5nZXI6aG92ZXIsXG50YWJsZS5lc3RpbG9zX2dlbmVyYWxlcyAuYnRuLmJ0bi1kYW5nZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5YjNiM2IgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICM5YjNiM2IgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVE9PTEJBUiBCVVRUT05TICh1dGlsTWF4KSAtIEZJTkFMIHBvciBJRFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNidG5fbnVldm8sXG4jYnRuX3JlbW92ZV9hbGwsXG4jYnRuX2VzdGFkb19hbGwsXG4jYnRuX2NhcmdhX21hc2l2YSxcbiNidG5fZGVzY2FyZ2FyX2V4Y2VsIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuI2J0bl9udWV2byB7XG4gICAgYmFja2dyb3VuZDogIzBmODJjZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzBmODJjZCAhaW1wb3J0YW50O1xufVxuXG4jYnRuX251ZXZvOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGQ3MGIwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGQ3MGIwICFpbXBvcnRhbnQ7XG59XG5cbiNidG5fcmVtb3ZlX2FsbCB7XG4gICAgYmFja2dyb3VuZDogI2M1NDU0NSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI2M1NDU0NSAhaW1wb3J0YW50O1xufVxuXG4jYnRuX3JlbW92ZV9hbGw6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhOTNhM2EgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNhOTNhM2EgIWltcG9ydGFudDtcbn1cblxuI2J0bl9lc3RhZG9fYWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWU5YWQ4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWU5YWQ4ICFpbXBvcnRhbnQ7XG59XG5cbiNidG5fZXN0YWRvX2FsbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzFhODZiYyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzFhODZiYyAhaW1wb3J0YW50O1xufVxuXG4jYnRuX2NhcmdhX21hc2l2YSB7XG4gICAgYmFja2dyb3VuZDogIzBhOTc3MiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzBhOTc3MiAhaW1wb3J0YW50O1xufVxuXG4jYnRuX2NhcmdhX21hc2l2YTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzA4N2Y2MSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzA4N2Y2MSAhaW1wb3J0YW50O1xufVxuXG4jYnRuX2Rlc2Nhcmdhcl9leGNlbCB7XG4gICAgYmFja2dyb3VuZDogIzE0OGE1MyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzE0OGE1MyAhaW1wb3J0YW50O1xufVxuXG4jYnRuX2Rlc2Nhcmdhcl9leGNlbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzExNzY0NyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogIzExNzY0NyAhaW1wb3J0YW50O1xufVxuIiwiLyogRXN0aWxvcyBwYXJhIGVsIGNvbnRlbmVkb3IgZGUgV2hhdHNBcHAgKi9cbi53aGF0c2FwcC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1RDM2NjsgLyogQ29sb3IgZGUgZm9uZG8gZGUgV2hhdHNBcHAgKi9cbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgei1pbmRleDogMjsgLyogQXNlZ3VyYSBxdWUgV2hhdHNBcHAgZXN0w6kgZW5jaW1hIGRlIFRlbGVncmFtICovXG59XG5cbi8qIEVzdGlsb3MgcGFyYSBlbCBjb250ZW5lZG9yIGRlIFRlbGVncmFtICovXG4udGVsZWdyYW0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiA2NXB4OyAvKiBBanVzdGEgbGEgcG9zaWNpw7NuIHBhcmEgcXVlIGVzdMOpIGRlYmFqbyBkZSBXaGF0c0FwcCAqL1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDg4Y2M7IC8qIENvbG9yIGRlIGZvbmRvIGRlIFRlbGVncmFtICovXG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHotaW5kZXg6IDE7IC8qIEFzZWd1cmEgcXVlIFRlbGVncmFtIGVzdMOpIGRlYmFqbyBkZSBXaGF0c0FwcCAqL1xufVxuXG4vKiBFc3RpbG9zIHBhcmEgZWwgZW5sYWNlIGRlIFdoYXRzQXBwIHkgVGVsZWdyYW0gKi9cbi53aGF0c2FwcC1saW5rLCAudGVsZWdyYW0tbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmOyAvKiBDb2xvciBkZWwgdGV4dG8gKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIEVzdGlsb3MgcGFyYSBlbCDDrWNvbm8gZGUgV2hhdHNBcHAgeSBUZWxlZ3JhbSAqL1xuLndoYXRzYXBwLWljb24sIC50ZWxlZ3JhbS1pY29uIHtcbiAgICBmb250LXNpemU6IDI0cHg7IC8qIFRhbWHDsW8gZGVsIMOtY29ubyAqL1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLyogRXN0aWxvcyBwYXJhIGVsIHRleHRvIGRlIFdoYXRzQXBwIHkgVGVsZWdyYW0gKi9cbi53aGF0c2FwcC10ZXh0LCAudGVsZWdyYW0tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBPY3VsdGFyIGxvcyBjb250cm9sZXMgZGUgbsO6bWVybyBlbiBDaHJvbWUsIFNhZmFyaSwgRWRnZSB5IE9wZXJhICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogT2N1bHRhciBsb3MgY29udHJvbGVzIGRlIG7Dum1lcm8gZW4gRmlyZWZveCAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFQUC5TQ1NTIOKAlCBPUkRFTiBDT1JSRUNUT1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tIEZyYW1ld29ya3MgYmFzZSAtLS0gKi9cbkBpbXBvcnQgXCJib290c3RyYXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAtaWNvbnMvZm9udC9ib290c3RyYXAtaWNvbnMuY3NzXCI7XG5AaW1wb3J0IFwiQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvY3NzL2FsbC5taW4uY3NzXCI7XG5cbi8qIC0tLSBQbHVnaW5zIGRlIHRhYmxhcyAtLS0gKi9cbkBpbXBvcnQgXCJib290c3RyYXAtdGFibGUvZGlzdC9ib290c3RyYXAtdGFibGUubWluLmNzc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC10YWJsZS9kaXN0L2V4dGVuc2lvbnMvcmVvcmRlci1yb3dzL2Jvb3RzdHJhcC10YWJsZS1yZW9yZGVyLXJvd3MubWluLmNzc1wiO1xuXG4vKiAtLS0galF1ZXJ5IFVJIC0tLSAqL1xuQGltcG9ydCBcImpxdWVyeS11aS90aGVtZXMvYmFzZS9hbGwuY3NzXCI7XG5cbi8qIC0tLSBBbGVydGFzICYgTm90aWZpY2FjaW9uZXMgLS0tICovXG5AaW1wb3J0IFwic3dlZXRhbGVydDIvZGlzdC9zd2VldGFsZXJ0Mi5taW4uY3NzXCI7XG5AaW1wb3J0IFwidG9hc3RyL2J1aWxkL3RvYXN0ci5taW4uY3NzXCI7XG5AaW1wb3J0IFwianF1ZXJ5LWNvbmZpcm0vY3NzL2pxdWVyeS1jb25maXJtLmNzc1wiO1xuXG4vKiAtLS0gRWRpdG9yZXMgLS0tICovXG5AaW1wb3J0IFwiZnJvYWxhLWVkaXRvci9jc3MvZnJvYWxhX2VkaXRvci5wa2dkLm1pbi5jc3NcIjtcblxuLyogLS0tIEljb25vcyBleHRyYXMgLS0tICovXG5AaW1wb3J0IFwiYm94aWNvbnMvY3NzL2JveGljb25zLm1pbi5jc3NcIjtcbkBpbXBvcnQgXCJyZW1peGljb24vZm9udHMvcmVtaXhpY29uLmNzc1wiO1xuXG4vKiAtLS0gUGlja3IgKENvbG9yIFBpY2tlcikgLS0tICovXG5AaW1wb3J0IFwiQHNpbW9ud2VwL3BpY2tyL2Rpc3QvdGhlbWVzL2NsYXNzaWMubWluLmNzc1wiO1xuXG4vKiAtLS0gRXN0aWxvcyBwZXJzb25hbGl6YWRvcyBkZWwgcHJveWVjdG8gLS0tICovXG5AaW1wb3J0IFwic3R5bGUuY3NzXCI7XG5AaW1wb3J0IFwidGFibGVzLmNzc1wiO1xuQGltcG9ydCBcInZpc3Rhcy5jc3NcIjsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/