/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/partner-dashboard.css ***!
  \*************************************************************************************************************************/
*, *::before, *::after {
  box-sizing: border-box;
}

/* Custom data table styling */
.data-table {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: 0.9rem;
}

/* Header styles */
.data-table__header {
  display: none; /* Hide by default, show on larger screens */
}

/* Row styles */
.data-table__row {
  background-color: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  padding: 1rem;
  display: grid;
  gap: 1rem;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.data-table__row:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Cell styles for mobile (default) */
.data-table__cell {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f1f3f5;
}
.data-table__cell:last-child {
    border-bottom: none;
}

.data-table__cell .data-table__label {
  font-weight: 600;
  color: #495057;
  margin-right: 1rem;
}

.data-table__cell .data-table__value {
  text-align: right;
}

/* Tablet and desktop styles */
@media (min-width: 992px) {
  .data-table__header {
    display: grid;
    background-color: #f1f3f5;
    padding: 1rem 1.25rem;
    border-radius: 8px;
    font-weight: 600;
    color: #495057;
    text-transform: uppercase;
    font-size: 0.85rem;
    align-items: center;
  }

  .data-table__row {
    display: grid;
    padding: 1rem 1.25rem; /* Make padding consistent */
    align-items: center;
    border: none;
    border-bottom: 1px solid #e9ecef;
    border-radius: 0;
    box-shadow: none;
    background-color: transparent;
  }

  .data-table__row:last-child {
      border-bottom: none;
  }

  .data-table__cell {
    display: contents; /* This makes the cell's children part of the grid */
  }

  .data-table__cell .data-table__label {
    display: none; /* Hide the data-label */
  }

  .data-table__cell .data-table__value {
    text-align: left;
  }

  /* Specific grid layouts for each table */
  .data-table--nuevos-leads .data-table__header,
  .data-table--nuevos-leads .data-table__row {
    grid-template-columns: 1fr 2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 1.5rem; /* Increased gap for better spacing */
  }

  .data-table--pedidos .data-table__header,
  .data-table--pedidos .data-table__row {
    grid-template-columns: 1fr 1fr 1.5fr 1.5fr 1fr 1fr 1fr 1fr 1fr 1fr 1.5fr;
    gap: 1.5rem; /* Increased gap */
  }

  .data-table--facturados .data-table__header,
  .data-table--facturados .data-table__row {
    grid-template-columns: 1fr 1fr 2fr 1fr 1.5fr;
    gap: 1.5rem; /* Increased gap */
  }
}

/* Helper classes from the original styles */
.technology-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.technology-item {
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
    color: #495057;
}
.technology-item:last-child {
    margin-bottom: 0;
}
.technology-item strong {
    font-weight: 600;
    color: #212529;
}
.unseen-lead {
    border-left: 4px solid #009933;
}
.seen-lead {
    border-left: 4px solid #0066cc;
}
.status-badge {
    padding: 0.5em 0.8em;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    display: inline-block;
}
.status-badge.pending { background-color: #fffbe6; color: #d6b300; }
.status-badge.passback-solicited { background-color: #fff3e6; color: #e67300; }
.status-badge.passback-completed { background-color: #ffe6e6; color: #cc0000; }
.status-badge.declined { background-color: #e6e6e6; color: #8c8c8c; }
.status-badge.accepted { background-color: #e6ffec; color: #009933; }
.status-badge.verifying { background-color: #e6f7ff; color: #007399; }
.status-badge.paid { background-color: #e6f2ff; color: #0066cc; }
.status-badge.billed { background-color: #e6f2ff; color:var(--primary); }

.table-action-btn {
    border-radius: 50px;
    font-size: 0.8rem;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease-in-out;
}
.table-action-btn:hover {
    transform: translateY(-1px);
}
.contact-info small {
    display: flex;
    align-items: center;
    margin-top: 0.25rem;
    color: #6c757d !important;
}
.contact-info small .bi {
    font-size: 0.9rem;
}

/* Dark Mode Overrides for partner-dashboard.css */
body.dark-mode .data-table__row {
    background-color: var(--card-background);
    border-color: var(--border-color);
}

body.dark-mode .data-table__cell {
    border-bottom-color: var(--border-color);
}

body.dark-mode .data-table__cell .data-table__label {
    color: var(--text-light-color);
}

body.dark-mode .data-table__cell .data-table__value {
    color: var(--text-color);
}

@media (min-width: 992px) {
    body.dark-mode .data-table__header {
        background-color: #2a2a2a;
        color: var(--text-light-color);
    }

    body.dark-mode .data-table__row {
        background-color: transparent;
        border-bottom-color: var(--border-color);
    }
}

body.dark-mode .technology-item {
    color: var(--text-light-color);
}

body.dark-mode .technology-item strong {
    color: var(--text-color);
}

body.dark-mode .contact-info small {
    color: var(--text-light-color) !important;
}

/* Badge Dark Mode */
body.dark-mode .status-badge.pending { background-color: rgba(214, 179, 0, 0.2); color: #d6b300; }
body.dark-mode .status-badge.passback-solicited { background-color: rgba(230, 115, 0, 0.2); color: #e67300; }
body.dark-mode .status-badge.passback-completed { background-color: rgba(204, 0, 0, 0.2); color: #cc0000; }
body.dark-mode .status-badge.declined { background-color: rgba(140, 140, 140, 0.2); color: #8c8c8c; }
body.dark-mode .status-badge.accepted { background-color: rgba(0, 153, 51, 0.2); color: #009933; }
body.dark-mode .status-badge.verifying { background-color: rgba(0, 115, 153, 0.2); color: #007399; }
body.dark-mode .status-badge.paid { background-color: rgba(0, 102, 204, 0.2); color: #0066cc; }
body.dark-mode .status-badge.billed { background-color: rgba(48, 194, 154, 0.2); color:var(--primary-color); }

/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/partner_new.css ***!
  \*******************************************************************************************************************/
/* --- Paleta de Colores Final Alineada con el Logo --- */
:root {
    --primary-color: #30c29a; /* Verde principal de "TYC" */
    --secondary-color: #30c2d1; /* Turquesa de "SOLUTIONS" */
    --background-color: #f0f2f5;
    --card-background: #ffffff;
    --text-color: #333;
    --text-light-color: #666;
    --border-color: #e0e0e0;
    --font-family: 'Poppins', sans-serif;
    --shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
    --border-radius: 12px;

    /* Colores vivos y alineados para cada sección */
    --leads-bg-start: #e0f2f1;
    --leads-bg-end: #ffffff;
    --leads-color: #00796b; /* Un verde complementario */

    --pedidos-bg-start: #e8f5e9;
    --pedidos-bg-end: #ffffff;
    --pedidos-color: #43a047; /* Un verde más vivo */

    --facturas-bg-start: #e3f2fd;
    --facturas-bg-end: #ffffff;
    --facturas-color: #1e88e5;
    
    /* Variables específicas del Navbar para el Toggler/Cierre */
    --navbar-toggler-icon-filter: none;
    --navbar-toggler-border-color: rgba(0, 0, 0, .1);
    --btn-close-filter: none;
}

/* --- Estilos Base --- */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: var(--font-family);
    background-color: var(--background-color);
    color: var(--text-color);
    line-height: 1.6;
    transition: background-color 0.3s, color 0.3s; /* Transición para modo oscuro */
}

/* DEFINICIÓN DEL CONTENEDOR */
.container { max-width: 1200px; margin: 0 auto; padding: 0 30px; } 

.btn-gradient{
    background:linear-gradient(90deg, #10B981, #06B6D4);
}
        
/* --- Cabecera y Navegación (Estilos para la NAV sin bg-white/navbar-light) --- */
header, .navbar {
    background-color: var(--card-background); /* Usa la variable de fondo de tarjeta */
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s, border-color 0.3s;
}

/* Estilos para el menú colapsado (Móvil) */
.navbar-collapse.collapsing,
.navbar-collapse.show {
    background-color: var(--card-background); /* Fondo de tarjeta para móvil */
    padding: 15px;
    border-radius: var(--border-radius);
    margin-top: 10px;
    box-shadow: var(--shadow);
}

.navbar .nav-link, 
.navbar .dropdown-toggle { 
    color: var(--text-color); /* Asegura que los enlaces usen el color del tema */
}

.navbar .nav-link:hover, 
.navbar .nav-link.active { 
    color: var(--primary-color) !important; 
    border-bottom-color: var(--primary-color);
}

/* Estilo del icono de hamburguesa (Light Mode) */
.navbar-toggler {
    border-color: var(--navbar-toggler-border-color);
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27%23333%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

.logo { font-size: 1.5rem; font-weight: 700; color: var(--primary-color); text-decoration: none; }
.logo-subtitle { font-size: 0.8rem; font-weight: 400; color: var(--secondary-color); }
.user-profile { display: flex; align-items: center; gap: 10px; color: var(--text-color); }
.user-profile .fa-user-circle { font-size: 1.8rem; color: var(--primary-color); }

/* --- Banner de Bienvenida Atractivo --- */
.welcome-banner {
    padding: 25px 40px; 
    margin-bottom: 30px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-radius: var(--border-radius);
    color: white;
    text-align: center;
    box-shadow: 0 10px 30px rgba(48, 194, 154, 0.3);
}
.welcome-banner h1 {
    font-size: 2rem; 
    font-weight: 700;
    margin-bottom: 5px; 
}
.welcome-banner p {
    font-size: 1rem; 
    opacity: 0.9;
}

/* --- Dashboard y Layout Vertical --- */
.dashboard { padding: 30px 0; }
.dashboard-grid {
    display: grid;
    grid-template-columns: 1fr; 
    gap: 30px;
}

/* --- Diseño de Tarjetas (Cards) Moderno --- */
.card {
    background-color: var(--card-background);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s;
    overflow: hidden;
}
.card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.1);
}
.card-header {
    padding: 25px;
    border-bottom: 1px solid var(--border-color);
}
.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.card-header h2 {
    font-size: 1.4rem; 
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
}
.stat-badge {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    color: #fff;
}
.card-body { padding: 25px; flex-grow: 1; overflow-x: auto; }
.card-footer { padding: 20px; background-color: #fcfcfc; border-top: 1px solid #f0f0f0; text-align: center; }

/* --- Colores y Degradados para cada sección --- */
.card-leads .card-header { background-image: linear-gradient(to top right, var(--leads-bg-start), var(--leads-bg-end)); }
.card-leads .card-header h2 { color: var(--leads-color); }
.card-leads .stat-badge { background-color: var(--leads-color); }

.card-pedidos .card-header { background-image: linear-gradient(to top right, var(--pedidos-bg-start), var(--pedidos-bg-end)); }
.card-pedidos .card-header h2 { color: var(--pedidos-color); }
.card-pedidos .stat-badge { background-color: var(--pedidos-color); }

.card-facturas .card-header { background-image: linear-gradient(to top right, var(--facturas-bg-start), var(--facturas-bg-end)); }
.card-facturas .card-header h2 { color: var(--facturas-color); }
.card-facturas .stat-badge { background-color: var(--facturas-color); }

/* --- Tablas --- */
table { width: 100%; border-collapse: collapse; font-size: 0.9em; }
th, td { padding: 12px 15px; text-align: left; border-bottom: 1px solid var(--border-color); white-space: nowrap; }
thead th { font-weight: 600; color: var(--text-light-color); text-transform: uppercase; }
tbody tr:last-child td { border-bottom: none; }
tbody tr { transition: background-color 0.2s ease; }
tbody tr:hover { background-color: #f9f9f9; }

/* --- Elementos de Interfaz (Botones, Enlaces, Estados) --- */
.btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: #fff;
    padding: 12px 25px;
    border-radius: 8px;
    border: none;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(48, 194, 209, 0.3);
}
.btn:hover { transform: translateY(-3px); box-shadow: 0 7px 20px rgba(48, 194, 209, 0.4); }
.action-link { color: var(--secondary-color); text-decoration: none; font-weight: 600; font-size: 1.2rem; }
.action-link i { margin-right: 5px; }
.action-link:hover { text-decoration: none; color: var(--primary-color); }
.status { padding: 5px 12px; border-radius: 15px; font-size: 0.8em; font-weight: 600; text-align: center; }
.status-paid { background-color: #e0f2f1; color: #00796b; }
.status-pending { background-color: #fff8e1; color: #f57c00; }

/* --- Responsividad --- */
@media (max-width: 768px) {
    /* Mantenemos el padding ajustado para móviles */
    .container { padding: 0 15px; } 
    .welcome-banner h1 { font-size: 2rem; }
    
    /* --- Estilos base para convertir TODAS las tablas a vista de tarjeta en móvil --- */
    table, thead, tbody, th, td, tr { 
        display: block; 
    }
    
    /* Ocultar la cabecera de la tabla */
    thead {
        display: none;
    }
    
    /* Estilo de cada fila como una tarjeta */
    tbody tr {
        border: 1px solid var(--border-color);
        margin-bottom: 15px;
        border-radius: var(--border-radius);
        padding: 10px;
        background-color: var(--card-background); /* Fondo de la tarjeta en móvil */
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    }
    
    /* Desactivar efectos de hover que levantan la fila en la vista de tarjeta */
    tbody tr:hover { 
        background-color: var(--card-background); 
        transform: none; 
    }

    /* Estilo de cada celda */
    td {
        border: none !important; /* Elimina todos los bordes de la celda */
        position: relative;
        padding-left: 30%; /* Deja espacio para la etiqueta */
        text-align: right;
        padding-top: 8px;
        padding-bottom: 8px;
        white-space: normal; /* Permite que el contenido se ajuste y evita el scroll horizontal */
    }

    /* Estilo general para la etiqueta (label) */
    td::before {
        position: absolute;
        left: 0;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: 600;
        color: var(--text-light-color);
        content: attr(data-label); /* **IMPORTANTE**: Usará el atributo 'data-label' si existe */
    }

    /* ---------------------------------------------------- */
    /* REGLAS ESPECÍFICAS PARA LA TABLA DE PEDIDOS/LEADS */
    /* ---------------------------------------------------- */
    /* Aplica estas reglas si la tabla tiene la clase .table-pedidos-responsive */
    .table-pedidos-responsive td:nth-of-type(1)::before { content: "Número"; }
    .table-pedidos-responsive td:nth-of-type(2)::before { content: "Empresa"; }
    .table-pedidos-responsive td:nth-of-type(3)::before { content: "Proyecto"; }
    .table-pedidos-responsive td:nth-of-type(4)::before { content: "Fecha"; }
    .table-pedidos-responsive td:nth-of-type(5)::before { content: "Estado"; }
    .table-pedidos-responsive td:nth-of-type(6)::before { content: "Acciones"; }
    
    /* Estilo específico para la columna de Acción para alinear los iconos */
    .table-pedidos-responsive td:nth-of-type(6) .action-buttons-content .action-link {
        width: 100%;
        display: block;
        font-size: 1rem;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    
    .table-pedidos-responsive td:nth-of-type(6) {
        display: block;
        justify-content: flex-end;
        align-items: center;
        gap: 15px;
        padding-right: 0;
        padding-left: 0px;
        text-align: center;
        padding-top: 30px;
    }

    
    
    .table-pedidos-responsive td:nth-of-type(6)::before {
        /* Permite que la etiqueta "Acción" ocupe el espacio a la izquierda */
        position: static;
        width: auto;
        flex-grow: 1;
        text-align: left;
        padding-left: 0;
    }

    .table-facturas-responsive td:nth-of-type(1)::before { content: "Nº Factura"; }
    .table-facturas-responsive td:nth-of-type(2)::before { content: "Proyecto"; }
    .table-facturas-responsive td:nth-of-type(3)::before { content: "Empresa"; }
    .table-facturas-responsive td:nth-of-type(4)::before { content: "Estado"; }
    .table-facturas-responsive td:nth-of-type(5)::before { content: ""; }
    
    /* Estilo específico para la columna de Acción para alinear los iconos */
    .table-facturas-responsive td:nth-of-type(5) .action-buttons-content .action-link {
        width: 100%;
        display: block;
        font-size: 1rem;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    
    .table-facturas-responsive td:nth-of-type(5) {
        display: block;
        justify-content: flex-end;
        align-items: center;
        gap: 15px;
        padding-right: 0;
        padding-left: 0px;
        text-align: center;
        padding-top: 30px;
    }

    
    
    .table-facturas-responsive td:nth-of-type(6)::before {
        /* Permite que la etiqueta "Acción" ocupe el espacio a la izquierda */
        position: static;
        width: auto;
        flex-grow: 1;
        text-align: left;
        padding-left: 0;
    }

    .table-pedidos-nuevos-responsive td:nth-of-type(1)::before { content: "Proyecto"; }
    .table-pedidos-nuevos-responsive td:nth-of-type(2)::before { content: "Ubicación"; }
    .table-pedidos-nuevos-responsive td:nth-of-type(3)::before { content: "Fecha"; }
    .table-pedidos-nuevos-responsive td:nth-of-type(4)::before { content: "Empleados"; }
    .table-pedidos-nuevos-responsive td:nth-of-type(5)::before { content: "Facturación"; }
    .table-pedidos-nuevos-responsive td:nth-of-type(6)::before { content: "Sector"; }
    .table-pedidos-nuevos-responsive td:nth-of-type(7)::before { content: ""; }
    
    /* Estilo específico para la columna de Acción para alinear los iconos */
    .table-pedidos-responsive td:nth-of-type(7) .action-buttons-content .action-link {
        width: 100%;
        display: block;
        font-size: 1rem;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    
    .table-pedidos-nuevos-responsive td:nth-of-type(7) {
        display: block;
        justify-content: flex-end;
        align-items: center;
        gap: 15px;
        padding-right: 0;
        padding-left: 0px;
        text-align: center;
        padding-top: 30px;
    }

    
    
    .table-pedidos-nuevos-responsive td:nth-of-type(7)::before {
        /* Permite que la etiqueta "Acción" ocupe el espacio a la izquierda */
        position: static;
        width: auto;
        flex-grow: 1;
        text-align: left;
        padding-left: 0;
    }

    .td.no-items{
        padding-right: 0;
    }

}

/* --- Dark Mode --- */
body.dark-mode {
    --background-color: #121212;
    --card-background: #1e1e1e;
    --text-color: #e0e0e0;
    --text-light-color: #b0b0b0;
    --border-color: #333;
    --shadow: 0 5px 20px rgba(0, 0, 0, 0.3);

    --leads-bg-start: #1e1e1e;
    --leads-bg-end: #242424;
    --leads-color: #30c29a;

    --pedidos-bg-start: #1e1e1e;
    --pedidos-bg-end: #242424;
    --pedidos-color: #30c2d1;

    --facturas-bg-start: #1e1e1e;
    --facturas-bg-end: #242424;
    --facturas-color: #1e88e5;
    
    /* Variables específicas del Navbar para Dark Mode */
    --navbar-toggler-icon-filter: invert(100%) grayscale(100%); 
    --navbar-toggler-border-color: rgba(255, 255, 255, .1);
    --btn-close-filter: invert(100%) grayscale(100%); 
}

/* Estilos de Navbar en Dark Mode */
body.dark-mode .navbar-toggler-icon {
    /* Icono de hamburguesa blanco para el modo oscuro */
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27%23e0e0e0%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

/* Estilo del botón de cierre del menú móvil en Dark Mode */
body.dark-mode .btn-close {
    filter: var(--btn-close-filter);
    opacity: 0.8;
}

body.dark-mode .card-footer {
    background-color: #121212;
    border-top: 1px solid #333;
}

body.dark-mode .welcome-banner {
    background: linear-gradient(135deg, #1e1e1e, #242424);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

body.dark-mode tbody tr:hover {
    background-color: #2a2a2a;
}

body.dark-mode .status-paid {
    background-color: rgba(48, 194, 154, 0.1);
    color: #30c29a;
}

body.dark-mode .status-pending {
    background-color: rgba(245, 124, 0, 0.1);
    color: #f57c00;
}

body.dark-mode .dropdown-menu.show{
    background-color: var(--card-background);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow);
}

body.dark-mode .logout-menu {
    background-color: var(--card-background);
    color: var(--text-light-color)
}

body.dark-mode .welcome-banner h1,h1, h2, h3, h5,span {
    color: var(--text-light-color)
}

body.dark-mode .text-muted, body.dark-mode td{
    color: var(--text-light-color) !important;
}

body.dark-mode .card, body.dark-mode .card-body, body.dark-mode .card-header {
    background-color: var(--card-background);
    color: var(--text-color);
    border: 1px solid var(--border-color);
}


/* --- Estilos para Modals en Dark Mode (Bootstrap) --- */
/* 1. Contenido del Modal (Fondo, color de texto y borde) */
body.dark-mode .modal-content {
    background-color: var(--card-background); /* Fondo de la tarjeta oscura */
    color: var(--text-color);
    border: 1px solid var(--border-color); /* Borde oscuro */
}

/* 2. Cabecera y Pie (Asegurar colores y separadores) */
body.dark-mode .modal-header,
body.dark-mode .modal-footer {
    border-color: var(--border-color); /* Separadores oscuros */
}

/* 3. Título y Cuerpo del Modal */
body.dark-mode .modal-title,
body.dark-mode .modal-body {
    color: var(--text-color);
}

/* 4. Botón de cierre dentro del Modal (lo invierte a blanco) */
body.dark-mode .modal .btn-close {
    filter: var(--btn-close-filter);
    opacity: 0.8;
}

/* 5. Fondo del Modal (Backdrop) en Dark Mode */
body.dark-mode .modal-backdrop.show {
    background-color: #000;
    opacity: 0.7; /* Oscurece un poco más para mejor contraste en Dark Mode */
}



/* Reglas de Dark Mode para la vista de tarjeta móvil */
@media (max-width: 768px) {
    body.dark-mode tbody tr {
        border: 1px solid #333;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
    }
}

/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/lead-details.css ***!
  \********************************************************************************************************************/
.lead-details-container {
    background-color: var(--background-color);
    color: var(--text-color);
    font-family: 'Segoe UI', sans-serif;
}

.lead-details-container .header {
    background-color: #212529;
    color: white;
    padding: 1rem 2rem;
}

.lead-details-container .header .right {
    text-align: end;
}

.lead-details-container .badge-box-parent {
    padding-left: 0;
    padding-right: 0;
}

.lead-details-container .info-badges .badge-box {
    border: 1px solid var(--border-color);
    padding: 0.75rem;
    border-radius: 0;
    background-color: var(--card-background);
    min-height: 95px;
}

.lead-details-container .info-badges .label {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--text-light-color);
}

.lead-details-container .info-badges .value {
    font-weight: bold;
    text-transform: uppercase;
}

.lead-details-container .section-box {
    background-color: var(--card-background);
    border: 1px solid var(--border-color);
    border-radius: 0.375rem;
    padding: 1.25rem;
    margin-bottom: 2rem;
}

.lead-details-container .timeline li {
    margin-bottom: 0.75rem;
}

.lead-details-container .timeline li::marker {
    color: #0d6efd;
}

.lead-details-container .requisitos-container {
    background-color: var(--card-background);
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    padding: 2rem;
    margin: 2rem auto;
    color: var(--text-color);
}

.lead-details-container .badge-custom {
    background-color: #cfe2ff;
    color: #343a40;
    font-weight: 600;
    margin-right: 0.5rem;
}

.lead-details-container .section-title {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.lead-details-container .divider {
    border-top: 1px solid var(--border-color);
    margin: 1rem 0;
}

.lead-details-container .executive-summary {
    background-color: var(--card-background);
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    padding: 2rem;
    margin: 2rem auto;
    color: var(--text-color);
}

.lead-details-container .main-title {
    font-weight: bold;
    font-size: 1.5rem;
}

.lead-details-container .highlight {}

.lead-details-container .section-title {
    margin-top: 1.5rem;
    font-size: 1.25rem;
}

.lead-details-container .solution-contact {
    background-color: var(--card-background);
    margin: 2rem auto;
}

.lead-details-container .solution-contact-content {
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    padding: 2rem;
    height: 100%;
}

.lead-details-container .requisitos-contact-content {
    border: 1px solid var(--card-background);
    border-radius: 0.5rem;
    padding: 2rem;
    padding-top: 0px;
    height: 100%;
}

.lead-details-container .subsection-title {
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.lead-details-container .timeline-container {
    background-color: var(--card-background);
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    padding: 2rem;
    margin: 2rem auto;
    color: var(--text-color);
}

.lead-details-container .timeline {
    position: relative;
    margin: 2rem 0;
    padding-left: 0;
    list-style: none;
    border-left: 3px solid #005A9C;
}

.lead-details-container .timeline li {
    position: relative;
    margin-bottom: 30px;
}

.lead-details-container .timeline li::before {
    content: "";
    position: absolute;
    left: -11px;
    top: 0;
    width: 20px;
    height: 20px;
    background-color: #005A9C;
    border-radius: 50%;
    border: 3px solid var(--card-background);
    box-shadow: 0 0 0 3px #005A9C;
}

.lead-details-container .timeline-content {
    background: var(--background-color);
    padding: 15px 20px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.lead-details-container .timeline-content h3 {
    margin: 0 0 5px;
    font-size: 1.1rem;
    color: #005A9C;
}

.lead-details-container .blue-text {
    color: #005A9C;
}

.lead-details-container .tec-name-esenciales {
    background-color: #E0F2F1;
    color: #00796B;
    border: 1px solid #B2DFDB;
    padding: 5px 7px;
    border-radius: 15px;
    font-size: 15px;
    margin-right: 4px;
}

.lead-details-container ul.tec-esenciales>li {
    margin-bottom: 15px;
}

.lead-details-container .timeline-content p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-color);
}

.lead-details-container .meeting-schedule {
    margin-top: 1rem;
}

.lead-details-container .row-5-cols {
    display: flex;
    justify-content: space-between;
}

.lead-details-container .row-5-cols .badge-box-parent {
    flex: 1 1 20%;
}

.lead-details-container .row-5-cols {
    display: flex;
    justify-content: space-between;
}

.lead-details-container .row-5-cols .badge-box-parent {
    flex: 1 1 20%;
}

.lead-details-container .row-5-cols {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.lead-details-container .row-5-cols .badge-box-parent {
    flex: 1 1 20%;
    padding: 0 5px;
}

.lead-details-container .badge-box {
    display: flex;
    height: 100%;
    flex-direction: column;
}

/* Estilo para el contenedor principal de la línea de tiempo horizontal */
.lead-details-container .timeline-horizontal {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding-top: 2rem;
    /* Espacio para la línea y los puntos */
}

/* Línea horizontal central */
.lead-details-container .timeline-horizontal::before {
    content: '';
    position: absolute;
    top: 1.5rem;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--border-color);
    z-index: 0;
}

/* Estilo para cada elemento de la línea de tiempo */
.lead-details-container .timeline-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    flex: 1;
    /* Distribuye el espacio de manera uniforme */
    padding: 0 1rem;
}

/* Círculo del icono en la línea de tiempo */
.lead-details-container .timeline-icon {
    width: 1rem;
    height: 1rem;
    background-color: #007bff;
    border: 2px solid var(--card-background);
    border-radius: 50%;
    position: relative;
    top: -0.5rem;
    z-index: 1;
}

/* Contenido del elemento de la línea de tiempo */
.lead-details-container .timeline-content {
    margin-top: 1rem;
}

/* Ajustes para la caja de la sección */
.lead-details-container .section-box {
    background-color: var(--card-background);
    border: 1px solid var(--border-color);
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 1.5rem;
}

body.dark-mode .lead-details-container .badge-custom {
    background-color: #2a2a2a;
    color: #e0e0e0;
}

body.dark-mode .lead-details-container .tec-name-esenciales {
    background-color: rgba(48, 194, 154, 0.1);
    color: #30c29a;
    border-color: #30c29a;
}


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