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

html {
    scrollbar-width: 8px;
    scrollbar-color: rgba(17, 47, 71, 0.95) rgba(255, 255, 255, 0.05);
}


html::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background-color: #050b14 !important;
}

html::-webkit-scrollbar-thumb {
    background-color: rgba(17, 47, 71, 0.95) !important;
    border-radius: 5px;
    border: 1px solid rgba(17, 47, 71, 0.95) !important;
}

html::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-radius: 5px;
}

html::-webkit-scrollbar-thumb:hover,
html::-webkit-scrollbar-thumb:active {
    background-color: rgba(17, 47, 71, 0.95) !important;
    border: 1px solid rgba(17, 47, 71, 0.95) !important;
}

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

}



input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-text-fill-color: #e9f7ff !important;
    caret-color: #e9f7ff !important;
    border: 1px solid rgba(0, 243, 255, 0.35) !important;
    -webkit-box-shadow: 0 0 0 1000px rgba(11, 25, 41, 0.92) inset !important;
    box-shadow: 0 0 0 1000px rgba(11, 25, 41, 0.92) inset !important;
    transition: background-color 99999s ease-out 0s, color 99999s ease-out 0s;
}

input:autofill,
textarea:autofill,
select:autofill {
    color: #e9f7ff !important;
    background-color: rgba(11, 25, 41, 0.92) !important;
}

input,
textarea,
select {
    color-scheme: dark;
}

select,
option,
optgroup {
    background-color: rgba(11, 25, 41, 0.96) !important;
    color: #e9f7ff !important;
}

a {
    color: #48ca55;
    text-decoration: none;
    
}

/* a:hover {
    color: #48ca55;
    text-decoration: none;
} */


h1{
    color: #ffffff;}

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

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

#main::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background-color: #050b14 !important;
}

#main::-webkit-scrollbar-thumb {
    background-color: rgba(17, 47, 71, 0.95) !important;
    border-radius: 5px;
    border: 1px solid rgba(17, 47, 71, 0.95) !important;
}

#main::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-radius: 5px;
}

#main {
    scrollbar-width: 8px;
    scrollbar-color: rgba(17, 47, 71, 0.95) rgba(255, 255, 255, 0.09);
}

#main::-webkit-scrollbar-thumb:hover,
#main::-webkit-scrollbar-thumb:active {
    background-color: rgba(17, 47, 71, 0.95) !important;
    border: 1px solid rgba(17, 47, 71, 0.95) !important;
}


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

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

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

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

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

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

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

    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}

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

    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}
/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background: rgba(17, 47, 71, 0.95);
    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: rgba(17, 47, 71, 0.95);
    color: #00f3ff;
    border: 1px solid #00f3ff;
}

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

/* Imagen del logo */
.logo img {
    width: 48px;
    height: 48px;
    max-height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(0, 243, 255, 0.35);
    box-shadow: 0 0 10px rgba(0, 243, 255, 0.18);
}

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

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

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

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

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

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

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


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

}


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

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

.language-switcher {
    margin-left: 0 !important;
    margin-right: auto;
}

.language-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: #e9f7ff !important;
    border: 1px solid rgba(80, 200, 255, 0.4) !important;
    background-color: rgba(17, 47, 71, 0.85) !important;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", "Open Sans", sans-serif;
    box-shadow: 0 0 10px rgba(80, 200, 255, 0.18);
}

.language-toggle:hover,
.language-toggle:focus,
.language-toggle.show {
    color: #ffffff !important;
    border-color: #00f3ff !important;
    background-color: rgba(17, 47, 71, 0.95) !important;
    box-shadow: 0 0 12px rgba(0, 243, 255, 0.25) !important;
}

.language-toggle::after {
    margin-left: 2px;
}

.language-switcher .language-menu {
    min-width: 180px;
}

.language-switcher .language-option {
    gap: 10px;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", "Open Sans", sans-serif;
}

.language-switcher .language-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    font-size: 1rem;
    line-height: 1;
}

.language-switcher .language-text {
    line-height: 1;
}

.language-switcher .language-option.active {
    background-color: rgba(0, 243, 255, 0.12) !important;
    color: #ffffff !important;
}

.language-switcher .language-option.active .language-text {
    text-shadow: 0 0 6px rgba(0, 243, 255, 0.35);
}

#language option {
    background-color: #0e1b2a;
    color: #ffffff;
    padding: 10px;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", "Open Sans", sans-serif;
}
@media (max-width: 1199px) {
    .header .search-bar {
        position: fixed;
        top: 50px;
        left: 0;
        right: 0;
        padding-left: 20px;
        box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.3);
        z-index: 9999;
        transition: 0.3s;
        visibility: hidden;
        opacity: 0;
    }

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

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

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

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

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

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

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

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


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

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

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

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

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

.header-nav .nav-profile .profile-avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    margin-right: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    object-fit: cover;
}

.header-nav .nav-profile img.profile-avatar {
    border: 2px solid rgba(80, 200, 255, 1);
   

}

.header-nav .nav-profile .profile-initials {
    background: linear-gradient(135deg, #112f47, #163d5c) !important;
    border: 1px solid #00f3ff;
   
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    
}

.header-nav .nav-profile:hover .profile-avatar {
    border-color:  #00f3ff;
    box-shadow: 0 0 12px  rgba(80, 200, 255, 0.9)}

.header-nav .nav-profile span {
    font-size: 14px;
    font-weight: 600;
    color: #e9f7ff; /* Nombre azul principal */
    display: inline-block;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*cuando no esta sin seleccionar*/
.sidebar-nav .nav-link.collapsed {
    background-color: #0e1b2a;
    color: #e9f7ff;

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

.sidebar-nav .nav-link:hover i,
.sidebar-nav .nav-link.active i {
    color: #ffffff !important;
    transform: scale(1.1);
    transition: all 0.3s ease;
}

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


}

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

}

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

}

.sidebar-nav .nav-link span {
    transition: all 0.3s ease;
    text-shadow: 0 0 2px #00f3ff;
}


.sidebar-nav .nav-link:hover span {
    color: #ffffff;
    text-shadow: 0 0 2px #00f3ff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

div:where(.swal2-container).swal-loading-overlay {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

div:where(.swal2-container).swal-loading-overlay div:where(.swal2-popup).swal-loading-popup {
    box-shadow:
        0 0 35px rgba(0, 243, 255, 0.2),
        0 18px 48px rgba(0, 0, 0, 0.55) !important;
}

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

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

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

    -webkit-box-shadow: 0 0 0 1000px #112e47 inset !important;

    font-family: 'Barlow', sans-serif !important; /* O la fuente que elegiste */
    transition: background-color 5000s ease-in-out 0s;
}


/* --------------------------------------------------------------
# Responsive refinements (mobile/tablet)
-------------------------------------------------------------- */
@media (max-width: 991.98px) {
    #main {
        padding: 16px 14px;
    }

    .pagetitle h1 {
        font-size: 1.75rem;
        line-height: 1.2;
    }

    .header {
        padding: 10px 12px;
        border-right: 0;
    }

    .header .toggle-sidebar-btn {
        font-size: 28px;
        padding-left: 0;
    }

    .header-nav .nav-icon {
        margin-right: 12px;
    }

    .header-nav .nav-profile .profile-avatar {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    .logo .logo-text {
        max-width: 110px;
    }

    .header-nav .nav-profile .profile-name {
        display: inline-block;
        max-width: 130px;
    }

    .sidebar {
        width: 280px;
        padding: 14px 10px;
    }

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

@media (max-width: 767.98px) {
    #main {
        padding: 12px 10px;
    }

    .pagetitle h1 {
        font-size: 1.35rem;
    }

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

    .logo .logo-text {
        max-width: 84px;
    }

    .header-nav .nav-profile .profile-avatar {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .header-nav .nav-profile .profile-name {
        max-width: 84px;
        font-size: 12px;
    }

    .sidebar {
        width: 260px;
        left: -260px;
        border-right-width: 2px;
    }

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

    .sidebar-nav .nav-link {
        font-size: 14px;
        padding: 10px 12px;
    }

    .sidebar-nav .nav-link i {
        font-size: 16px;
        margin-right: 8px;
    }

    .sidebar-nav .nav-content a {
        padding-left: 28px;
        font-size: 13px;
    }
}

.jconfirm .jconfirm-bg {
    background-color: rgba(5, 11, 20, 0.72) !important;
}

.jconfirm .jconfirm-box {
    background-color: #0e1b2a !important;
    border: 1px solid #00f3ff !important;
    border-radius: 16px !important;
    box-shadow: 0 0 25px rgba(0, 243, 255, 0.25) !important;
    padding: 2em !important;
}

.jconfirm .jconfirm-title-c {
    padding-bottom: 8px !important;
}

.jconfirm .jconfirm-title {
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    text-shadow: 0 0 10px rgba(0, 243, 255, 0.5) !important;
}

.jconfirm .jconfirm-content {
    color: #d0e6f5 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.jconfirm .jconfirm-buttons {
    display: flex !important;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 10px !important;
}

.jconfirm .jconfirm-buttons .btn {
    border-radius: 8px !important;
    padding: 10px 30px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
}

.jconfirm .jconfirm-buttons .btn-primary {
    background-color: rgba(17, 47, 71, 0.6) !important;
    border: 2px solid #00f3ff !important;
    color: #00f3ff !important;
    box-shadow: 0 0 10px rgba(0, 243, 255, 0.2) !important;
    text-shadow: none !important;
}

.jconfirm .jconfirm-buttons .btn-danger {
    background-color: transparent !important;
    border: 2px solid rgba(255, 47, 47, 0.8) !important;
    color: rgba(247, 10, 10, 0.8) !important;
    text-shadow: none !important;
}

.jconfirm .jconfirm-buttons .btn-primary:hover {
    background-color: rgba(17, 47, 71, 0.6) !important;
    border: 2px solid #00f3ff !important;
    color: #00f3ff !important;
    box-shadow: 0 0 20px rgba(0, 243, 255, 0.6) !important;
    transform: scale(1.05);
}

.jconfirm .jconfirm-buttons .btn-danger:hover {
    color: #fff !important;
    box-shadow: 0 0 15px rgba(205, 18, 18, 0.795) !important;
    transform: scale(1.05);
}

.jconfirm .jconfirm-buttons .btn:focus {
    outline: none !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 243, 255, 0.18) !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%;
    overflow-x: auto;
    display: block;
    margin: auto;
    border-collapse: collapse;
    font-family: 'Inter', sans-serif;
    background-color: rgba(17, 47, 71, 0.85) !important;
    color: #ffffff;
    border: 1px solid rgba(80, 200, 255, 0.2);
    border-radius: 8px;
}

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

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

.fixed-table-container .table {
    color: #e9f7ff !important;
    background-color: rgba(17, 47, 71, 0.85) !important;
}

.fixed-table-container .table th {
    color: #00f3ff !important;
    background-color: rgba(0, 150, 255, 0.15) !important;
}

.fixed-table-container .table td {
    color: #e9f7ff !important;
    background-color: transparent !important;
}

.estilos_generales td a,
.estilos_generales td a:visited {
    color: #00f3ff !important;
    text-decoration: none !important;
    font-weight: 600;
    text-shadow: 0 0 6px rgba(91, 192, 255, 0.35);
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

.estilos_generales td a:hover,
.estilos_generales td a:focus {
    color: #00f3ff !important;
    text-decoration: none !important;
    text-shadow: 0 0 8px rgb(255, 255, 255);
}

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

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


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

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

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


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

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

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


*/

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

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

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

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

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

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

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

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

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


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

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

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

.btn.btn-danger:not(:disabled) {
 border: 1px solid rgba(194, 69, 108, 0.8) !important;
  color: rgba(246, 57, 116, 0.8) !important;
  box-shadow: 0 0 10px rgba(255, 0, 80, 0.25) !important;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease-in-out;

}

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

}

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

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

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

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

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

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


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

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


/*btnSave*/

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


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

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



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

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

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

}
/*dropdowns de modales*/

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

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

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

#modal_emails .modal-body input.form-control::placeholder,
#modal_emails .swal2-input::placeholder {
    color: rgba(225, 235, 245, 0.78) !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input::placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input::-webkit-input-placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input:disabled::placeholder {
    color: rgba(225, 238, 255, 0.82) !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input:disabled::-webkit-input-placeholder {
    color: rgba(225, 238, 255, 0.82) !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input::-moz-placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input:disabled::-moz-placeholder {
    color: rgba(225, 238, 255, 0.82) !important;
    opacity: 1 !important;
}

#modal_emails .modal-body input.ui-autocomplete-input:-ms-input-placeholder {
    color: #ffffff !important;
}

#modal_emails .modal-body input.ui-autocomplete-input:disabled:-ms-input-placeholder {
    color: rgba(225, 238, 255, 0.82) !important;
}

#modal_emails .modal-body input.ui-autocomplete-input:disabled {
    background-color: rgba(11, 25, 41, 0.6) !important;
    border-color: #00f3ff !important;
    color: rgba(225, 238, 255, 0.82) !important;
    -webkit-text-fill-color: rgba(225, 238, 255, 0.82) !important;
    opacity: 1 !important;
}

#modal_emails .swal2-container #swal_inline_input.swal2-input {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #6b7785 !important;
}

#modal_emails .swal2-container #swal_inline_input.swal2-input::placeholder {
    color: #5f5f5f !important;
    opacity: 1 !important;
}

body.page-emails-index .ui-autocomplete {
    background-color: #0d2538 !important;
    border: 1px solid #00f3ff !important;
    border-radius: 8px !important;
    box-shadow: 0 0 16px rgba(0, 243, 255, 0.25) !important;
}

body.page-emails-index #filtroGrupo input.ui-autocomplete-input {
    background-color: rgba(11, 25, 41, 0.6) !important;
    border: 1px solid #00f3ff !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

body.page-emails-index #filtroGrupo input.ui-autocomplete-input::placeholder,
body.page-emails-index #filtroGrupo input.ui-autocomplete-input::-webkit-input-placeholder,
body.page-emails-index #filtroGrupo input.ui-autocomplete-input::-moz-placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

body.page-emails-index #filtroGrupo input.ui-autocomplete-input:disabled {
    background-color: rgba(11, 25, 41, 0.6) !important;
    border: 1px solid #00f3ff !important;
    color: rgba(225, 238, 255, 0.82) !important;
    -webkit-text-fill-color: rgba(225, 238, 255, 0.82) !important;
    opacity: 1 !important;
}

body.page-emails-index #filtroGrupo input.ui-autocomplete-input:disabled::placeholder,
body.page-emails-index #filtroGrupo input.ui-autocomplete-input:disabled::-webkit-input-placeholder,
body.page-emails-index #filtroGrupo input.ui-autocomplete-input:disabled::-moz-placeholder {
    color: rgba(225, 238, 255, 0.82) !important;
    opacity: 1 !important;
}

body.page-emails-index .ui-autocomplete .ui-menu-item-wrapper {
    color: #ffffff !important;
    border: 0 !important;
}

body.page-emails-index .ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
body.page-emails-index .ui-autocomplete .ui-menu-item-wrapper:hover {
    background-color: rgba(0, 243, 255, 0.2) !important;
    color: #ffffff !important;
}

#btn_nuevo_filtro_correo,
#btn_ir_carga_masiva {
    background-color: rgba(11, 25, 41, 0.9) !important;
    border: 1px solid #00f3ff !important;
    color: #e9f7ff !important;
    box-shadow: 0 0 14px rgba(0, 243, 255, 0.35) !important;
    text-shadow: 0 0 6px rgba(0, 243, 255, 0.4);
}

#btn_nuevo_filtro_correo:hover,
#btn_ir_carga_masiva:hover {
    background-color: rgba(17, 47, 71, 0.95) !important;
    border-color: #00f3ff !important;
    color: #ffffff !important;
    box-shadow: 0 0 18px rgba(0, 243, 255, 0.55) !important;
    transform: translateY(-1px);
}

.modal-form-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 8px;
    margin-bottom: 4px;
    border-bottom: 1px solid rgba(0, 243, 255, 0.25);
    color: rgba(222, 242, 255, 0.9);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.excel-upload-card {
    border: 1px solid rgba(0, 243, 255, 0.35);
    border-radius: 10px;
    padding: 14px;
    background: linear-gradient(180deg, rgba(14, 34, 52, 0.9) 0%, rgba(11, 25, 41, 0.75) 100%);
    box-shadow: inset 0 0 0 1px rgba(0, 243, 255, 0.08), 0 6px 20px rgba(0, 0, 0, 0.2);
}

.excel-upload-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.excel-upload-head h6 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
}

.excel-upload-head small {
    color: rgba(206, 230, 244, 0.8);
}

.excel-upload-template-btn {
    white-space: nowrap;
}

.excel-upload-input-wrap {
    margin-top: 12px;
}

.excel-dropzone {
    border: 1px dashed rgba(0, 243, 255, 0.45);
    border-radius: 10px;
    padding: 16px 14px;
    text-align: center;
    background-color: rgba(10, 23, 36, 0.65);
    color: rgba(230, 247, 255, 0.95);
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}

.excel-dropzone i {
    display: block;
    font-size: 24px;
    margin-bottom: 6px;
    color: #00f3ff;
}

.excel-dropzone .excel-dropzone-title {
    font-weight: 700;
    font-size: 13px;
    margin-bottom: 2px;
}

.excel-dropzone small {
    color: rgba(190, 219, 236, 0.86);
}

.excel-dropzone:hover,
.excel-dropzone:focus,
.excel-dropzone.is-dragover {
    border-color: #00f3ff;
    background-color: rgba(0, 243, 255, 0.14);
    box-shadow: 0 0 0 2px rgba(0, 243, 255, 0.18);
}

.excel-upload-meta {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.excel-upload-label {
    color: rgba(214, 238, 251, 0.95);
    font-weight: 600;
    font-size: 12px;
}

.excel-upload-file-name {
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
}

.excel-upload-preview {
    margin-top: 10px;
}

.excel-upload-preview .table-responsive {
    background-color: rgba(10, 23, 36, 0.75);
    border-color: rgba(0, 243, 255, 0.25) !important;
}

#emailModalPreviewTable th,
#subgrupoPreviewTable th {
    background-color: rgba(0, 243, 255, 0.12);
    color: #dff5ff;
    font-weight: 700;
    border-color: rgba(0, 243, 255, 0.2);
}

#emailModalPreviewTable td,
#subgrupoPreviewTable td {
    color: #f5fbff;
    border-color: rgba(0, 243, 255, 0.12);
}

#emailModalPreviewTable,
#subgrupoPreviewTable {
    --bs-table-color: #f5fbff;
    --bs-table-bg: rgba(10, 23, 36, 0.9);
    --bs-table-striped-color: #f5fbff;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.05);
    --bs-table-hover-color: #ffffff;
    --bs-table-hover-bg: rgba(0, 243, 255, 0.1);
}

#emailModalPreviewTable th,
#subgrupoPreviewTable th,
#emailModalPreviewTable td,
#subgrupoPreviewTable td {
    color: #f5fbff !important;
}

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


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

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


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

}

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

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


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

.modal-body input.ui-autocomplete-input::placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

.modal-body input.ui-autocomplete-input:disabled::placeholder {
    color: rgba(225, 238, 255, 0.78) !important;
    opacity: 1 !important;
}

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



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


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

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

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

/*  (AUTOFILL) delos input  */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px rgb(11, 25, 41) inset !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid rgba(0, 243, 255, 0.5) !important;
    transition: background-color 5000s ease-in-out 0s;
    caret-color: #ffffff !important;
    color: #FFFFFF;
}

/* --------------------------------------------------------------
# Responsive fixes for tables and action toolbars
-------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .fixed-table-toolbar,
    .fixed-table-toolbar .columns,
    .fixed-table-toolbar .search,
    [id^="toolbar_"] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
    }

    .fixed-table-toolbar .search {
        width: 100%;
        margin-top: 6px;
    }

    .fixed-table-toolbar .search input,
    .fixed-table-toolbar .search .form-control,
    input[type="search"] {
        width: 100% !important;
        max-width: 100%;
    }

    .btnGuardarT,
    .btnResetT,
    #modal_cargar .btn-outline-success {
        width: 100%;
        margin-top: 12px;
        margin-right: 0 !important;
        min-width: 0;
    }

    .modal-footer .btn {
        width: 100%;
        margin: 6px 0 !important;
    }

    .excel-upload-head {
        flex-direction: column;
    }

    .excel-upload-template-btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .estilos_generales th {
        font-size: 13px;
        padding: 10px 8px;
    }

    .estilos_generales td {
        font-size: 12px;
        padding: 8px 6px;
    }

    [id^="toolbar_"] button,
    .fixed-table-toolbar .btn {
        width: 100%;
    }

    .fixed-table-toolbar .dropdown-menu {
        max-width: calc(100vw - 32px);
    }
}


.fixed-table-pagination {
    color: #e9f7ff !important;
}

.fixed-table-pagination .pagination {
    gap: 6px;
}

.fixed-table-pagination .page-link {
    background-color: rgba(17, 47, 71, 0.9) !important;
    border: 1px solid rgba(0, 243, 255, 0.35) !important;
    color: #e9f7ff !important;
    box-shadow: 0 0 8px rgba(0, 243, 255, 0.08);
    border-radius: 8px !important;
    transition: all 0.2s ease;
}

.fixed-table-pagination .page-link:hover,
.fixed-table-pagination .page-link:focus {
    /* background-color: rgba(0, 243, 255, 0.14) !important; */
    border-color: #00f3ff !important;
    color: #00f3ff !important;
    /* box-shadow: 0 0 12px rgba(0, 243, 255, 0.22) !important; */
}

.fixed-table-pagination .page-item.active .page-link {
    /* background: linear-gradient(135deg, #112f47, #1d5d86) !important; */
    border-color: #00f3ff !important;
    color: #00f3ff !important;
    /* box-shadow: 0 0 14px rgba(0, 243, 255, 0.3) !important; */
}

.fixed-table-pagination .page-item.disabled .page-link {
    background-color: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: rgba(233, 247, 255, 0.4) !important;
}

.fixed-table-pagination .pagination-info,
.fixed-table-pagination .page-list {
    color: #cfe8f7 !important;
}

.fixed-table-pagination .page-list .btn,
.fixed-table-pagination .page-list .dropdown-toggle {
    background-color: rgba(17, 47, 71, 0.9) !important;
    border: 1px solid rgba(0, 243, 255, 0.35) !important;
    color: #e9f7ff !important;
}

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

.fixed-table-pagination .dropdown-item,
.fixed-table-pagination .dropdown-menu li > a,
.fixed-table-pagination .dropdown-menu li > span {
    color: #e9f7ff !important;
    background-color: transparent !important;
}

.fixed-table-pagination .dropdown-item:hover,
.fixed-table-pagination .dropdown-item:focus,
.fixed-table-pagination .dropdown-menu li > a:hover {
    background-color: rgba(0, 150, 255, 0.3) !important;
    color: #ffffff !important;
}


.ui-widget-content {
    background: #0d2538 !important;
    color: #e9f7ff !important;
    border: 1px solid #00f3ff !important;
}

.ui-widget-content a {
    color: #e9f7ff !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;
    Color:#fff;
}

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

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

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

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


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

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

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

}

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

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

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

/*@keyframes blink {*/
/*    0%, 100% {*/
/*        opacity: 1;*/
/*    }*/
/*    50% {*/
/*        opacity: 0;*/
/*    }*/
/*}*//* --------------------------------------------------------------
# Responsive adjustments for floating actions and media blocks
-------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .bannerItem {
        height: clamp(220px, 45vw, 380px);
    }

    .img-normalizada {
        width: 100%;
        max-width: 320px;
        height: auto;
        aspect-ratio: 5 / 4;
    }
}

@media (max-width: 767.98px) {
    .whatsapp-container,
    .telegram-container {
        right: 10px;
        padding: 10px;
    }

    .telegram-container {
        bottom: 60px;
    }

    .whatsapp-text,
    .telegram-text {
        display: none;
    }

    .whatsapp-icon,
    .telegram-icon {
        margin-right: 0;
        font-size: 22px;
    }

    .empresa {
        font-size: 20px;
    }

    .idPrecio {
        font-size: 28px;
    }
}

/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/subscription-expiration.css ***!
  \**********************************************************************************************************************************/
.expiration-card-wrapper {
    max-width: 760px;
    margin: 0 auto 1.5rem;
}

.expiration-card {
    display: flex;
    align-items: center;
    gap: 5rem;
    padding: 1rem 1.25rem;
    border-radius: 14px;
    border: 1px solid rgba(80, 200, 255, 0.35);
    background: linear-gradient(135deg, rgba(9, 32, 53, 0.92), rgba(20, 58, 92, 0.78));
    box-shadow: 0 14px 32px rgba(2, 10, 21, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
    margin-bottom: 50px;
}

.expiration-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(0, 170, 255, 0.15);
    color: #7ae2ff;
    font-size: 1.2rem;
    border: 1px solid rgba(122, 226, 255, 0.35);
}

.expiration-card__content {
    min-width: 0;
}

.expiration-card__title {
    margin: 0;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.expiration-card__countdown {
    margin: 0.2rem 0 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    word-break: break-word;
}

.expiration-card__countdown.is-expired {
    color: #ffb0bb !important;
    text-shadow: 0 0 12px rgba(255, 120, 145, 0.7) !important;
}

.expiration-navbar {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(80, 200, 255, 0.28);
    background: linear-gradient(135deg, rgba(9, 32, 53, 0.92), rgba(20, 58, 92, 0.78));
    color: #e6f8ff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1;
    max-width: min(56vw, 360px);
}

.expiration-navbar i {
    font-size: 0.9rem;
    color: #7ae2ff;
    flex-shrink: 0;
}

#contador-expiracion-navbar {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dropdown-header #expiration-navbar-item .expiration-navbar {
    max-width: 100%;
    width: 100%;
}

#seccion-inicial.full-height:not(.d-none) {
    min-height: calc(100vh - 140px);
    display: flex;
    align-items: center;
    justify-content: center;
}

#seccion-inicial.full-height.d-none {
    display: none !important;
}

.subscription-shell {
    max-width: 1080px;
    margin: 0 auto;
}

.subscription-hero {
    background: linear-gradient(135deg, rgba(8, 27, 45, 0.92), rgba(22, 57, 91, 0.78));
    border: 1px solid rgba(80, 200, 255, 0.22);
    border-radius: 18px;
    padding: 2.25rem 1.5rem;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

.subscription-hero .lead {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.subscription-cta-btn {
    min-width: 210px;
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.subscription-plan-card {
    background: linear-gradient(140deg, rgba(8, 27, 45, 0.95), rgba(18, 49, 78, 0.8));
    border: 1px solid rgba(80, 200, 255, 0.24);
    border-radius: 16px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}

.subscription-plan-card__header {
    background: linear-gradient(90deg, rgba(0, 174, 255, 0.15), rgba(0, 243, 255, 0.04));
    border-bottom: 1px solid rgba(80, 200, 255, 0.2);
    padding: 0.95rem 1rem;
}

.subscription-plan-card__title {
    font-size: 1rem;
    letter-spacing: 0.05em;
}

.subscription-plan-card__meta {
    color: #d9f2ff;
    margin-bottom: 0.5rem;
}

.subscription-plan-card__price {
    font-size: 1.4rem;
    font-weight: 700;
    color: #7ae2ff;
    margin-bottom: 1rem;
}

.subscription-plan-card__features {
    margin-top: 0.75rem;
    margin-bottom: 0;
    max-height: 220px;
    overflow-y: auto;
    padding-right: 0.4rem;
}

.subscription-plan-card__features li {
    background: rgba(122, 226, 255, 0.08);
    border: 1px solid rgba(122, 226, 255, 0.16);
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
    margin-bottom: 0.55rem;
}

.subscription-plan-card__features strong {
    color: #e5f8ff;
}

.subscription-plan-card__features small {
    color: rgba(229, 248, 255, 0.8) !important;
}

.subscription-plan-card__button {
    border-radius: 10px;
    font-weight: 700;
}

#info-plan-seleccionado.subscription-selected-plan {
    border: 1px solid rgba(80, 200, 255, 0.3);
    background: linear-gradient(120deg, rgba(11, 40, 64, 0.9), rgba(17, 63, 97, 0.72));
    border-radius: 12px;
    color: #e6f8ff;
    margin: 1rem auto 0;
    max-width: 980px;
}

.subscription-selected-plan .btn {
    color: #9cdfff !important;
    text-decoration: none;
    font-weight: 700;
}

#vista-tres .subscription-payment-panel {
    background: linear-gradient(140deg, rgba(8, 27, 45, 0.95), rgba(19, 54, 86, 0.82));
    border: 1px solid rgba(80, 200, 255, 0.2);
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.24);
}

.subscription-payment-btn {
    border-radius: 12px;
    min-height: 56px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

@media (max-width: 768px) {
    .expiration-card {
        padding: 0.9rem 1rem;
    }

    .expiration-card__countdown {
        font-size: 0.95rem;
    }

    .expiration-navbar {
        max-width: 48vw;
        font-size: 0.72rem;
        padding: 0.28rem 0.55rem;
    }

    .subscription-hero {
        padding: 1.5rem 1rem;
    }
}

/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* ================================
   APP.SCSS — ORDEN CORRECTO
================================ */

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

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

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

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

/* --- Editores --- */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

.modalStyle .btn-outline-secondary

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

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

.requiredStyle{
    color: white !important;
}

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

/* --------------------------------------------------------------
# Responsive modal tabs and table overflow
-------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .modalStyle .nav-tabs {
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    .modalStyle .nav-tabs .nav-item {
        flex: 0 0 auto;
    }

    .modalStyle .table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .modalStyle .btn {
        margin-right: 0 !important;
    }

    .modalStyle .modal-footer {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .modalStyle .modal-footer .btn {
        flex: 1 1 180px;
    }
}

@media (max-width: 575.98px) {
    .modalStyle .modal-footer .btn {
        width: 100%;
        flex: 1 1 100%;
    }

    .modalStyle .table th,
    .modalStyle .table td {
        font-size: 12px;
        padding: 6px;
    }
}


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