/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* Import des polices */

/* Police pour le nom/prénom */
@font-face {
    font-family: 'BackToBlack';
    src: url(/build/fonts/back_to_black.f9c730cd.ttf) format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Police pour "Développeur Web" */
@font-face {
    font-family: 'GreatDay';
    src: url(/build/fonts/great_day.605ae088.ttf) format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    background-color: #D2D7DF;
    color: #353535;
}
/* Étire le contenu pour forcer le footer à rester en bas */
html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

/* Conteneur principal qui occupe tout l'espace disponible */
.wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Header */
.header {
    background-color: #FFFFFF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 
    position: relative;
}

.header-name {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
    color: #353535; 
    font-family: 'BackToBlack', sans-serif;
    text-align: left;
}

.header-title {
    font-size: 1.5rem;
    color: #353535; 
    font-family: 'GreatDay', sans-serif;
    text-align: left;
    display: inline-block;
    white-space: nowrap;


}
@media (max-width: 991px) {
    .header{
        flex-wrap: wrap;
        position: relative;
    }
    .header-name, .header-title {
        width: 100%; 
        text-align: center; 
    }
    .navbar-toggler {
        display: block; 
        border: 1px solid #353535;
        background-color: transparent;
        position: absolute;
        top: 30px;
        right: 15px;
        border-radius: 5px;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    .navbar-toggler:focus {
        transform: scale(1.1); 
    }
    .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3E%3Cpath stroke=%27rgba%2853, 53, 53, 1%29%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3E%3C/svg%3E");
    }
    .menu-container {
        color: #353535;
        text-decoration: none;
        font-size: 1.2rem;
        padding: 10px;
        border-radius: 5px;
        width: 100%;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease;
    }
    .menu-container a:hover::after {
        width: 100%; 
    }
    .navbar-container {
        position: relative; 
        width: 100%; 
    }
    .navbar-collapse {
        display: none; 
        z-index: 1000;
        background-color: #f5f5f5; 
        border: none; 
        border-radius: 10px;
        padding: 10px;
        gap: 10px;
        transition: transform 0.3s ease-in-out, opacity 0.3s ease;
        opacity: 0;
        width: 100%;
    }
    @keyframes slideIn {
        0% {
            transform: translateY(-20%);
            opacity: 0;
        }
        100% {
            transform: translateY(0);
            opacity: 1;
        }
    }
    @keyframes borderGrow {
        0% {
            border-color: transparent; 
        }
        50% {
            border-color: transparent; 
        }
        100% {
            border-color: #353535; 
        }
    }

    .navbar-collapse.show {
        display: flex; 
        transform: translateY(0);
        opacity: 1;
        animation: slideIn 0.3s ease, borderGrow 1s ease forwards; 
        z-index: 1000;
        flex-direction: column; 
        align-items: center;
        border: 2px solid transparent;
        animation: borderGrow 1s ease;
    }

    .navbar a {
        color: #353535;
        text-decoration: none;
        font-size: 1.2rem;
        padding: 12px 20px;
        text-align: center;
        margin: 5px 0;
        background-color: #FFFFFF;
        border-radius: 5px; 
        transition: background-color 0.3s ease, color 0.3s ease;
    }
    .navbar a:hover {
        color: #242424;
        background-color: #e7e5e5;
    }

    .navbar a:last-child {
        border-bottom: none; 
    }
}

@media (min-width: 992px) {
    .navbar-toggler {
        display: none;
    }
    .menu-container {
        display: flex; 
        flex-direction: row;
        gap: 2rem; 
        align-items: center; 
        transition: background-color 0.3s ease, color 0.3s ease;
    }
}
/* Barre de navigation */
.navbar {
    display: flex;
    gap: 2rem;
    transition: transform 0.3s ease, opacity 0.3s ease;
    justify-content: space-between;
}

.navbar a {
    color: #353535; 
    text-decoration: none;
    font-size: 1.1rem;
    position: relative;
    transition: color 0.3s ease;
    margin-right: 1rem;
}

/* Barre animée sous les liens */
.navbar a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px; 
    width: 0;
    height: 2px;
    background-color: #353535;
    transition: width 0.3s ease;
}

.navbar a:hover::after {
    width: 100%;
}

.main-content {
    padding: 2rem;
    flex: 1;

}

/*Style footer */
.footer {
    background-color: #353535;
    color: #ffffff;
    padding: 20px;
    text-align: center;
}

.footer a {
    color: #ffffff;
    text-decoration: none;
    margin: 0 10px;
    position: relative;
    transition: color 0.3s ease, background-color 0.3s ease;
}

.footer a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px; 
    width: 0;
    height: 2px;
    background-color: #ffffff; 
    transition: width 0.3s ease;
}

.footer a:hover::after {
    width: 100%;
}
.footer-nav,
.social-links {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.footer-nav li,
.social-links li {
    display: inline-block;
    margin: 0 5px;
}

@media (max-width: 768px) {
    .footer-nav,
    .social-links {
        display: block; 
        text-align: center;
    }

    .footer-nav li,
    .social-links li {
        margin: 10px 0; 
    }
}

/* Conteneur général */
.sections {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
/*Style pour l'image dans la section projets sur l'accueil */
.project-image {
    display: block;
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: 0 auto;
    border-radius: 12px;
    object-fit: cover;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.project-image:hover {
    transform: scale(1.02);
}

/* Style de base pour toutes les sections */
.section {
    position: relative;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;  /* Masque le contenu qui dépasse avant le hover */
    transition: max-height 1.5s ease; /* Transition fluide pour déplier la section */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    cursor: pointer;
    height: auto;
    max-height: 200px; /* Taille fixe avant le hover, tu peux ajuster cette valeur */
    text-align: center;
    z-index: 10;
}
.section h2 {
    font-family: 'GreatDay';
    font-style: italic;
}
.section p, div{
    font-family: 'Baskerville';
    font-style: italic;
}

/* Aperçu par défaut */
.section .preview {
    font-style: italic;
    color: #666;
    opacity: 1;
    transition: opacity 1s ease;
}

/* Contenu caché par défaut */
.section .content {
    display: block;
    opacity: 0;
    margin-top: 20px;
    transition: opacity 1.5s ease;
    visibility: hidden;
}

/* Hover : déplier la section et afficher le contenu */
.section:hover {
    max-height: 1000px; /* Permet à la section de s'étirer en fonction du contenu */
}

.section:hover .preview {
    opacity: 0; /* Masque l'aperçu */
}

.section:hover .content {
    opacity: 1;
    visibility: visible;
}

/* Animation de contour */
.section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid transparent;
    border-radius: 5px;
    transition: all 1.5s ease;
    z-index: 1;
}

.section:hover::before {
    border-color: #353535;
}
.section a {
    position: relative;
    z-index: 2; /* Assurez-vous que les liens sont au-dessus des pseudo-éléments */
    pointer-events: auto; /* Assurez-vous que les événements de pointeur sont activés */

    display: inline-block;  /* Permet d’appliquer padding/marges sans casser la mise en page */
    background-color: #353535;
    color: #fff;
    padding: 10px 15px;
    border-radius: 5px;
    text-decoration: none; /* Supprime le soulignement */
    font-size: 16px;
    transition: background-color 0.3s ease;
    margin-top: 15px;
}
.section a:hover {
    background-color: #555;
}

/* Conteneur autour de l'image */
.presentation .selfie-container {
    position: relative;
    display: inline-block;
    overflow: hidden; /* Cache l'effet de bord */
}

/* Style pour l'image */
.presentation .selfie {
    max-width: 200px;
    max-height: 200px;
    border-radius: 50%;
    object-fit: cover;
    transition: all 0.6s ease; /* Transitions sur toutes les propriétés */
}



/* Animation du fondu et contour pour l'effet de survol */
.presentation .selfie-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.3); /* Couleur de fondu */
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.3s ease; /* Effet de fondu */
}

.presentation .selfie-container:hover::after {
    opacity: 1; /* Le fondu devient visible au survol */
}

/* Responsive Design */
@media (max-width: 768px) {
    .section {
        padding: 15px;
    }

    .section.active {
        max-height: none;
    }

    .section.active .preview {
        opacity: 0;
    }

    .section.active .content {
        opacity: 1;
        visibility: visible;
    }
}
/* page contact */
.section-contact {
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 800px; /* Un peu plus étroit que 1200px pour bien cadrer le formulaire */
    margin: 40px auto;
    padding: 30px;
    text-align: left;
    border: 2px solid #353535;
}

.section-contact h1 {
    font-family: 'GreatDay';
    text-align: center;
    font-size: 30px;
    margin-bottom: 20px;
    color: #353535;
}

/* Style des champs du formulaire */
.section-contact form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Style des champs de texte */
.section-contact input,
.section-contact textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
}

/* Style du bouton */
.button-wrapper {
    text-align: center;
    margin: auto;
}
.section-contact button, .btn btn-primary {
    background-color: #353535;
    color: #fff;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.section-contact button:hover {
    background-color: #555;
    border: 2px solid black;
}

/* Page Projets */
.page-app_realisations .main-content {
    flex: unset;
    padding: 0 !important;
}

.page-projets {
    padding: 2rem;
    max-width: 100%;
    overflow-x: hidden;
    position: relative;
}

.page-projets h1 {
    font-family: 'BackToBlack', sans-serif;
    font-size: 6rem;
    margin-bottom: 1rem;
}
.page-projets h2 {
    font-family: 'GreatDay', sans-serif;
    font-style: italic;
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.project-slider-wrapper {
    position: relative;
    width: 80vw;
    overflow: hidden;
    margin: 0 auto;
}

.project-slider {
    display: flex;
    transition: transform 0.5s ease, opacity 0.5s ease;
    width: 100%;
}

.project-slide {
    flex: 0 0 100vw;
    max-width: 80vw;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}
.project-slide.active {
    opacity: 1;
}

.project-description {
    font-family: 'Baskerville';
    font-size: 1.2rem;
    background: rgba(59, 58, 58, 0.075);
    padding: 1rem 2rem;
    margin: 1rem auto;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    max-width: 800px;
}
.page-app_realisations .carousel-item img {
    border-radius: 12px;
}


.project-nav-zone {
    position: fixed;
    top: 60%;
    transform: translateY(-50%);
    width: 4vw;
    height: 40vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(53, 53, 53, 0.1);
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
    cursor: pointer;
    z-index: 20;
}

.project-nav-zone:hover {
    background-color: rgba(53, 53, 53, 0.3);
    backdrop-filter: blur(2px);
}

.project-nav-zone span {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-size: 100% 100%;
    opacity: 0.6;
}


/* Bord arrondi à gauche */
.project-nav-zone.left-zone {
    left: 0;
    border-radius: 0 100px 100px 0;
}

/* Bord arrondi à droite */
.project-nav-zone.right-zone {
    right: 0;
    border-radius: 100px 0 0 100px;
}
.project-dots {
    text-align: center;
    margin-top: 1rem;
}
.project-dots button {
    width: 12px;
    height: 12px;
    margin: 0 5px;
    border-radius: 50%;
    border: none;
    background-color: #4b4a4a;
    transition: background-color 0.3s;
}
.project-dots button.active {
    background-color: #fcfbfb;
}
.page-app_realisations .carousel-control-prev,
.page-app_realisations .carousel-control-next {
    filter: brightness(0) saturate(100%) drop-shadow(0 0 2px black);
}

@media (max-width: 768px) {
  html, body {
    overflow-x: hidden;
    padding: 0;
    margin: 0;
    width: 100vw;
  }

  .page-app_realisations .wrapper,
  .page-app_realisations .main-content {
    width: 100vw;
    max-width: 100vw;
    overflow-x: visible;
    padding: 0 !important;
  }

  .page-app_realisations .page-projets h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-align: center;
  }

  .page-app_realisations .page-projets {
    padding: 1rem;
    max-width: 100vw;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-app_realisations .project-slider-wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow: visible !important;
    margin: 0 auto;
  }

  .page-app_realisations .project-slider {
    display: flex;
    flex-wrap: nowrap;
    transition: transform 0.5s ease;
    overflow: visible;
  }

  .page-app_realisations .project-slide {
    flex: 0 0 100vw;
    max-width: 100vw;
    width: 100vw;
    overflow: visible;
    box-sizing: border-box;
  }

  .page-app_realisations .carousel-inner {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
  }

  .page-app_realisations .carousel-item {
    flex: 0 0 100%;
    max-width: 100%;
    position: relative;
    text-align: center;
  }

  .page-app_realisations .carousel-item img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 12px;

  }

  .page-app_realisations .project-description {
    padding: 1rem;
    font-size: 0.95rem;
    width: 95vw;
    margin: 0 auto 1rem;
    text-align: center;
    word-break: break-word;
    background-color: rgba(59, 58, 58, 0.05);
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    border-radius: 12px;
  }

  .page-app_realisations .project-nav-zone {
    width: 20vw;
    height: 25vh;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
  }

  .page-app_realisations .left-zone {
    left: 0;
    width: 15vw;
  }

  .page-app_realisations .right-zone {
    right: 0;
    width: 15vw;
  }

  .page-app_realisations .carousel-control-prev,
  .page-app_realisations .carousel-control-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    filter: brightness(0) saturate(100%) drop-shadow(0 0 2px black);
  }

  .page-app_realisations .carousel-control-next {
    right: 5px !important;
  }

  .page-app_realisations .carousel-control-prev {
    left: 5px !important;
  }

  .page-app_realisations .carousel-control-prev-icon,
  .page-app_realisations .carousel-control-next-icon {
    width: 2rem;
    height: 2rem;
    background-size: contain;
  }

  .page-app_realisations .project-dots {
    margin-bottom: 2rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSx1QkFBdUI7O0FBRXZCLDhCQUE4QjtBQUM5QjtJQUNJLDBCQUEwQjtJQUMxQiwrREFBeUQ7SUFDekQsbUJBQW1CO0lBQ25CLGtCQUFrQjtBQUN0Qjs7QUFFQSxrQ0FBa0M7QUFDbEM7SUFDSSx1QkFBdUI7SUFDdkIsK0RBQXFEO0lBQ3JELG1CQUFtQjtJQUNuQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxTQUFTO0lBQ1QsaUNBQWlDO0lBQ2pDLHlCQUF5QjtJQUN6QixjQUFjO0FBQ2xCO0FBQ0EsMkRBQTJEO0FBQzNEO0lBQ0ksWUFBWTtJQUNaLFNBQVM7SUFDVCxhQUFhO0lBQ2Isc0JBQXNCO0FBQzFCOztBQUVBLDREQUE0RDtBQUM1RDtJQUNJLE9BQU87SUFDUCxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGlCQUFpQjtBQUNyQjs7QUFFQSxXQUFXO0FBQ1g7SUFDSSx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLHdDQUF3QztJQUN4QyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxjQUFjO0lBQ2Qsc0NBQXNDO0lBQ3RDLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsbUNBQW1DO0lBQ25DLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsbUJBQW1COzs7QUFHdkI7QUFDQTtJQUNJO1FBQ0ksZUFBZTtRQUNmLGtCQUFrQjtJQUN0QjtJQUNBO1FBQ0ksV0FBVztRQUNYLGtCQUFrQjtJQUN0QjtJQUNBO1FBQ0ksY0FBYztRQUNkLHlCQUF5QjtRQUN6Qiw2QkFBNkI7UUFDN0Isa0JBQWtCO1FBQ2xCLFNBQVM7UUFDVCxXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLGtEQUFrRDtJQUN0RDtJQUNBO1FBQ0kscUJBQXFCO0lBQ3pCO0lBQ0E7UUFDSSx5REFBeVA7SUFDN1A7SUFDQTtRQUNJLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLHlEQUF5RDtJQUM3RDtJQUNBO1FBQ0ksV0FBVztJQUNmO0lBQ0E7UUFDSSxrQkFBa0I7UUFDbEIsV0FBVztJQUNmO0lBQ0E7UUFDSSxhQUFhO1FBQ2IsYUFBYTtRQUNiLHlCQUF5QjtRQUN6QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixTQUFTO1FBQ1QseURBQXlEO1FBQ3pELFVBQVU7UUFDVixXQUFXO0lBQ2Y7SUFDQTtRQUNJO1lBQ0ksMkJBQTJCO1lBQzNCLFVBQVU7UUFDZDtRQUNBO1lBQ0ksd0JBQXdCO1lBQ3hCLFVBQVU7UUFDZDtJQUNKO0lBQ0E7UUFDSTtZQUNJLHlCQUF5QjtRQUM3QjtRQUNBO1lBQ0kseUJBQXlCO1FBQzdCO1FBQ0E7WUFDSSxxQkFBcUI7UUFDekI7SUFDSjs7SUFFQTtRQUNJLGFBQWE7UUFDYix3QkFBd0I7UUFDeEIsVUFBVTtRQUNWLHlEQUF5RDtRQUN6RCxhQUFhO1FBQ2Isc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQiw2QkFBNkI7UUFDN0IsNkJBQTZCO0lBQ2pDOztJQUVBO1FBQ0ksY0FBYztRQUNkLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IseUJBQXlCO1FBQ3pCLGtCQUFrQjtRQUNsQix1REFBdUQ7SUFDM0Q7SUFDQTtRQUNJLGNBQWM7UUFDZCx5QkFBeUI7SUFDN0I7O0lBRUE7UUFDSSxtQkFBbUI7SUFDdkI7QUFDSjs7QUFFQTtJQUNJO1FBQ0ksYUFBYTtJQUNqQjtJQUNBO1FBQ0ksYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixTQUFTO1FBQ1QsbUJBQW1CO1FBQ25CLHVEQUF1RDtJQUMzRDtBQUNKO0FBQ0Esd0JBQXdCO0FBQ3hCO0lBQ0ksYUFBYTtJQUNiLFNBQVM7SUFDVCxrREFBa0Q7SUFDbEQsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksY0FBYztJQUNkLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQixrQkFBa0I7QUFDdEI7O0FBRUEsZ0NBQWdDO0FBQ2hDO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixPQUFPO0lBQ1AsWUFBWTtJQUNaLFFBQVE7SUFDUixXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixPQUFPOztBQUVYOztBQUVBLGdCQUFnQjtBQUNoQjtJQUNJLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsYUFBYTtJQUNiLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxxQkFBcUI7SUFDckIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQix1REFBdUQ7QUFDM0Q7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxZQUFZO0lBQ1osUUFBUTtJQUNSLFdBQVc7SUFDWCx5QkFBeUI7SUFDekIsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksV0FBVztBQUNmO0FBQ0E7O0lBRUksZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixjQUFjO0FBQ2xCOztBQUVBOztJQUVJLHFCQUFxQjtJQUNyQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7O1FBRUksY0FBYztRQUNkLGtCQUFrQjtJQUN0Qjs7SUFFQTs7UUFFSSxjQUFjO0lBQ2xCO0FBQ0o7O0FBRUEsc0JBQXNCO0FBQ3RCO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixTQUFTO0FBQ2I7QUFDQSw0REFBNEQ7QUFDNUQ7SUFDSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osY0FBYztJQUNkLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIseUNBQXlDO0lBQ3pDLCtCQUErQjtBQUNuQzs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQSwyQ0FBMkM7QUFDM0M7SUFDSSxrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQix1Q0FBdUM7SUFDdkMsZ0JBQWdCLEdBQUcsaURBQWlEO0lBQ3BFLGdDQUFnQyxFQUFFLDhDQUE4QztJQUNoRixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUIsRUFBRSw2REFBNkQ7SUFDaEYsa0JBQWtCO0lBQ2xCLFdBQVc7QUFDZjtBQUNBO0lBQ0ksdUJBQXVCO0lBQ3ZCLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksMEJBQTBCO0lBQzFCLGtCQUFrQjtBQUN0Qjs7QUFFQSxzQkFBc0I7QUFDdEI7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFVBQVU7SUFDViwyQkFBMkI7QUFDL0I7O0FBRUEsNkJBQTZCO0FBQzdCO0lBQ0ksY0FBYztJQUNkLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsNkJBQTZCO0lBQzdCLGtCQUFrQjtBQUN0Qjs7QUFFQSxzREFBc0Q7QUFDdEQ7SUFDSSxrQkFBa0IsRUFBRSwyREFBMkQ7QUFDbkY7O0FBRUE7SUFDSSxVQUFVLEVBQUUsb0JBQW9CO0FBQ3BDOztBQUVBO0lBQ0ksVUFBVTtJQUNWLG1CQUFtQjtBQUN2Qjs7QUFFQSx5QkFBeUI7QUFDekI7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsV0FBVztJQUNYLFlBQVk7SUFDWiw2QkFBNkI7SUFDN0Isa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixVQUFVLEVBQUUsa0VBQWtFO0lBQzlFLG9CQUFvQixFQUFFLDZEQUE2RDs7SUFFbkYscUJBQXFCLEdBQUcsa0VBQWtFO0lBQzFGLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixxQkFBcUIsRUFBRSw2QkFBNkI7SUFDcEQsZUFBZTtJQUNmLHNDQUFzQztJQUN0QyxnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQSxnQ0FBZ0M7QUFDaEM7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLGdCQUFnQixFQUFFLDBCQUEwQjtBQUNoRDs7QUFFQSx1QkFBdUI7QUFDdkI7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIseUJBQXlCLEVBQUUsMENBQTBDO0FBQ3pFOzs7O0FBSUEseURBQXlEO0FBQ3pEO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1Qsb0NBQW9DLEVBQUUscUJBQXFCO0lBQzNELGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsNkJBQTZCLEVBQUUsbUJBQW1CO0FBQ3REOztBQUVBO0lBQ0ksVUFBVSxFQUFFLHVDQUF1QztBQUN2RDs7QUFFQSxzQkFBc0I7QUFDdEI7SUFDSTtRQUNJLGFBQWE7SUFDakI7O0lBRUE7UUFDSSxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxVQUFVO1FBQ1YsbUJBQW1CO0lBQ3ZCO0FBQ0o7QUFDQSxpQkFBaUI7QUFDakI7SUFDSSxzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLHVDQUF1QztJQUN2QyxXQUFXO0lBQ1gsZ0JBQWdCLEVBQUUsaUVBQWlFO0lBQ25GLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixjQUFjO0FBQ2xCOztBQUVBLG1DQUFtQztBQUNuQztJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsU0FBUztBQUNiOztBQUVBLDhCQUE4QjtBQUM5Qjs7SUFFSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsZUFBZTtBQUNuQjs7QUFFQSxvQkFBb0I7QUFDcEI7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtBQUNoQjtBQUNBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2Ysc0NBQXNDO0FBQzFDOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLHVCQUF1QjtBQUMzQjs7QUFFQSxpQkFBaUI7QUFDakI7SUFDSSxXQUFXO0lBQ1gscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksc0NBQXNDO0lBQ3RDLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLG1DQUFtQztJQUNuQyxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0RBQWtEO0lBQ2xELFdBQVc7QUFDZjs7QUFFQTtJQUNJLGVBQWU7SUFDZixlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLFVBQVU7SUFDVixvQ0FBb0M7QUFDeEM7QUFDQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsbUNBQW1DO0lBQ25DLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHNDQUFzQztJQUN0QyxnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLG1CQUFtQjtBQUN2Qjs7O0FBR0E7SUFDSSxlQUFlO0lBQ2YsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixVQUFVO0lBQ1YsWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVDQUF1QztJQUN2QyxpRUFBaUU7SUFDakUsZUFBZTtJQUNmLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHVDQUF1QztJQUN2QywwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLFlBQVk7SUFDWiwwQkFBMEI7SUFDMUIsWUFBWTtBQUNoQjs7O0FBR0EsMEJBQTBCO0FBQzFCO0lBQ0ksT0FBTztJQUNQLDhCQUE4QjtBQUNsQzs7QUFFQSwwQkFBMEI7QUFDMUI7SUFDSSxRQUFRO0lBQ1IsOEJBQThCO0FBQ2xDO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixpQ0FBaUM7QUFDckM7QUFDQTtJQUNJLHlCQUF5QjtBQUM3QjtBQUNBOztJQUVJLCtEQUErRDtBQUNuRTs7QUFFQTtFQUNFO0lBQ0Usa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixTQUFTO0lBQ1QsWUFBWTtFQUNkOztFQUVBOztJQUVFLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtFQUN2Qjs7RUFFQTtJQUNFLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsa0JBQWtCO0VBQ3BCOztFQUVBO0lBQ0UsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0VBQzdCOztFQUVBO0lBQ0UsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsK0JBQStCO0lBQy9CLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGtCQUFrQjtFQUNwQjs7RUFFQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxtQkFBbUI7O0VBRXJCOztFQUVBO0lBQ0UsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsd0NBQXdDO0lBQ3hDLHVDQUF1QztJQUN2QyxtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLFFBQVE7SUFDUiwyQkFBMkI7SUFDM0IsVUFBVTtFQUNaOztFQUVBO0lBQ0UsT0FBTztJQUNQLFdBQVc7RUFDYjs7RUFFQTtJQUNFLFFBQVE7SUFDUixXQUFXO0VBQ2I7O0VBRUE7O0lBRUUsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUiwyQkFBMkI7SUFDM0IsWUFBWTtJQUNaLCtEQUErRDtFQUNqRTs7RUFFQTtJQUNFLHFCQUFxQjtFQUN2Qjs7RUFFQTtJQUNFLG9CQUFvQjtFQUN0Qjs7RUFFQTs7SUFFRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLG1CQUFtQjtFQUNyQjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogSW1wb3J0IGRlcyBwb2xpY2VzICovXG5cbi8qIFBvbGljZSBwb3VyIGxlIG5vbS9wcsOpbm9tICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0JhY2tUb0JsYWNrJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvYmFja190b19ibGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIFBvbGljZSBwb3VyIFwiRMOpdmVsb3BwZXVyIFdlYlwiICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dyZWF0RGF5JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvZ3JlYXRfZGF5LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDJEN0RGO1xuICAgIGNvbG9yOiAjMzUzNTM1O1xufVxuLyogw4l0aXJlIGxlIGNvbnRlbnUgcG91ciBmb3JjZXIgbGUgZm9vdGVyIMOgIHJlc3RlciBlbiBiYXMgKi9cbmh0bWwsIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKiBDb250ZW5ldXIgcHJpbmNpcGFsIHF1aSBvY2N1cGUgdG91dCBsJ2VzcGFjZSBkaXNwb25pYmxlICovXG4ud3JhcHBlciB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi8qIEhlYWRlciAqL1xuLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWFkZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMzUzNTM1OyBcbiAgICBmb250LWZhbWlseTogJ0JhY2tUb0JsYWNrJywgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaGVhZGVyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogIzM1MzUzNTsgXG4gICAgZm9udC1mYW1pbHk6ICdHcmVhdERheScsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuaGVhZGVye1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmhlYWRlci1uYW1lLCAuaGVhZGVyLXRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IFxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxuICAgIH1cbiAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNTM1MzU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgXG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSg1MywgNTMsIDUzLCAxKScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIik7XG4gICAgfVxuICAgIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgIGNvbG9yOiAjMzUzNTM1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjVzIGVhc2U7XG4gICAgfVxuICAgIC5tZW51LWNvbnRhaW5lciBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICB9XG4gICAgLm5hdmJhci1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgICAgICB3aWR0aDogMTAwJTsgXG4gICAgfVxuICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgXG4gICAgICAgIGJvcmRlcjogbm9uZTsgXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBzbGlkZUluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMCUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBib3JkZXJHcm93IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgXG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IFxuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzUzNTM1OyBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2Uuc2hvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGFuaW1hdGlvbjogc2xpZGVJbiAwLjNzIGVhc2UsIGJvcmRlckdyb3cgMXMgZWFzZSBmb3J3YXJkczsgXG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IFxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYW5pbWF0aW9uOiBib3JkZXJHcm93IDFzIGVhc2U7XG4gICAgfVxuXG4gICAgLm5hdmJhciBhIHtcbiAgICAgICAgY29sb3I6ICMzNTM1MzU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IFxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgY29sb3IgMC4zcyBlYXNlO1xuICAgIH1cbiAgICAubmF2YmFyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzI0MjQyNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTVlNTtcbiAgICB9XG5cbiAgICAubmF2YmFyIGE6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IFxuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMnJlbTsgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgY29sb3IgMC4zcyBlYXNlO1xuICAgIH1cbn1cbi8qIEJhcnJlIGRlIG5hdmlnYXRpb24gKi9cbi5uYXZiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAycmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm5hdmJhciBhIHtcbiAgICBjb2xvcjogIzM1MzUzNTsgXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4vKiBCYXJyZSBhbmltw6llIHNvdXMgbGVzIGxpZW5zICovXG4ubmF2YmFyIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC00cHg7IFxuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTM1MzU7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ubmF2YmFyIGE6aG92ZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBmbGV4OiAxO1xuXG59XG5cbi8qU3R5bGUgZm9vdGVyICovXG4uZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzNTM1O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbn1cblxuLmZvb3RlciBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtMnB4OyBcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG59XG5cbi5mb290ZXIgYTpob3Zlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmZvb3Rlci1uYXYsXG4uc29jaWFsLWxpbmtzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5mb290ZXItbmF2IGxpLFxuLnNvY2lhbC1saW5rcyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5mb290ZXItbmF2LFxuICAgIC5zb2NpYWwtbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZm9vdGVyLW5hdiBsaSxcbiAgICAuc29jaWFsLWxpbmtzIGxpIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7IFxuICAgIH1cbn1cblxuLyogQ29udGVuZXVyIGfDqW7DqXJhbCAqL1xuLnNlY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4O1xufVxuLypTdHlsZSBwb3VyIGwnaW1hZ2UgZGFucyBsYSBzZWN0aW9uIHByb2pldHMgc3VyIGwnYWNjdWVpbCAqL1xuLnByb2plY3QtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnByb2plY3QtaW1hZ2U6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG59XG5cbi8qIFN0eWxlIGRlIGJhc2UgcG91ciB0b3V0ZXMgbGVzIHNlY3Rpb25zICovXG4uc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgLyogTWFzcXVlIGxlIGNvbnRlbnUgcXVpIGTDqXBhc3NlIGF2YW50IGxlIGhvdmVyICovXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxLjVzIGVhc2U7IC8qIFRyYW5zaXRpb24gZmx1aWRlIHBvdXIgZMOpcGxpZXIgbGEgc2VjdGlvbiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDsgLyogVGFpbGxlIGZpeGUgYXZhbnQgbGUgaG92ZXIsIHR1IHBldXggYWp1c3RlciBjZXR0ZSB2YWxldXIgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTA7XG59XG4uc2VjdGlvbiBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICdHcmVhdERheSc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLnNlY3Rpb24gcCwgZGl2e1xuICAgIGZvbnQtZmFtaWx5OiAnQmFza2VydmlsbGUnO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogQXBlcsOndSBwYXIgZMOpZmF1dCAqL1xuLnNlY3Rpb24gLnByZXZpZXcge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzY2NjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcbn1cblxuLyogQ29udGVudSBjYWNow6kgcGFyIGTDqWZhdXQgKi9cbi5zZWN0aW9uIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjVzIGVhc2U7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBIb3ZlciA6IGTDqXBsaWVyIGxhIHNlY3Rpb24gZXQgYWZmaWNoZXIgbGUgY29udGVudSAqL1xuLnNlY3Rpb246aG92ZXIge1xuICAgIG1heC1oZWlnaHQ6IDEwMDBweDsgLyogUGVybWV0IMOgIGxhIHNlY3Rpb24gZGUgcyfDqXRpcmVyIGVuIGZvbmN0aW9uIGR1IGNvbnRlbnUgKi9cbn1cblxuLnNlY3Rpb246aG92ZXIgLnByZXZpZXcge1xuICAgIG9wYWNpdHk6IDA7IC8qIE1hc3F1ZSBsJ2FwZXLDp3UgKi9cbn1cblxuLnNlY3Rpb246aG92ZXIgLmNvbnRlbnQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyogQW5pbWF0aW9uIGRlIGNvbnRvdXIgKi9cbi5zZWN0aW9uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDEuNXMgZWFzZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uc2VjdGlvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICMzNTM1MzU7XG59XG4uc2VjdGlvbiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgLyogQXNzdXJlei12b3VzIHF1ZSBsZXMgbGllbnMgc29udCBhdS1kZXNzdXMgZGVzIHBzZXVkby3DqWzDqW1lbnRzICovXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87IC8qIEFzc3VyZXotdm91cyBxdWUgbGVzIMOpdsOpbmVtZW50cyBkZSBwb2ludGV1ciBzb250IGFjdGl2w6lzICovXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAvKiBQZXJtZXQgZOKAmWFwcGxpcXVlciBwYWRkaW5nL21hcmdlcyBzYW5zIGNhc3NlciBsYSBtaXNlIGVuIHBhZ2UgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzUzNTM1O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiBTdXBwcmltZSBsZSBzb3VsaWduZW1lbnQgKi9cbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cbi5zZWN0aW9uIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG59XG5cbi8qIENvbnRlbmV1ciBhdXRvdXIgZGUgbCdpbWFnZSAqL1xuLnByZXNlbnRhdGlvbiAuc2VsZmllLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBDYWNoZSBsJ2VmZmV0IGRlIGJvcmQgKi9cbn1cblxuLyogU3R5bGUgcG91ciBsJ2ltYWdlICovXG4ucHJlc2VudGF0aW9uIC5zZWxmaWUge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7IC8qIFRyYW5zaXRpb25zIHN1ciB0b3V0ZXMgbGVzIHByb3ByacOpdMOpcyAqL1xufVxuXG5cblxuLyogQW5pbWF0aW9uIGR1IGZvbmR1IGV0IGNvbnRvdXIgcG91ciBsJ2VmZmV0IGRlIHN1cnZvbCAqL1xuLnByZXNlbnRhdGlvbiAuc2VsZmllLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyAvKiBDb3VsZXVyIGRlIGZvbmR1ICovXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IC8qIEVmZmV0IGRlIGZvbmR1ICovXG59XG5cbi5wcmVzZW50YXRpb24gLnNlbGZpZS1jb250YWluZXI6aG92ZXI6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxOyAvKiBMZSBmb25kdSBkZXZpZW50IHZpc2libGUgYXUgc3Vydm9sICovXG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24uYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi5hY3RpdmUgLnByZXZpZXcge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLmFjdGl2ZSAuY29udGVudCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxufVxuLyogcGFnZSBjb250YWN0ICovXG4uc2VjdGlvbi1jb250YWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgLyogVW4gcGV1IHBsdXMgw6l0cm9pdCBxdWUgMTIwMHB4IHBvdXIgYmllbiBjYWRyZXIgbGUgZm9ybXVsYWlyZSAqL1xuICAgIG1hcmdpbjogNDBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMzUzNTM1O1xufVxuXG4uc2VjdGlvbi1jb250YWN0IGgxIHtcbiAgICBmb250LWZhbWlseTogJ0dyZWF0RGF5JztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICMzNTM1MzU7XG59XG5cbi8qIFN0eWxlIGRlcyBjaGFtcHMgZHUgZm9ybXVsYWlyZSAqL1xuLnNlY3Rpb24tY29udGFjdCBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNXB4O1xufVxuXG4vKiBTdHlsZSBkZXMgY2hhbXBzIGRlIHRleHRlICovXG4uc2VjdGlvbi1jb250YWN0IGlucHV0LFxuLnNlY3Rpb24tY29udGFjdCB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG5cbi8qIFN0eWxlIGR1IGJvdXRvbiAqL1xuLmJ1dHRvbi13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuLnNlY3Rpb24tY29udGFjdCBidXR0b24sIC5idG4gYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTM1MzU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xufVxuXG4uc2VjdGlvbi1jb250YWN0IGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbn1cblxuLyogUGFnZSBQcm9qZXRzICovXG4ucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5tYWluLWNvbnRlbnQge1xuICAgIGZsZXg6IHVuc2V0O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtcHJvamV0cyB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBhZ2UtcHJvamV0cyBoMSB7XG4gICAgZm9udC1mYW1pbHk6ICdCYWNrVG9CbGFjaycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ucGFnZS1wcm9qZXRzIGgyIHtcbiAgICBmb250LWZhbWlseTogJ0dyZWF0RGF5Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnByb2plY3Qtc2xpZGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvamVjdC1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZSwgb3BhY2l0eSAwLjVzIGVhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0LXNsaWRlIHtcbiAgICBmbGV4OiAwIDAgMTAwdnc7XG4gICAgbWF4LXdpZHRoOiA4MHZ3O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7XG59XG4ucHJvamVjdC1zbGlkZS5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5wcm9qZWN0LWRlc2NyaXB0aW9uIHtcbiAgICBmb250LWZhbWlseTogJ0Jhc2tlcnZpbGxlJztcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCA1OCwgNTgsIDAuMDc1KTtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuLnBhZ2UtYXBwX3JlYWxpc2F0aW9ucyAuY2Fyb3VzZWwtaXRlbSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cblxuLnByb2plY3QtbmF2LXpvbmUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDYwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDR2dztcbiAgICBoZWlnaHQ6IDQwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTMsIDUzLCA1MywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgYmFja2Ryb3AtZmlsdGVyIDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMjA7XG59XG5cbi5wcm9qZWN0LW5hdi16b25lOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUzLCA1MywgNTMsIDAuMyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG59XG5cbi5wcm9qZWN0LW5hdi16b25lIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG5cbi8qIEJvcmQgYXJyb25kaSDDoCBnYXVjaGUgKi9cbi5wcm9qZWN0LW5hdi16b25lLmxlZnQtem9uZSB7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwMHB4IDEwMHB4IDA7XG59XG5cbi8qIEJvcmQgYXJyb25kaSDDoCBkcm9pdGUgKi9cbi5wcm9qZWN0LW5hdi16b25lLnJpZ2h0LXpvbmUge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDAgMCAxMDBweDtcbn1cbi5wcm9qZWN0LWRvdHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLnByb2plY3QtZG90cyBidXR0b24ge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRiNGE0YTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG59XG4ucHJvamVjdC1kb3RzIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZiZmI7XG59XG4ucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4ucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBkcm9wLXNoYWRvdygwIDAgMnB4IGJsYWNrKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC53cmFwcGVyLFxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5tYWluLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBhZ2UtYXBwX3JlYWxpc2F0aW9ucyAucGFnZS1wcm9qZXRzIGgxIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wYWdlLWFwcF9yZWFsaXNhdGlvbnMgLnBhZ2UtcHJvamV0cyB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYWdlLWFwcF9yZWFsaXNhdGlvbnMgLnByb2plY3Qtc2xpZGVyLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLnBhZ2UtYXBwX3JlYWxpc2F0aW9ucyAucHJvamVjdC1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5wYWdlLWFwcF9yZWFsaXNhdGlvbnMgLnByb2plY3Qtc2xpZGUge1xuICAgIGZsZXg6IDAgMCAxMDB2dztcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLnBhZ2UtYXBwX3JlYWxpc2F0aW9ucyAuY2Fyb3VzZWwtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wYWdlLWFwcF9yZWFsaXNhdGlvbnMgLmNhcm91c2VsLWl0ZW0gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5wcm9qZWN0LWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICB3aWR0aDogOTV2dztcbiAgICBtYXJnaW46IDAgYXV0byAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTksIDU4LCA1OCwgMC4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDAsMCwwLDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5wcm9qZWN0LW5hdi16b25lIHtcbiAgICB3aWR0aDogMjB2dztcbiAgICBoZWlnaHQ6IDI1dmg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5sZWZ0LXpvbmUge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE1dnc7XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5yaWdodC16b25lIHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTV2dztcbiAgfVxuXG4gIC5wYWdlLWFwcF9yZWFsaXNhdGlvbnMgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgLnBhZ2UtYXBwX3JlYWxpc2F0aW9ucyAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgZHJvcC1zaGFkb3coMCAwIDJweCBibGFjayk7XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIHJpZ2h0OiA1cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYWdlLWFwcF9yZWFsaXNhdGlvbnMgLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gICAgbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbiAgLnBhZ2UtYXBwX3JlYWxpc2F0aW9ucyAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cblxuICAucGFnZS1hcHBfcmVhbGlzYXRpb25zIC5wcm9qZWN0LWRvdHMge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/