/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* CITSA - CSS Variables para tema consistente */
:root {
    /* Colores principales */
    --primary-color: #2c5282;
    --primary-light: #3182ce;
    --primary-dark: #2a4f7c;
    --secondary-color: #4a5568;

    /* Colores de estado */
    --success-color: #38a169;
    --warning-color: #d69e2e;
    --danger-color: #e53e3e;
    --info-color: #3182ce;

    /* Colores de fondo */
    --bg-color: #f7fafc;
    --bg-light: #ffffff;
    --bg-dark: #1a202c;
    --bg-gray: #edf2f7;

    /* Sombras */
    --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-hover: 0 8px 25px -8px rgba(0, 0, 0, 0.25);

    /* Bordes */
    --border-radius: 0.75rem;
    --border-radius-sm: 0.5rem;
    --border-radius-lg: 1rem;

    /* Tipografía */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;

    /* Transiciones */
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.15s ease-in-out;
}

/* Reset y configuración base */
* {
    box-sizing: border-box;
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: #2d3748;
    background-color: var(--bg-color);
    margin: 0;
    padding: 0;
}

/* Tipografía mejorada */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 1rem;
    color: #1a202c;
}

.h2 {
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--primary-dark);
}

/* Cards con estilo moderno */
.card {
    border: none !important;
    border-radius: var(--border-radius) !important;
    box-shadow: var(--shadow) !important;
    transition: var(--transition) !important;
    background: var(--bg-light);
    overflow: hidden;
}

.card:hover {
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.card-body {
    padding: 1.5rem !important;
}

.card-header {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%) !important;
    border: none !important;
    color: white !important;
    padding: 1rem 1.5rem !important;
    font-weight: 600;
}

/* Botones modernos */
.btn {
    border-radius: var(--border-radius-sm) !important;
    font-weight: 500 !important;
    padding: 0.625rem 1.25rem !important;
    transition: var(--transition) !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

/* Botones sólidos sin borde */
.btn-primary,
.btn-secondary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-info,
.btn-light,
.btn-dark {
    border: none !important;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%) !important;
    color: white !important;
    box-shadow: var(--shadow) !important;
}

.btn-primary:hover {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 100%) !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
    color: white !important;
}

.btn-secondary {
    background: linear-gradient(135deg, var(--secondary-color) 0%, #6b7280 100%) !important;
    color: white !important;
    box-shadow: var(--shadow) !important;
}

.btn-secondary:hover {
    background: linear-gradient(135deg, #374151 0%, var(--secondary-color) 100%) !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
    color: white !important;
}

.btn-success {
    background: linear-gradient(135deg, var(--success-color) 0%, #48bb78 100%) !important;
    color: white !important;
}

.btn-warning {
    background: linear-gradient(135deg, var(--warning-color) 0%, #ecc94b 100%) !important;
    color: white !important;
}

.btn-danger {
    background: linear-gradient(135deg, var(--danger-color) 0%, #f56565 100%) !important;
    color: white !important;
}

.btn-outline-primary {
    border: 2px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    background: transparent !important;
}

.btn-outline-primary:hover {
    background: var(--primary-color) !important;
    color: white !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.btn-outline-secondary {
    border: 2px solid var(--secondary-color) !important;
    color: var(--secondary-color) !important;
    background: transparent !important;
}

.btn-outline-secondary:hover {
    background: var(--secondary-color) !important;
    color: white !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.btn-outline-danger,
.btn-group .btn-outline-danger,
.btn-group-sm .btn-outline-danger,
button.btn.btn-outline-danger {
    border: 2px solid var(--danger-color) !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--danger-color) !important;
    color: var(--danger-color) !important;
    background: transparent !important;
}

.btn-outline-danger:hover,
.btn-group .btn-outline-danger:hover,
button.btn.btn-outline-danger:hover {
    background: var(--danger-color) !important;
    color: white !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.btn-outline-warning {
    border: 2px solid var(--warning-color) !important;
    color: var(--warning-color) !important;
    background: transparent !important;
}

.btn-outline-warning:hover {
    background: var(--warning-color) !important;
    color: #1a202c !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.btn-outline-success {
    border: 2px solid var(--success-color) !important;
    color: var(--success-color) !important;
    background: transparent !important;
}

.btn-outline-success:hover {
    background: var(--success-color) !important;
    color: white !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.btn-outline-info,
.btn-group .btn-outline-info,
.btn-group-sm .btn-outline-info,
button.btn.btn-outline-info {
    border: 2px solid var(--info-color) !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: var(--info-color) !important;
    color: var(--info-color) !important;
    background: transparent !important;
}

.btn-outline-info:hover,
.btn-group .btn-outline-info:hover,
button.btn.btn-outline-info:hover {
    background: var(--info-color) !important;
    color: white !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.btn-sm {
    padding: 0.375rem 0.75rem !important;
    font-size: var(--font-size-sm) !important;
}

/* Formularios modernos */
.form-control {
    border: 2px solid #e2e8f0 !important;
    border-radius: var(--border-radius-sm) !important;
    padding: 0.75rem 1rem !important;
    transition: var(--transition) !important;
    font-size: var(--font-size-base);
    background-color: var(--bg-light);
}

.form-control:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(44, 82, 130, 0.1) !important;
    outline: none !important;
}

.form-select {
    border: 2px solid #e2e8f0 !important;
    border-radius: var(--border-radius-sm) !important;
    padding: 0.75rem 1rem !important;
    transition: var(--transition) !important;
    background-color: var(--bg-light);
}

.form-select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(44, 82, 130, 0.1) !important;
    outline: none !important;
}

.form-label {
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 0.5rem !important;
}

/* Tablas modernas */
.table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.table thead th {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    border: none !important;
    font-weight: 600 !important;
    color: #374151 !important;
    padding: 1rem !important;
    text-transform: uppercase;
    font-size: var(--font-size-sm);
    letter-spacing: 0.05em;
}

.table tbody tr {
    transition: var(--transition) !important;
    border: none !important;
}

.table tbody tr:hover {
    background-color: #f8f9fa !important;
    transform: scale(1.01);
}

.table tbody td {
    padding: 1rem !important;
    border-color: #f1f5f9 !important;
    vertical-align: middle !important;
}

.table-responsive {
    border-radius: var(--border-radius) !important;
    overflow: hidden;
}

/* Badges modernos */
.badge {
    font-weight: 500 !important;
    padding: 0.5rem 0.875rem !important;
    border-radius: 9999px !important;
    font-size: 0.75rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bg-primary {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light)) !important;
}

.bg-success {
    background: linear-gradient(135deg, var(--success-color), #48bb78) !important;
}

.bg-warning {
    background: linear-gradient(135deg, var(--warning-color), #ecc94b) !important;
}

.bg-danger {
    background: linear-gradient(135deg, var(--danger-color), #f56565) !important;
}

.bg-info {
    background: linear-gradient(135deg, var(--info-color), #63b3ed) !important;
}

.bg-secondary {
    background: linear-gradient(135deg, var(--secondary-color), #6b7280) !important;
}

/* Navegación */
.navbar {
    box-shadow: var(--shadow) !important;
    border: none !important;
    padding: 1rem 0 !important;
}

.navbar-brand {
    font-weight: 700 !important;
    font-size: var(--font-size-xl) !important;
    color: var(--primary-dark) !important;
}

.nav-link {
    font-weight: 500 !important;
    transition: var(--transition) !important;
    border-radius: var(--border-radius-sm) !important;
    padding: 0.5rem 1rem !important;
    margin: 0 0.25rem !important;
}

.nav-link:hover {
    background-color: rgba(44, 82, 130, 0.1) !important;
    transform: translateY(-1px);
}

.dropdown-menu {
    border: none !important;
    box-shadow: var(--shadow-lg) !important;
    border-radius: var(--border-radius) !important;
    padding: 0.5rem !important;
    margin-top: 0.5rem !important;
}

.dropdown-item {
    border-radius: var(--border-radius-sm) !important;
    padding: 0.75rem 1rem !important;
    margin: 0.125rem 0 !important;
    transition: var(--transition) !important;
    font-weight: 500;
}

.dropdown-item:hover {
    background-color: rgba(44, 82, 130, 0.1) !important;
    color: var(--primary-dark) !important;
    transform: translateX(4px);
}

/* Sidebar */
.sidebar {
    background: linear-gradient(180deg, #f8f9fa 0%, #e9ecef 100%) !important;
    box-shadow: var(--shadow) !important;
}

.sidebar .nav-link {
    color: #374151 !important;
    margin: 0.25rem 0 !important;
    border-radius: var(--border-radius-sm) !important;
}

.sidebar .nav-link:hover {
    background-color: rgba(44, 82, 130, 0.1) !important;
    color: var(--primary-dark) !important;
    transform: translateX(4px);
}

.sidebar .nav-link.active {
    background-color: var(--primary-color) !important;
    color: white !important;
}

/* Paginación */
.pagination {
    gap: 0.25rem;
}

.page-link {
    border: none !important;
    border-radius: var(--border-radius-sm) !important;
    padding: 0.75rem 1rem !important;
    margin: 0 !important;
    transition: var(--transition) !important;
    color: var(--primary-color) !important;
    font-weight: 500;
}

.page-link:hover {
    background-color: rgba(44, 82, 130, 0.1) !important;
    color: var(--primary-dark) !important;
    transform: translateY(-1px);
}

.page-item.active .page-link {
    background-color: var(--primary-color) !important;
    color: white !important;
    box-shadow: var(--shadow) !important;
}

/* Alertas */
.alert {
    border: none !important;
    border-radius: var(--border-radius) !important;
    padding: 1rem 1.5rem !important;
    font-weight: 500;
    box-shadow: var(--shadow) !important;
}

/* Modales */
.modal-content {
    border: none !important;
    border-radius: var(--border-radius) !important;
    box-shadow: var(--shadow-lg) !important;
}

.modal-header {
    border-bottom: 2px solid #f1f5f9 !important;
    padding: 1.5rem !important;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
}

.modal-body {
    padding: 1.5rem !important;
}

.modal-footer {
    border-top: 2px solid #f1f5f9 !important;
    padding: 1.5rem !important;
    background-color: #f8f9fa !important;
}

.modal-title {
    font-weight: 600 !important;
    color: var(--primary-dark) !important;
}

/* Iconos */
.bi {
    vertical-align: -0.125em;
}

/* Utilidades */
.text-muted {
    color: #6b7280 !important;
}

.border-bottom {
    border-bottom: 2px solid #e5e7eb !important;
}

/* Animaciones */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.5s ease-out;
}

/* Estados de carga */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Responsive mejoras */
@media (max-width: 768px) {
    .card {
        margin: 0.5rem !important;
    }

    .table-responsive {
        font-size: var(--font-size-sm);
    }

    .btn {
        padding: 0.5rem 1rem !important;
    }
}

/* Dark mode support (preparación futura) */
@media (prefers-color-scheme: dark) {
    :root {
        --bg-color: #1a202c;
        --bg-light: #2d3748;
        --text-color: #f7fafc;
    }
}

/* Print styles */
@media print {
    .btn,
    .sidebar,
    .navbar {
        display: none !important;
    }

    .card {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
    }
}

/* Template search and selection */
.template-search-container {
    position: relative;
}

.template-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ced4da;
    border-top: none;
    max-height: 250px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
}

.template-dropdown-item {
    padding: 10px 12px;
    cursor: pointer;
    border-bottom: 1px solid #f1f3f4;
    transition: var(--transition-fast);
}

.template-dropdown-item:hover {
    background-color: #f8f9fa;
}

.selected-template-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px 8px 16px;
    background: #e7f3ff;
    border-radius: 20px;
    margin-right: 8px;
    margin-bottom: 8px;
    transition: var(--transition-fast);
}

.selected-template-badge:hover {
    background: #d0e7ff;
}

.selected-template-badge .template-name {
    font-weight: 500;
    color: #0a58ca;
    font-size: 0.9em;
}

.selected-template-badge .template-info {
    font-size: 0.75em;
    color: #6c757d;
    margin-left: 4px;
}

.selected-template-badge .btn-remove {
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    padding: 0;
    margin: 0;
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
    font-size: 14px;
    line-height: 1;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.selected-template-badge .btn-remove:hover {
    color: #dc3545;
    transform: scale(1.2);
}

.selected-template-badge .btn-remove:active {
    transform: scale(1);
}
/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/workorder.css ***!
  \********************************************************************************************************************/
/* Estilos para la vista de Orden de Trabajo */

/* Timeline/Cronología */
.timeline {
    position: relative;
    padding-left: 20px;
}

.timeline-item {
    position: relative;
    padding-bottom: 1rem;
    border-left: 2px solid #dee2e6;
    padding-left: 20px;
}

.timeline-item:last-child {
    border-left: none;
}

.timeline-item > i {
    position: absolute;
    left: -8px;
    background: white;
    padding: 2px;
}


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