/*!***********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/accessibility/variables.css ***!
  \***********************************************************************************************************************************************************************************************************************************************/
/* 1. Taille — scale :root en % (Bootstrap/rem scale proportionnellement) */
:root { font-size: var(--a11y-font-size-pct, 100%); }
/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/accessibility/global.css ***!
  \********************************************************************************************************************************************************************************************************************************************/
/* 2. Police — garde data-a11y-font évite d'écraser Font Awesome au repos
   :not() exclut les éléments portant des classes FA quel que soit le mode */
html[data-a11y-font] body,
html[data-a11y-font] body *:not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fa-solid):not(.fa-regular):not(.fa-brands) {
    font-family: var(--a11y-font-family) !important;
}

/* 3a. Fond — body uniquement (nav/footer conservent leur couleur Bootstrap = séparation visuelle) */
body {
    background-color: var(--a11y-bg, initial);
}

/* 3b. Couleur du texte — site entier incluant nav et footer
   Garde data-a11y-color : inactif par défaut, activé uniquement quand une couleur est choisie.
   Même périmètre que police, interligne et espacements.
   !important nécessaire : Bootstrap fixe la couleur sur .nav-link, .btn, td, thead… */
html[data-a11y-color] body,
html[data-a11y-color] body *:not(.a11y-panel):not(.a11y-panel *) {
    color: var(--a11y-color) !important;
}

/* 4. Interligne — !important nécessaire (Bootstrap fixe line-height sur .btn, nav…) */
p, li, dt, dd, blockquote, figcaption, caption,
h1, h2, h3, h4, h5, h6,
.nav-link, .dropdown-item, label, legend, td, th {
    line-height: var(--a11y-line-height, inherit) !important;
}

/* 5. Espacement lettres — WCAG 1.4.12
   Garde data-a11y-letter-spacing : évite d'écraser la valeur `normal`
   Bootstrap quand aucun espacement n'est sélectionné. */
html[data-a11y-letter-spacing] p,
html[data-a11y-letter-spacing] li,
html[data-a11y-letter-spacing] h1, html[data-a11y-letter-spacing] h2,
html[data-a11y-letter-spacing] h3, html[data-a11y-letter-spacing] h4,
html[data-a11y-letter-spacing] h5, html[data-a11y-letter-spacing] h6,
html[data-a11y-letter-spacing] a,
html[data-a11y-letter-spacing] .nav-link,
html[data-a11y-letter-spacing] .dropdown-item,
html[data-a11y-letter-spacing] label, html[data-a11y-letter-spacing] td,
html[data-a11y-letter-spacing] th {
    letter-spacing: var(--a11y-letter-spacing) !important;
}

/* 6. Espacement mots — WCAG 1.4.12 */
html[data-a11y-word-spacing] p,
html[data-a11y-word-spacing] li,
html[data-a11y-word-spacing] h1, html[data-a11y-word-spacing] h2,
html[data-a11y-word-spacing] h3, html[data-a11y-word-spacing] h4,
html[data-a11y-word-spacing] h5, html[data-a11y-word-spacing] h6,
html[data-a11y-word-spacing] a,
html[data-a11y-word-spacing] .nav-link,
html[data-a11y-word-spacing] .dropdown-item,
html[data-a11y-word-spacing] label, html[data-a11y-word-spacing] td,
html[data-a11y-word-spacing] th {
    word-spacing: var(--a11y-word-spacing) !important;
}

/* 7. Espacement paragraphes — WCAG 1.4.12
   Garde obligatoire : sans elle, margin-bottom: initial écrase la marge
   Bootstrap des <p> même quand l'utilisateur n'a rien changé. */
html[data-a11y-paragraph-spacing] p {
    margin-bottom: var(--a11y-paragraph-spacing) !important;
}

/* 8. Alignement — contenu uniquement (nav et boutons exclus intentionnellement) */
main p, main li, main h1, main h2, main h3, main h4, main h5, main h6,
main td, main th, main blockquote, main figcaption,
article p, article li, section p, section li {
    text-align: var(--a11y-text-align, initial);
}

.btn_accessibility{

    background-color: transparent!important;
    border-color: #6c757d!important;
}

.btn_accessibility_danger{

    background-color: transparent!important;
    border-color: red!important;

}

.btn_accessibility_danger:hover{

    background-color: red!important;
    color: white!important;
    border-color: red!important;
    
}

/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/accessibility/overflow.css ***!
  \**********************************************************************************************************************************************************************************************************************************************/
/* ═══════════════════════════════════════════════════════════════════════════
   10. WCAG 1.4.4 / 1.4.12 — Résistance au débordement et redimensionnement
   Empêche le texte de sortir de son conteneur quand la taille, la police
   ou l'espacement augmentent. Trois niveaux de garde :
   • Toujours actif — règles non intrusives (overflow-wrap, médias)
   • html[data-a11y-active] — dès qu'un paramètre diffère du défaut
   • html[data-a11y-fontsize] — spécifique au zoom texte (navbar)
   ═══════════════════════════════════════════════════════════════════════════ */

/* 10a. Retour à la ligne sur mots longs — toujours actif, non intrusif.
   N'affecte la mise en page qu'en cas de débordement réel. */
*, *::before, *::after {
    overflow-wrap: break-word;
}

/* 10b. Médias — jamais plus larges que leur parent */
img, video, iframe, embed, object, svg {
    max-width: 100%;
    height: auto;
}

/* 10c. Boutons — Bootstrap force white-space: nowrap ; on autorise le retour
   à la ligne pour les textes plus grands ou avec espacement augmenté. */
.btn {
    white-space: normal;
}

/* ─── Actif dès qu'un paramètre est modifié (data-a11y-active) ─────────────── */

/* 10d. Flex containers — wrapping autorisé.
   Sans cela, les flex items débordent du viewport quand la taille augmente. */
html[data-a11y-active] .d-flex img,
html[data-a11y-active] .row img,
html[data-a11y-active] [class*="col-"] img {
    max-width: 100%;
    width: auto;
    height: auto;
    flex-shrink: 1;
}

html[data-a11y-active] .hstack,
html[data-a11y-active] .btn-toolbar,
html[data-a11y-active] .input-group,
html[data-a11y-active] .btn-toolbar {
    flex-wrap: wrap;
}

/* 10e. Flex items — peuvent rétrécir en dessous de leur taille intrinsèque.
   Par défaut min-width: auto empêche le rétrécissement. */
html[data-a11y-active] .d-flex:not(.navbar):not(.navbar-nav) > :not(img) {
    flex: 1 1 0;
    min-width: 0;
}
html[data-a11y-active] .hstack > * {
    min-width: 0;
}

/* 10f. Éléments à hauteur fixe → auto quand le contenu peut grandir. */
html[data-a11y-active] .card,
html[data-a11y-active] .card-body,
html[data-a11y-active] .card-header,
html[data-a11y-active] .card-footer,
html[data-a11y-active] .list-group-item,
html[data-a11y-active] .badge,
html[data-a11y-active] .alert {
    height: auto !important;
}

/* 10g. Tables — scroll horizontal plutôt que débordement de page. */
html[data-a11y-active] main table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
}

/* ─── Actif uniquement si le zoom texte est modifié (data-a11y-fontsize) ──── */

/* 10h. Navbar — se replie en colonne si la taille de police augmente.
   Évite que les liens de navigation débordent horizontalement. */
/* WCAG 1.4.4 — Navbar adaptable sans créer d'espace inutile */
html[data-a11y-fontsize] .navbar {
    flex-wrap: nowrap;
}

html[data-a11y-fontsize] .navbar-nav {
    flex-wrap: nowrap;
}

html[data-a11y-fontsize] .navbar-collapse {
    flex-basis: auto;
}

/* Les liens restent lisibles mais ne forcent pas une nouvelle ligne */
html[data-a11y-fontsize] .navbar-nav .nav-link {
    white-space: normal;
}


/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/accessibility/contrast.css ***!
  \**********************************************************************************************************************************************************************************************************************************************/
/* 9. Mode haut contraste (jour / nuit)
   La couleur du texte est gérée par la règle 3b (data-a11y-color actif simultanément
   — dayMode/nightMode set toujours les deux). Seul le fond est forcé ici.
   La nav, le header et le footer conservent leur couleur Bootstrap → séparation
   visuelle structurelle préservée (conforme WCAG 1.3.1 / 1.4.1). */

/* 9a. Fond : body + composants Bootstrap de contenu
   nav / header / footer intentionnellement exclus → séparation visuelle conservée */
[data-a11y-high-contrast="1"] body,
[data-a11y-high-contrast="1"] main,
[data-a11y-high-contrast="1"] article,
[data-a11y-high-contrast="1"] .card,
[data-a11y-high-contrast="1"] .card-body,
[data-a11y-high-contrast="1"] .card-header,
[data-a11y-high-contrast="1"] .card-footer,
[data-a11y-high-contrast="1"] .modal-content,
[data-a11y-high-contrast="1"] .modal-header,
[data-a11y-high-contrast="1"] .modal-body,
[data-a11y-high-contrast="1"] .modal-footer,
[data-a11y-high-contrast="1"] .dropdown-menu,
[data-a11y-high-contrast="1"] .form-control,
[data-a11y-high-contrast="1"] .form-select,
[data-a11y-high-contrast="1"] .input-group-text,
[data-a11y-high-contrast="1"] .list-group-item,
[data-a11y-high-contrast="1"] .table,
[data-a11y-high-contrast="1"] .table > :not(caption) > * > * {
    background-color: var(--a11y-bg) !important;
}

/* 9b. Séparation visuelle structurelle : bordures entre zones de navigation et contenu */
[data-a11y-high-contrast="1"] header,
[data-a11y-high-contrast="1"] nav.navbar,
[data-a11y-high-contrast="1"] footer {
    border-bottom: 2px solid currentColor !important;
    border-top:    2px solid currentColor !important;
}

/* 9c. Alertes et badges : contour pour visibilité sans fond uniforme */
[data-a11y-high-contrast="1"] .alert,
[data-a11y-high-contrast="1"] .badge {
    outline: 2px solid currentColor;
}

/*!******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/accessibility/color-Daltonisme.css ***!
  \******************************************************************************************************************************************************************************************************************************************************/
@layer accessibility-bundle{
/* =====================================================
   MODE DALTONIEN GLOBAL
===================================================== */


html[data-a11y-color-blind] {

    /* Variables par défaut */

    --a11y-primary: #0072B2;
    --a11y-success: #009E73;
    --a11y-danger: #D55E00;
    --a11y-warning: #F0E442;
    --a11y-info: #56B4E9;

}

/* =====================================================
   COLOR MAPPING GLOBAL
   Remplacement des couleurs problématiques
===================================================== */


html[data-a11y-color-blind] {


    /* Rouge problématique */
    --a11y-red-accessible:#D55E00;


    /* Vert problématique */
    --a11y-green-accessible:#009E73;


    /* Bleu problématique */
    --a11y-blue-accessible:#0072B2;


    /* Jaune problématique */
    --a11y-yellow-accessible:#F0E442;


    /* Violet problématique */
    --a11y-purple-accessible:#CC79A7;


    /* Orange problématique */
    --a11y-orange-accessible:#E69F00;


}


/* =====================================================
   PALETTES PAR TYPE DE DALTONISME
===================================================== */


/*
    Protanopie
    Difficulté avec les rouges
*/

html[data-a11y-color-blind="protanopia"] {

    --a11y-primary:#0072B2;
    --a11y-success:#009E73;
    --a11y-danger:#D55E00;
    --a11y-warning:#F0E442;
    --a11y-info:#56B4E9;
    --color--theme--dark: #001233;
    --color--text--primary: #0072B2;

    --a11y-red-accessible:#D55E00;

    --a11y-green-accessible:#009E73;

    --a11y-blue-accessible:#0072B2;

    --a11y-purple-accessible:#CC79A7;

    --a11y-yellow-accessible:#F0E442;

}


/*
    Deutéranopie
    Difficulté avec les verts
*/

html[data-a11y-color-blind="deuteranopia"] {

    --a11y-primary:#1B9E77;
    --a11y-success:#5E3C99;
    --a11y-danger:#E66100;
    --a11y-warning:#FDB863;
    --a11y-info:#80CDC1;
    --color--theme--dark: #0c1020 ;
    --color--text--primary: #1B9E77;

    --a11y-red-accessible:#E66100;

    --a11y-green-accessible:#1B9E77;

    --a11y-blue-accessible:#0072B2;

    --a11y-purple-accessible:#7570B3;

    --a11y-yellow-accessible:#FDB863;

}


/*
    Tritanopie
    Difficulté avec les bleus et jaunes
*/

html[data-a11y-color-blind="tritanopia"] {

    --a11y-primary:#009E73;
    --a11y-success:#0072B2;
    --a11y-danger:#D55E00;
    --a11y-warning:#999999;
    --a11y-info:#CC79A7;
    --color--theme--dark: #140505;
    --color--text--primary: #009E73;

    --a11y-red-accessible:#D55E00;

    --a11y-green-accessible:#009E73;

    --a11y-blue-accessible:#0072B2;

    --a11y-yellow-accessible:#E69F00;

    --a11y-purple-accessible:#CC79A7;

}



/* =====================================================
   APPLICATION COULEURS BOOTSTRAP
===================================================== */


/* Boutons */

html[data-a11y-color-blind] .btn-primary {
    background-color:var(--a11y-primary)!important;
    border-color:var(--a11y-primary)!important;
}


html[data-a11y-color-blind] .btn-success {
    background-color:var(--a11y-success)!important;
    border-color:var(--a11y-success)!important;
}


html[data-a11y-color-blind] .btn-danger {
    background-color:var(--a11y-danger)!important;
    border-color:var(--a11y-danger)!important;
}


html[data-a11y-color-blind] .btn-warning {
    background-color:var(--a11y-warning)!important;
    border-color:var(--a11y-warning)!important;
}


html[data-a11y-color-blind] .btn-info {
    background-color:var(--a11y-info)!important;
    border-color:var(--a11y-info)!important;
}

html[data-a11y-color-blind] .btn-outline-primary {
    background-color:var(--a11y-primary)!important;
    border-color:var(--a11y-primary)!important;
    color:#ffff;
}

html[data-a11y-color-blind] .checkboxButton {
    background-color:var(--a11y-primary)!important;
    border-color:var(--a11y-primary)!important;
    color:#ffff;
    overflow: hidden;
    display: inline-block;
    font-size: 1rem;
}

html[data-a11y-color-blind] .bck--primary {
    background-color:var(--a11y-primary)!important;
    border-color:var(--a11y-primary)!important;
    color:#ffff;
}








/* Background */

html[data-a11y-color-blind] .bg-primary {
    background-color:var(--a11y-primary)!important;
}

html[data-a11y-color-blind] .bg-success {
    background-color:var(--a11y-success)!important;
}

html[data-a11y-color-blind] .bg-danger {
    background-color:var(--a11y-danger)!important;
}

html[data-a11y-color-blind] .bg-warning {
    background-color:var(--a11y-warning)!important;
}

html[data-a11y-color-blind] .bg-info {
    background-color:var(--a11y-info)!important;
}



/* Texte */

html[data-a11y-color-blind] .text-primary {
    color:var(--a11y-primary)!important;
}


html[data-a11y-color-blind] .text-success {
    color:var(--a11y-success)!important;
}

html[data-a11y-color-blind] .text-danger {
    color:var(--a11y-danger)!important;
}

html[data-a11y-color-blind] .text-warning {
    color:#8a6d00!important;
}

html[data-a11y-color-blind] .text-info {
    color:var(--a11y-info)!important;
}



/* Alert */

html[data-a11y-color-blind] .alert-primary,
html[data-a11y-color-blind] .alert-success,
html[data-a11y-color-blind] .alert-danger,
html[data-a11y-color-blind] .alert-warning,
html[data-a11y-color-blind] .alert-info {

    border-width:3px!important;

}


html[data-a11y-color-blind] .alert-success {

    background-color:var(--a11y-success)!important;
    border-color:var(--a11y-success)!important;
    color:white!important;

}


html[data-a11y-color-blind] .alert-danger {

    background-color:var(--a11y-danger)!important;
    border-color:var(--a11y-danger)!important;
    color:white!important;

}


html[data-a11y-color-blind] .alert-warning {

    background-color:var(--a11y-warning)!important;
    border-color:var(--a11y-warning)!important;

}


html[data-a11y-color-blind] .alert-info {

    background-color:var(--a11y-info)!important;
    border-color:var(--a11y-info)!important;

}



/* =====================================================
   DIFFERENCIATION SANS LA COULEUR
===================================================== */


/* Boutons */

html[data-a11y-color-blind] .btn {

    position:relative;
    border-width:2px!important;

}


html[data-a11y-color-blind] .btn-success {

    background-image:
    repeating-linear-gradient(
        45deg,
        transparent,
        transparent 5px,
        rgba(255,255,255,.45) 5px,
        rgba(255,255,255,.45) 10px
    );

}


html[data-a11y-color-blind] .btn-danger {

    background-image:
    radial-gradient(
        rgba(255,255,255,.85) 1.8px,
        transparent 2px
    );

    background-size:9px 9px;

}


html[data-a11y-color-blind] .btn-warning {

    background-image:
    repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 6px,
        rgba(0,0,0,.35) 6px,
        rgba(0,0,0,.35) 10px
    );

}


html[data-a11y-color-blind] .btn-info {

    background-image:
    linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);

    background-size:8px 8px;

}


html[data-a11y-color-blind] .btn-primary {

    background-image:
    repeating-linear-gradient(
        90deg,
        transparent,
        transparent 5px,
        rgba(255,255,255,.4) 5px,
        rgba(255,255,255,.4) 9px
    );

}



/* Liens */

html[data-a11y-color-blind] a {

    text-decoration:underline!important;
    text-decoration-thickness:2px;
    text-underline-offset:.2em;

}



/* Focus */

html[data-a11y-color-blind] *:focus-visible {

    outline:3px solid #000;
    outline-offset:3px;

}



/* Badge */

html[data-a11y-color-blind] .badge {

    border:2px solid currentColor;
    font-weight:bold;

}



/* Table */

html[data-a11y-color-blind] table td,
html[data-a11y-color-blind] table th {

    border:1px solid currentColor;

}



/* Cards */

html[data-a11y-color-blind] .card {

    border:2px solid currentColor;

}



/* Formulaires */

html[data-a11y-color-blind] .form-control,
html[data-a11y-color-blind] .form-select {

    border-width:2px;

}
}
/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/accessibility/panel.css ***!
  \*******************************************************************************************************************************************************************************************************************************************/
/* ── Panel UI ────────────────────────────────────────────────────────────── */
/* Le panel utilise des valeurs fixes (pas de CSS vars) pour rester lisible
   quelle que soit la configuration choisie par l'utilisateur. */
.a11y-panel {
    position: fixed;
    top: 70px;
    right: 15px;
    z-index: 9999;
    background:   #fff !important;
    color:        #212529 !important;
    border:       1px solid #adb5bd;
    border-radius: 8px;
    padding:      1rem 1.25rem;
    box-shadow:   0 4px 16px rgba(0,0,0,0.18);
    width:        425px;
    max-height:   calc(100vh - 90px);
    overflow-y:   auto;
    font-size:    0.875rem !important;
    font-family:  system-ui, -apple-system, sans-serif !important;
    line-height:  1.4 !important;
}

.a11y-panel__header {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    margin-bottom:   0.875rem;
    font-weight:     600;
    font-size:       0.95rem !important;
}

.a11y-row {
    display:       flex;
    align-items:   center;
    gap:           0.4rem;
    margin-bottom: 0.55rem;
    flex-wrap:     wrap;
}

.a11y-label {
    min-width:   130px;
    flex-shrink: 0;
    color:       #495057 !important;
    font-size:   0.8rem !important;
}

.a11y-value-badge {
    display:       inline-block;
    min-width:     3.5rem;
    text-align:    center;
    background:    #f1f3f5 !important;
    color:         #212529 !important;
    border-radius: 4px;
    padding:       0 0.35rem;
    font-size:     0.78rem !important;
    font-variant-numeric: tabular-nums;
    border:        1px solid #ced4da;
}

/* Range slider — WCAG 1.4.11 : contraste thumb ≥ 3:1 */
.a11y-range {
    flex:         1;
    min-width:    80px;
    accent-color: #0d6efd;
    cursor:       pointer;
    height:       1.2rem;
}

/* Focus visible — WCAG 2.4.7 + 1.4.11 */
.a11y-panel *:focus-visible {
    outline:        3px solid #0d6efd !important;
    outline-offset: 2px !important;
    border-radius:  2px;
}

/* Boutons — WCAG 1.4.11 : contraste bordure ≥ 3:1 sur fond blanc */
.a11y-panel .btn-outline-secondary {
    border-color: #6c757d !important;
    color:        #343a40 !important;
}
.a11y-panel .btn-outline-secondary:hover {
    background-color: #e9ecef !important;
    color:            #212529 !important;
}

.a11y-panel hr      { margin: 0.6rem 0; border-color: #dee2e6; }
.a11y-panel section { margin-bottom: 0; }

/* Badge WCAG 1.4.12 */
.a11y-wcag-badge {
    display:       inline-flex;
    align-items:   center;
    gap:           0.25rem;
    font-size:     0.7rem !important;
    font-weight:   600;
    color:         #0a3622 !important;
    background:    #d1e7dd !important;
    border:        1px solid #a3cfbb;
    border-radius: 4px;
    padding:       0.1rem 0.4rem;
}

.a11y-help-text {
    font-size: .7rem !important;
    color: #6c757d !important;
}

.a11y-row--spacing {
    margin-bottom: .6rem;
}

.colorblind-options,
.reading-options {
    display: flex;
    gap: 12px;
    margin-top: 10px;
}

.colorblind-option,
.reading-option {
    width: 85px;
    height: 85px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: transparent;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
}


.colorblind-option:hover,
.reading-option:hover {
    border-color: #888;
}

.reading-option.active,
.colorblind-option.active {
    border-color:#0072B2;
}


.colorblind-preview {
    width: 35px;
    height: 35px;
    border-radius: 50%;
}


/* Aperçus */

.default-preview {
    background: linear-gradient(
        135deg,
        #ffffff,
        #eeeeee
    );
    border: 1px solid #ccc;
}


.protanopia-preview {
    background: linear-gradient(
        135deg,
        #0072B2,
        #E69F00,
        #F0E442
    );
}


.deuteranopia-preview {
    background: linear-gradient(
        135deg,
        #0072B2,
        #D55E00,
        #CC79A7
    );
}


.tritanopia-preview {
    background: linear-gradient(
        135deg,
        #009E73,
        #D55E00,
        #CC79A7
    );
}

.easy-preview {
    background: linear-gradient(
        135deg,
        #ffffff,
        #dbeafe
    );
}


.dyslexia-preview {
    background: linear-gradient(
        135deg,
        #fef3c7,
        #fde68a
    );
}


.focus-preview {
    background: linear-gradient(
        135deg,
        #e5e7eb,
        #9ca3af
    );
}

.a11y-tabs {
    display:flex;
    gap:5px;
    margin-bottom:15px;
}


.a11y-tab {

    flex:1;

    border:none;
    background:#f1f1f1;

    padding:8px;

    cursor:pointer;

    border-radius:6px;

}


.a11y-tab.active {

    background:#0d6efd;
    color:white;

}


.a11y-tab-content {

    display:none;

}


.a11y-tab-content.active {

    display:block;

}
/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/accessibility/DayMode.css ***!
  \*********************************************************************************************************************************************************************************************************************************************/
@layer accessibility-bundle{
/* ==========================================================
   Dark theme variables
   ========================================================== */

html[data-a11y-theme="dark"] {
    --a11y-bg: #121212;
    --a11y-surface: #1e1e1e;
    --a11y-border: #3a3a3a;
    --a11y-text: #f4f4f4;
    --a11y-label: #f4f4f4;
    --a11y-panel: #121212;

    --a11y-scrollbar-track: #1e1e1e;
    --a11y-scrollbar-thumb: #666;

    --a11y-primary: #0d6efd;
    --a11y-primary-text: #ffffff;

    --a11y-active-bg: #f4f4f4;
    --a11y-active-text: #121212;

    --bs-light-rgb: #121212;
    --color--theme--dark: #121212;
}


/* ==========================================================
   Scrollbar
   ========================================================== */

/* Firefox */
html[data-a11y-theme="dark"] * {
    scrollbar-color: var(--a11y-scrollbar-thumb) var(--a11y-scrollbar-track);
}

/* Chromium */
html[data-a11y-theme="dark"] *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html[data-a11y-theme="dark"] *::-webkit-scrollbar-track {
    background: var(--a11y-scrollbar-track);
}

html[data-a11y-theme="dark"] *::-webkit-scrollbar-thumb {
    background: var(--a11y-scrollbar-thumb);
    border-radius: 8px;
}


/* ==========================================================
   Global text
   ========================================================== */

html[data-a11y-theme="dark"] :is(
    body,
    textarea,
    option,
    table,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    td,
    b,
    a,
    .card-title,
    .nav-link,
    .cs-user-menu__name,
    .a11y-label,
    .text-light,
    .text-muted,
    .alert
) {
    color: var(--a11y-text) !important;
}


/* ==========================================================
   Main background
   ========================================================== */

html[data-a11y-theme="dark"] :is(
    body,
    textarea,
    option,
    td,
    .tab,
    .panel-heading,
    .a11y-panel,
    .a11y-tab,
    .cs-sidebar,
    .cs-user-menu__panel,
    .cs-header,
    .order-by-form,
    .page-link,
    .accordion-button,
    .accordion-body,
    .cs-card,
    .input-group-text
) {
    background: var(--a11y-bg) !important;
    color: var(--a11y-text) !important;
}


/* ==========================================================
   Surface
   ========================================================== */

html[data-a11y-theme="dark"] :is(
    .card,
    .page-heading,
    .form-control,
    .form-select,
    .modal-content,
    .dropdown-menu
) {
    background: var(--a11y-surface) !important;
    color: var(--a11y-text) !important;
    border-color: var(--a11y-border) !important;
}


/* ==========================================================
   Borders
   ========================================================== */

html[data-a11y-theme="dark"] :is(
    th,
    td
) {
    border-color: var(--a11y-border);
}

html[data-a11y-theme="dark"] .badge {
    border: 1px solid var(--a11y-scrollbar-thumb);
}


/* ==========================================================
   Buttons / Tabs
   ========================================================== */

html[data-a11y-theme="dark"] .a11y-tab.active {
    background: var(--a11y-primary) !important;
    color: var(--a11y-primary-text) !important;
}

html[data-a11y-theme="dark"] .tablinks {
    background: var(--a11y-bg) !important;
    color: var(--a11y-text) !important;
}

html[data-a11y-theme="dark"] .tablinks.active {
    background: var(--a11y-active-bg) !important;
    color: var(--a11y-active-text) !important;
}

html[data-a11y-theme="dark"] :is(
    .btn-sm,
    .btn-outline-secondary
) {
    color: white !important;
    border-color: var(--a11y-scrollbar-thumb) !important;
}


/* ==========================================================
   Bootstrap overrides
   ========================================================== */

html[data-a11y-theme="dark"] .bs-light {
    --bs-bg-opacity: 0;
    background: var(--a11y-bg) !important;
    color: var(--a11y-text) !important;
}

html[data-a11y-theme="dark"] .cs-lang-btn {
    color: var(--a11y-bg) !important;
}

html[data-a11y-theme="dark"] .cs-lang-btn--active {
    color: #0b70c3 !important;
}

html[data-a11y-theme="dark"] footer,
html[data-a11y-theme="dark"] nav {
    --color--theme--dark: rgb(4, 10, 39);
}

}
/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!../postlab-accessibility-bundle/assets/styles/app.css ***!
  \***************************************************************************************************************************************************************************************************************************/



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