/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/main.css ***!
  \***************************************************************************************************************/
/**
COLORS
 */

:root {
    --gp-primary-color: #bf3027;
    --eco-primary-color: #00a388;
}

.bg-gp-primary {
    background: var(--gp-primary-color);
}

.bg-eco-primary {
    background: var(--eco-primary-color);
}

.text-gp-primary {
    color: var(--gp-primary-color);
}

.text-hidden {
    opacity: 0 !important;
}

.list-group-item-link:hover {
    background: #cfe2ff;
}

.bg-black-20 {
    background: rgb(0 0 0 / 20%);
}

/**
POSITIONS
 */

.justify-self-center {
    justify-self: center;
}

.input-qte {
    width: 5em;
}

.linkable-accessoires .input-qte {
    width: 3em;
}

.pagination {
    justify-content: center;
}

.grid-title {
    grid-column: 1 / -1;
}

.grid-fill {
    grid-column: 1 / -1;
}

.d-flex h1 {
    margin: 0;
}

.action-buttons {
    grid-column: span 2;
}

/**
WIDTH
 */
.w-45px {
    width: 45px;
}

/**
BUTTONS
 */

.btn-outline-success.disabled {
    border: none !important;
    opacity: initial !important;
}

.content-half > div,
.content-half > .btn {
    flex: 1 0 50%;
}

/**
TABLES
 */
.table-fixed {
    table-layout: fixed;
}

.form-label {
    position: relative;
}
.form-label.required::after {
    content: " *";
    color: red;
    position: absolute;
    top: -0.2em;
    right: -0.6em;
    font-size: 1.6em;
}



/**
STRUCTURE
 */

html,
body {
    height: 100vh;
}

body {
    display: grid;
    grid-template-columns: 100vw;
    grid-template-rows: repeat(4, auto) 1fr auto;
}

.span-2 {
    grid-column: span 2;
}

/**
FOOTER
 */

.footer-inner {
    grid-template-columns: 1fr;
}

footer h2 {
    font-size: 1rem;
}

footer p,
footer a {
    font-size: 0.8rem;
}

@media (min-width: 768px) {
    .footer-inner {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto auto 1fr;
        grid-template-areas:
            "about about"
            "contact network"
            "contact newsletter";
        gap: 1em;
    }

    .about-us {
        grid-area: about;
    }

    .contact-info {
        grid-area: contact;
    }

    .social-network {
        grid-area: network;
    }

    .newsletter {
        grid-area: newsletter;
    }
}

@media (min-width: 992px) {

    .footer-inner {
        grid-template-columns: 2fr 1fr 1fr;
        grid-template-rows: auto 1fr;
        grid-template-areas:
            "about contact network"
            "about contact newsletter";
        gap: 1em 1.5em;
    }
}

@media (min-width: 1200px) {
    footer h2 {
        font-size: 1.5rem;
    }

    footer p,
    footer a .text {
        font-size: 0.9rem;
    }
}


/**
CARD PAPIER
 */

.card-papier-wrapper {
    display: grid;
    gap: 1.2em;
}

.card-papier h5 {
    font-size: 1.10rem;
}

.card-papier .card-text {
    grid-template-columns: auto 1fr;
}

@media (min-width: 992px) {

    .card-papier-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(22em, 1fr));
    }
}


/**
CARD BUREAUTIQUE
 */

.card-bureautique-wrapper {
    display: grid;
    gap: 1.2em;
}

.card-bureautique img {
    height: 8em;
    object-fit: contain;
}

.card-bureautique h2 {
    font-size: 1.10rem;
}

.card-bureautique .card-text {
    grid-template-columns: auto 1fr;
}

@media (min-width: 992px) {

    .card-bureautique-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(22em, 1fr));
    }
}


/**
CARD ADRESSE
 */

.adresse-entreprise .meta {
    flex: 0;
}

/**
NAVBAR
 */
.navbar-brand .small-logo {
    width: 8.4em;
}

.navbar-search {
    flex-basis: 25em; /*35em;*/
}

#main-menu .navbar {
    overflow-x: scroll;
}

#main-menu .nav-link {
    white-space: nowrap;
}

.input-qte {
    text-align: center;
}

.input-qte::placeholder {
    color: var(--bs-gray-500);
}


/**
    PROMOTIONS
 */

#promotions article {
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas:
            "reference-wrapper prix-regular-wrapper prix-promo-wrapper"
            "description-wrapper description-wrapper description-wrapper"
            "action-buttons action-buttons action-buttons";
}

#promotions .reference-wrapper {
    grid-area: reference-wrapper;
}

#promotions .prix-regular-wrapper {
    grid-area: prix-regular-wrapper;
}

#promotions .prix-promo-wrapper {
    grid-area: prix-promo-wrapper;
}

#promotions .description-wrapper {
    grid-area: description-wrapper;
}

#promotions .action-buttons {
    grid-area: action-buttons;
    justify-self: center;
}

#promotions article {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}


@media (min-width: 992px) {

    #promotions .items-header,
    #promotions article {
        grid-template-columns: 7em 1fr 7em 7em 19em;
    }

    #promotions article {
        grid-template-areas: "reference-wrapper description-wrapper prix-regular-wrapper prix-promo-wrapper action-buttons";
        border-top: none;
    }

    #promotions .action-buttons {
        width: -webkit-fill-available;
        justify-self: start;
    }

    #promotions form {
        width: -webkit-fill-available;
    }
}


/**
AFFICHAGE DES PAPIERS
 */

.papier-inner {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.caracteristique-wrapper {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.caracteristique-wrapper:nth-child(even) {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}


@media (min-width: 992px) {

    .papier-inner {
        border-top: none;
    }

    .caracteristique-wrapper {
        border: none;
    }

    .caracteristique-wrapper:nth-child(even) {
        border-left: none;
    }
}


/**
AFFHICHAGE DES ARTICLES BUREAUTIQUE
 */

.bureautique-item.card .item-first-photo {
    height: 10em;
    object-fit: contain;
}

.bureautique-item.card .card-text {
    grid-template-columns: auto 1fr;
    gap: 0 1em;
}

.bureautique-item.card .card-text .label {
    font-size: smaller;
}

.bureautique-item.card .card-meta {
    grid-template-columns: auto 1fr;
    gap: 0.3em 1em;
    font-size: smaller;
}

.bureautique-item .action-buttons>a {
    flex-basis: 100%;
}


@media (min-width: 992px) {

    .bureautique-item.card .item-first-photo {
        height: 13em;
        max-width: 100%;
        object-fit: contain;
    }

}


/**
AFFICHAGE D'UN SEUL ARTICLE BUREAUTIQUE
 */

#article-synthese {
    grid-template-areas: "article-title" "article-carousel" "synthese-group" "article-dispo" "input-cart";
    align-items: start;
}

.article-title {
    grid-area: article-title;
}

.synthese-group {
    grid-area: synthese-group
}

#item-carousel {
    grid-area: article-carousel;
}

.article-codes {
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    grid-template-columns: auto 1fr;
    gap: 0.2em 1em;
}

.dispo {
    grid-area: article-dispo;
}

.input-cart {
    grid-area: input-cart;
}

.article-specifications-content {
    grid-template-columns: 1fr 1fr;
    gap: 0.4em 0.5em;
}

.article-pdfs a {
    width: fit-content;
}

.article-sibling img {
    width: calc(100% - 2rem);
    margin: 1rem;
    height: 15em;
    object-fit: contain;
}

@media (min-width: 768px) {

    #article-synthese {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
                "article-carousel article-title"
                "article-carousel synthese-group"
                "article-carousel article-dispo"
                "article-carousel input-cart";
    }

    .carousel-item img {
        height: 22rem;
        object-fit: contain;
    }
}

@media (min-width: 992px) {

    .carousel-item img {
        height: 25rem;
         object-fit: contain;
    }

    .article-details {
        grid-template-columns: 20rem 1fr;
        grid-template-areas:
                ". details-title"
                ". article-pdfs"
                "description-title article-description-content"
                "specifications-title article-specifications-content";
        gap: 1.3em 0;
    }

    .article-details h2 {
        grid-area: details-title;
    }

    .article-pdfs {
        grid-area: article-pdfs;
    }

    .description-title {
        grid-area: description-title;
    }

    .article-description-content {
        grid-area: article-description-content;
    }

    .specifications-title {
        grid-area: specifications-title;
    }

    .article-specifications-content {
        grid-area: article-specifications-content;
        grid-template-columns: auto 1fr;
        gap: 0 1em;
    }

}



/**
ACCESSOIRES
 */

#active-categories .card {
    /*height: 10em;*/
}

#active-categories .card img {
    height: 9.8em;
    object-fit: contain;
}

.accessoire-inner {
    /*border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);*/
    gap: 0.2em;
}

.accessoire-inner .caracteristique-wrapper {
    flex: 0 1 45%;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.accessoire-image.card-img-top {
    height: 13rem;
    object-fit: contain;
}

.accessoire-no-image.card-img-top {
    height: 13rem;
    object-fit: contain;
}

.accessoires-description {
    height: 3.9rem;
}

.create-accessory-image {
    height: 6rem;
    object-fit: contain;
    max-width: none !important;
}

.description {
    font-size: 0.9em;
    line-height: 1.1;
}

@media (min-width: 768px) {
    .accessoire-category .accessoire-image {
        width: 16rem;
    }
}

@media (min-width: 992px) {
    .accessoire-category .accessoire-image {
        width: 19rem;
    }

    .accessoire-inner {
        border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    }

    .accessoire-inner .caracteristique-wrapper {
        flex: unset;
        border: none;
    }

    #accessoires form {
        width: -webkit-fill-available;
    }

    #accessoires form[name='add_item_to_cart_form'] {
        width: -webkit-fit-content;
    }
}


/**
SINGLE ACCESSOIRE
 */

#accessoire-synthese {
    grid-template-columns: auto;
    grid-template-areas: "accessoire-title" "accessoire-photo" "accessoire-description" "synthese-group" "input-cart";
    align-items: start;
    gap: 1em 3em;
    justify-items: center;
}

#accessoire-synthese.no-photo {
    grid-template-columns: 1fr;
    grid-template-areas: "accessoire-title" "accessoire-description" "synthese-group" "input-cart";
    align-items: start;
    gap: 1em 0;
    justify-items: center;
}

#accessoire-title {
    grid-area: accessoire-title;
}

#accessoire-photo {
    grid-area: accessoire-photo;
}

#accessoire-description {
    grid-area: accessoire-description;
}

#accessoire-synthese-group {
    grid-area: synthese-group;
}

#accessoire-synthese .input-cart {
    grid-area: input-cart;
}

.accessoire-codes {
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    grid-template-columns: auto 1fr;
    gap: 0.2em 1em;
}

#accessoire-photo img {
    height: auto;
    width: 100%;
}

.linked-accessoire-photo img {
    height: 8em;
    width: 100%;
    object-fit: contain;
}

.linked-accessoire-codes {
    grid-template-columns: auto 1fr;
    gap: 0.2em 1em;
    font-size: 0.8em;
}


@media (min-width: 768px) {

    #accessoire-synthese.no-photo {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: auto;
        grid-template-areas:
                "accessoire-title"
                "accessoire-description"
                "synthese-group"
                "input-cart"
        ;
        gap: 1em 0;
    }

    #accessoire-synthese {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: repeat(2, 1fr);
        /*grid-template-rows: auto 1fr;*/
        grid-template-areas:
                "accessoire-title accessoire-title"
                "accessoire-description accessoire-description"
                "accessoire-photo synthese-group"
                /*"accessoire-photo article-dispo"*/
                "accessoire-photo input-cart"
        ;
    }

    #accessoire-photo img {
        height: 20em;
        width: 100%;
        object-fit: contain;
    }
}


/**
RECHERCHES
 */

#count-search-papiers {
    background: var(--gp-primary-color);
}

.result-search {
    grid-template-columns: auto 1fr;
    gap: 0 1em;
}


/**
LOGIN
 */

.login-card .card-img {
    height: 30em;
    object-fit: cover;
}

.inactives-images .login-card .card-img {
    height: 14.6em;
}

.login-card .update-button {
    position: absolute;
    right: 1rem;
}

.current-login-image img {
    height: 15rem;
}


/**
ADRESSES DES ENTREPRISES
 */

.card.adresse-entreprise .card-text {
    margin: 0;
}

.card.adresse-entreprise .card-footer a {
    font-size: small;
}


/**
CART
 */

.cart-item {
    grid-template-columns: 1fr;
    grid-template-areas:
            "image"
            "description"
            "reference"
            "quantite"
            "prices"
            "actions"
    ;
}

.cart-item.has-image {
    grid-template-columns: 4fr 6fr;
    grid-template-areas:
            "image description"
            "image reference"
            "image quantite"
            "prices prices"
            "actions actions"
;
}

.cart-item-image {
    grid-area: image;
}

#cart-header .description,
.cart-item-description {
    grid-area: description;
}

#cart-header .reference,
.cart-item-reference {
    grid-area: reference;
}

#cart-header .prices,
.cart-item-prices {
    grid-area: prices;
}

#cart-header .quantite,
.cart-item-quantite {
    grid-area: quantite;
}

#cart-header .actions,
.cart-item-actions {
    grid-area: actions;
}

.cart-item-image img {
    width: 100%;
    max-height: 7rem;
    object-fit: contain;
}

@media (min-width: 768px) {

    .cart-item {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "description reference"
            "prices actions"
    ;
    }

    .cart-item.has-image {
        grid-template-columns: 9em 1fr auto;
        grid-template-areas:
            "image description description"
            "image reference reference"
            "image prices actions"
    ;
    }

    .cart-item-description {
        flex: auto;
    }

    .display-order .cart-item-prices,
    .display-order .cart-item-actions {
        flex: 45%;
    }
}

@media (min-width: 992px) {

    .commande {
        border: 1px solid lightgrey;
        padding: 0.8em;
        border-radius: 6px;
    }

    #cart-header,
    .cart-item {
        grid-template-columns: 9em 31em 1fr 2fr 1fr;
        grid-template-areas: "description description reference prices actions";
    }

    .cart-item.has-image {
        grid-template-columns: 9em 31em 1fr 2fr 1fr;
        grid-template-areas: "image description reference prices actions";
    }
    
    .display-order .cart-item-image {
        flex: 0 0 5em;
    }

    /*.cart-item-description {*/
    /*    flex: 0 0 33em;*/
    /*}*/

    .display-order .cart-item-reference,
    .display-order #cart-header .reference {
        flex: 0 0 13em;
    }

    .display-order .cart-item-quantite,
    .display-order #cart-header .quantite{
        flex: 0 0 4.5em;
    }

    .display-order .cart-item-prices,
    .display-order #cart-header .prices {
        flex: 0 0 22em;
        gap: 0 0.5em;
    }

    .display-order .cart-item-actions,
    .display-order #cart-header .actions{
        flex: 0 0 15.5em;
    }

}


/**
CART CONVERT POINTS
 */

#convert-points-content .value {
    flex: 0 0 5em;
}

#points-to-use-form .alert.alert-danger {
    margin-bottom: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}



@media (min-width: 768px) {

    #points-to-use-inner {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "label widgets"
            "message message"
            "error error";
    }

    #points-to-use-group .label {
        grid-area: label;
    }

    #points-to-use-group .widgets {
        grid-area: widgets;
    }

    #points-to-use-group .message {
        grid-area: message;
    }

    #points-to-use-group .form-error {
        grid-area: error;
        place-self: end;
    }
}

@media (min-width: 992px) {

    #convert-points-content {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "current-balance current-total-ttc"
            "points-to-use amount-converted"
            "points-acquired new-total-ttc"
            "new-balance ."
            "convert-points-action convert-points-action";
    }

    #current-balance-group {
        grid-area: current-balance;
    }

    #current-total-ttc-group {
        grid-area: current-total-ttc;
    }

    #points-to-use-group {
        grid-area: points-to-use;
    }

    #amount-converted-group {
        grid-area: amount-converted;
    }

    #new-total-ttc-group {
        grid-area: new-total-ttc;
    }

    #points-acquired-group {
        grid-area: points-acquired;
    }

    #new-balance-group {
        grid-area: new-balance;
    }

    .convert-points-action-buttons {
        grid-area: convert-points-action;
    }

    #points-to-use-group .label {
        flex: 1 0 auto;
    }

    #points-to-use-group .form-control {
        font-weight: 0.9em;
        line-height: 1;
    }

    #points-to-use-inner {
        grid-template-columns: auto auto;
    }

    #points-to-use-group .form-error {
        place-self: center;
    }

}

.commande ~ .commande {
    margin-top: 1.2em;
}

.commande .titre-commande {
    font-size: 1.35rem;
    font-variant: all-small-caps;
}

.list-group-item .text,
.list-group-item .text:active,
.list-group-item .text:hover,
.list-group-item .text:focus,
.list-group-item .text:visited {
    /*background: red;*/
}

.handle {
    cursor: move;
}

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

/**
UPDATE CATEGORY
 */
.update-category-image {
    height: 15em;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

/**
UPDATE SETTINGS
 */

/*.update-settings {*/
/*    grid-template-columns: 1fr 23em 6em repeat(2, auto);*/
/*    gap: 2em;*/
/*    align-items: center;*/
/*}*/

form[name="setting"] {
    height: 100%;
}
.setting-card-body {
    height: 100%;
    display: grid;
    grid-template-rows: repeat(4, auto) 1fr;
    align-content: start;
}

.setting-actif-submit {
    align-self: end;
}

/**
ADMIN PAPIERS
 */

/*form[name="papier"] .form-label {*/
/*    margin-bottom: 0.2rem;*/
/*}*/

form[name="papier"] input[type="text"] {
    min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width)* 2));
    padding: 0.25rem 0.5rem;
    font-size: 0.845rem; /* la valeur initiale est 0.875rem */
    border-radius: var(--bs-border-radius-sm);
}

form[name="papier"] select {
    min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width)* 2));
    padding: 0.25rem 1.7rem 0.25rem 0.5rem;
    font-size: 0.845rem; /* la valeur initiale est 0.875rem */
    border-radius: var(--bs-border-radius-sm);
}

form[name="papier"] .form-check {
    margin: 0;
}

form[name="papier"] .form-check-label {
    font-size: 0.845rem;
}

#siblings-update-papier .list-group-item {
    grid-template-columns: repeat(3, 1fr);
}

#siblings-update-papier .prix-client {
    justify-self: end;
}

#siblings-update-papier .list-group-item div:last-child {
    grid-column: span 3;
}

.card-slide {
    position: relative;
}

.card-slide-image {
    height: 109px;
    object-fit: cover;
}

.card-slide .update-button,
.card-slide .reactivate-button {
}

.slide-current-image {
    width: 100%;
    height: 160px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .card-slide-image {
        height: 174px;
    }
}

@media (min-width: 992px) {
    .card-slide-image {
        height: 189px;
    }

    #sortable-slides .card-slide-image {
        height: 5.5rem;
    }
}

form[name="maintenance_banner"] .alert {
    margin-bottom: 0;
    padding: 0.6rem 2.6rem;
}

/**
SYNTHÈSE ENTREPRISE
 */
.grid-adresses {
    grid-template-areas:
        "label-facturation"
        "adresse-facturation"
        "label-livraison"
        "adresse-livraison";
}

.label-facturation {
    grid-area: label-facturation;
}

.label-livraison {
    grid-area: label-livraison;
}

.adresse-facturation {
    grid-area: adresse-facturation;
}

.adresse-livraison {
    grid-area: adresse-livraison;
}

@media (min-width: 768px) {
    .grid-adresses {
        grid-template-areas:
            "label-facturation label-livraison"
            "adresse-facturation adresse-livraison";
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .grid-adresses {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto 1fr;
    }
}

#secondary-carousel a {
    height: 10em;
    text-align: center;
}

#secondary-carousel a img {
    height: 100%;
    object-fit: contain;
}

/**
FAVOURITES
 */

.favourite-image {
    height: 8em;
    object-fit: contain;
}


/**
SEO
 */

.seo {
    grid-template-columns: auto 1fr;
    gap: 0 1em;
    /*color: #2ECC71;*/
}


.tableau-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1em;
}

.tableau-grid .main {
    grid-column: 1 / -1;
}

.tableau-grid .sub {
    grid-column: 2 / 3;
}

.accessoire .content {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.5em 1em;
}

/*.unselected-accessoire .content .label {*/
/*    padding: 0.25rem 0.5rem;*/
/*}*/

/*.unselected-accessoire .content .value {*/
/*    padding: 0.5rem 0.25rem 0.5rem 0.5rem;*/
/*}*/

.row-separator {
    grid-column: 1 / -1;
    border-bottom: 1px solid #cccdce;
    height: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0VBRUU7O0FBRUY7SUFDSSwyQkFBMkI7SUFDM0IsNEJBQTRCO0FBQ2hDOztBQUVBO0lBQ0ksbUNBQW1DO0FBQ3ZDOztBQUVBO0lBQ0ksb0NBQW9DO0FBQ3hDOztBQUVBO0lBQ0ksOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksNEJBQTRCO0FBQ2hDOztBQUVBOztFQUVFOztBQUVGO0lBQ0ksb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksU0FBUztBQUNiOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBOztFQUVFO0FBQ0Y7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7O0VBRUU7O0FBRUY7SUFDSSx1QkFBdUI7SUFDdkIsMkJBQTJCO0FBQy9COztBQUVBOztJQUVJLGFBQWE7QUFDakI7O0FBRUE7O0VBRUU7QUFDRjtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksYUFBYTtJQUNiLFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGFBQWE7SUFDYixnQkFBZ0I7QUFDcEI7Ozs7QUFJQTs7RUFFRTs7QUFFRjs7SUFFSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDRCQUE0QjtJQUM1Qiw0Q0FBNEM7QUFDaEQ7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7O0VBRUU7O0FBRUY7SUFDSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBOztJQUVJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJO1FBQ0kscUNBQXFDO1FBQ3JDLGlDQUFpQztRQUNqQzs7O2dDQUd3QjtRQUN4QixRQUFRO0lBQ1o7O0lBRUE7UUFDSSxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxrQkFBa0I7SUFDdEI7O0lBRUE7UUFDSSxrQkFBa0I7SUFDdEI7O0lBRUE7UUFDSSxxQkFBcUI7SUFDekI7QUFDSjs7QUFFQTs7SUFFSTtRQUNJLGtDQUFrQztRQUNsQyw0QkFBNEI7UUFDNUI7O3NDQUU4QjtRQUM5QixjQUFjO0lBQ2xCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGlCQUFpQjtJQUNyQjs7SUFFQTs7UUFFSSxpQkFBaUI7SUFDckI7QUFDSjs7O0FBR0E7O0VBRUU7O0FBRUY7SUFDSSxhQUFhO0lBQ2IsVUFBVTtBQUNkOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksK0JBQStCO0FBQ25DOztBQUVBOztJQUVJO1FBQ0ksMkRBQTJEO0lBQy9EO0FBQ0o7OztBQUdBOztFQUVFOztBQUVGO0lBQ0ksYUFBYTtJQUNiLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSwrQkFBK0I7QUFDbkM7O0FBRUE7O0lBRUk7UUFDSSwyREFBMkQ7SUFDL0Q7QUFDSjs7O0FBR0E7O0VBRUU7O0FBRUY7SUFDSSxPQUFPO0FBQ1g7O0FBRUE7O0VBRUU7QUFDRjtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxnQkFBZ0IsRUFBRSxRQUFRO0FBQzlCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOzs7QUFHQTs7RUFFRTs7QUFFRjtJQUNJLHFDQUFxQztJQUNyQzs7OzBEQUdzRDtBQUMxRDs7QUFFQTtJQUNJLDRCQUE0QjtBQUNoQzs7QUFFQTtJQUNJLCtCQUErQjtBQUNuQzs7QUFFQTtJQUNJLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSw0RUFBNEU7QUFDaEY7OztBQUdBOztJQUVJOztRQUVJLDJDQUEyQztJQUMvQzs7SUFFQTtRQUNJLG1IQUFtSDtRQUNuSCxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSw2QkFBNkI7UUFDN0IsbUJBQW1CO0lBQ3ZCOztJQUVBO1FBQ0ksNkJBQTZCO0lBQ2pDO0FBQ0o7OztBQUdBOztFQUVFOztBQUVGO0lBQ0ksNEVBQTRFO0FBQ2hGOztBQUVBO0lBQ0ksbUZBQW1GO0FBQ3ZGOztBQUVBO0lBQ0ksaUZBQWlGO0FBQ3JGOzs7QUFHQTs7SUFFSTtRQUNJLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxpQkFBaUI7SUFDckI7QUFDSjs7O0FBR0E7O0VBRUU7O0FBRUY7SUFDSSxZQUFZO0lBQ1osbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksK0JBQStCO0lBQy9CLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixjQUFjO0lBQ2Qsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOzs7QUFHQTs7SUFFSTtRQUNJLFlBQVk7UUFDWixlQUFlO1FBQ2YsbUJBQW1CO0lBQ3ZCOztBQUVKOzs7QUFHQTs7RUFFRTs7QUFFRjtJQUNJLHFHQUFxRztJQUNyRyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsK0JBQStCO0lBQy9CLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksd0JBQXdCO0lBQ3hCLFlBQVk7SUFDWixZQUFZO0lBQ1osbUJBQW1CO0FBQ3ZCOztBQUVBOztJQUVJO1FBQ0kscUNBQXFDO1FBQ3JDOzs7OzZDQUlxQztJQUN6Qzs7SUFFQTtRQUNJLGFBQWE7UUFDYixtQkFBbUI7SUFDdkI7QUFDSjs7QUFFQTs7SUFFSTtRQUNJLGFBQWE7U0FDWixtQkFBbUI7SUFDeEI7O0lBRUE7UUFDSSxnQ0FBZ0M7UUFDaEM7Ozs7cUVBSTZEO1FBQzdELFlBQVk7SUFDaEI7O0lBRUE7UUFDSSx3QkFBd0I7SUFDNUI7O0lBRUE7UUFDSSx1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSw0QkFBNEI7SUFDaEM7O0lBRUE7UUFDSSxzQ0FBc0M7SUFDMUM7O0lBRUE7UUFDSSwrQkFBK0I7SUFDbkM7O0lBRUE7UUFDSSx5Q0FBeUM7UUFDekMsK0JBQStCO1FBQy9CLFVBQVU7SUFDZDs7QUFFSjs7OztBQUlBOztFQUVFOztBQUVGO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGdGQUFnRjtJQUNoRixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsNEVBQTRFO0FBQ2hGOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQiwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0k7UUFDSSxZQUFZO0lBQ2hCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSw0RUFBNEU7SUFDaEY7O0lBRUE7UUFDSSxXQUFXO1FBQ1gsWUFBWTtJQUNoQjs7SUFFQTtRQUNJLDZCQUE2QjtJQUNqQzs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5QjtBQUNKOzs7QUFHQTs7RUFFRTs7QUFFRjtJQUNJLDJCQUEyQjtJQUMzQixpSEFBaUg7SUFDakgsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSwwQkFBMEI7SUFDMUIsOEZBQThGO0lBQzlGLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksaUNBQWlDO0FBQ3JDOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsK0JBQStCO0lBQy9CLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztJQUNYLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSwrQkFBK0I7SUFDL0IsY0FBYztJQUNkLGdCQUFnQjtBQUNwQjs7O0FBR0E7O0lBRUk7UUFDSSxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQiwyQkFBMkI7UUFDM0I7Ozs7O1FBS0E7UUFDQSxVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixxQ0FBcUM7UUFDckMsZ0NBQWdDO1FBQ2hDOzs7Ozs7UUFNQTtJQUNKOztJQUVBO1FBQ0ksWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7SUFDdkI7QUFDSjs7O0FBR0E7O0VBRUU7O0FBRUY7SUFDSSxtQ0FBbUM7QUFDdkM7O0FBRUE7SUFDSSwrQkFBK0I7SUFDL0IsVUFBVTtBQUNkOzs7QUFHQTs7RUFFRTs7QUFFRjtJQUNJLFlBQVk7SUFDWixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7OztBQUdBOztFQUVFOztBQUVGO0lBQ0ksU0FBUztBQUNiOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOzs7QUFHQTs7RUFFRTs7QUFFRjtJQUNJLDBCQUEwQjtJQUMxQjs7Ozs7OztJQU9BO0FBQ0o7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUI7Ozs7OztBQU1KO0FBQ0E7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7O0lBRUksc0JBQXNCO0FBQzFCOztBQUVBOztJQUVJLG9CQUFvQjtBQUN4Qjs7QUFFQTs7SUFFSSxpQkFBaUI7QUFDckI7O0FBRUE7O0lBRUksbUJBQW1CO0FBQ3ZCOztBQUVBOztJQUVJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsbUJBQW1CO0FBQ3ZCOztBQUVBOztJQUVJO1FBQ0ksK0JBQStCO1FBQy9COzs7SUFHSjtJQUNBOztJQUVBO1FBQ0ksbUNBQW1DO1FBQ25DOzs7O0lBSUo7SUFDQTs7SUFFQTtRQUNJLFVBQVU7SUFDZDs7SUFFQTs7UUFFSSxTQUFTO0lBQ2I7QUFDSjs7QUFFQTs7SUFFSTtRQUNJLDJCQUEyQjtRQUMzQixjQUFjO1FBQ2Qsa0JBQWtCO0lBQ3RCOztJQUVBOztRQUVJLDJDQUEyQztRQUMzQyx1RUFBdUU7SUFDM0U7O0lBRUE7UUFDSSwyQ0FBMkM7UUFDM0MsaUVBQWlFO0lBQ3JFOztJQUVBO1FBQ0ksYUFBYTtJQUNqQjs7SUFFQSwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLElBQUk7O0lBRUo7O1FBRUksY0FBYztJQUNsQjs7SUFFQTs7UUFFSSxlQUFlO0lBQ25COztJQUVBOztRQUVJLGNBQWM7UUFDZCxZQUFZO0lBQ2hCOztJQUVBOztRQUVJLGdCQUFnQjtJQUNwQjs7QUFFSjs7O0FBR0E7O0VBRUU7O0FBRUY7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixzQkFBc0I7QUFDMUI7Ozs7QUFJQTs7SUFFSTtRQUNJLCtCQUErQjtRQUMvQjs7O3lCQUdpQjtJQUNyQjs7SUFFQTtRQUNJLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLGtCQUFrQjtJQUN0Qjs7SUFFQTtRQUNJLGtCQUFrQjtJQUN0Qjs7SUFFQTtRQUNJLGdCQUFnQjtRQUNoQixlQUFlO0lBQ25CO0FBQ0o7O0FBRUE7O0lBRUk7UUFDSSxxQ0FBcUM7UUFDckM7Ozs7O3lEQUtpRDtJQUNyRDs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLDRCQUE0QjtJQUNoQzs7SUFFQTtRQUNJLHdCQUF3QjtJQUM1Qjs7SUFFQTtRQUNJLDJCQUEyQjtJQUMvQjs7SUFFQTtRQUNJLHdCQUF3QjtJQUM1Qjs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLHNCQUFzQjtJQUMxQjs7SUFFQTtRQUNJLGdDQUFnQztJQUNwQzs7SUFFQTtRQUNJLGNBQWM7SUFDbEI7O0lBRUE7UUFDSSxrQkFBa0I7UUFDbEIsY0FBYztJQUNsQjs7SUFFQTtRQUNJLGdDQUFnQztJQUNwQzs7SUFFQTtRQUNJLGtCQUFrQjtJQUN0Qjs7QUFFSjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQiw0QkFBNEI7QUFDaEM7O0FBRUE7Ozs7O0lBS0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLDJCQUEyQixFQUFFLGVBQWU7SUFDNUMseUJBQXlCLEVBQUUsV0FBVztJQUN0Qyx3QkFBd0IsRUFBRSxtQkFBbUI7SUFDN0Msc0JBQXNCLEVBQUUsNEJBQTRCO0lBQ3BELHFCQUFxQixFQUFFLDJCQUEyQjtJQUNsRCxpQkFBaUIsRUFBRSxpRkFBaUY7QUFDeEc7O0FBRUE7O0VBRUU7QUFDRjtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsZUFBZTtJQUNmLG1CQUFtQjtBQUN2Qjs7QUFFQTs7RUFFRTs7QUFFRixxQkFBcUI7QUFDckIsMkRBQTJEO0FBQzNELGdCQUFnQjtBQUNoQiwyQkFBMkI7QUFDM0IsSUFBSTs7QUFFSjtJQUNJLFlBQVk7QUFDaEI7QUFDQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUNBQXVDO0lBQ3ZDLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7O0VBRUU7O0FBRUYsb0NBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixJQUFJOztBQUVKO0lBQ0ksa0VBQWtFO0lBQ2xFLHVCQUF1QjtJQUN2QixtQkFBbUIsRUFBRSxvQ0FBb0M7SUFDekQseUNBQXlDO0FBQzdDOztBQUVBO0lBQ0ksa0VBQWtFO0lBQ2xFLHNDQUFzQztJQUN0QyxtQkFBbUIsRUFBRSxvQ0FBb0M7SUFDekQseUNBQXlDO0FBQzdDOztBQUVBO0lBQ0ksU0FBUztBQUNiOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kscUNBQXFDO0FBQ3pDOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGlCQUFpQjtBQUNyQjs7QUFFQTs7QUFFQTs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0k7UUFDSSxhQUFhO0lBQ2pCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGFBQWE7SUFDakI7O0lBRUE7UUFDSSxjQUFjO0lBQ2xCO0FBQ0o7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsc0JBQXNCO0FBQzFCOztBQUVBOztFQUVFO0FBQ0Y7SUFDSTs7OzsyQkFJdUI7QUFDM0I7O0FBRUE7SUFDSSw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSw4QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSTtRQUNJOzttREFFMkM7UUFDM0MscUNBQXFDO0lBQ3pDO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLHFDQUFxQztRQUNyQyw0QkFBNEI7SUFDaEM7QUFDSjs7QUFFQTtJQUNJLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osbUJBQW1CO0FBQ3ZCOztBQUVBOztFQUVFOztBQUVGO0lBQ0ksV0FBVztJQUNYLG1CQUFtQjtBQUN2Qjs7O0FBR0E7O0VBRUU7O0FBRUY7SUFDSSwrQkFBK0I7SUFDL0IsVUFBVTtJQUNWLGtCQUFrQjtBQUN0Qjs7O0FBR0E7SUFDSSxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLFFBQVE7QUFDWjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYiwrQkFBK0I7SUFDL0IsbUJBQW1CO0lBQ25CLGNBQWM7QUFDbEI7O0FBRUEsMkNBQTJDO0FBQzNDLCtCQUErQjtBQUMvQixJQUFJOztBQUVKLDJDQUEyQztBQUMzQyw2Q0FBNkM7QUFDN0MsSUFBSTs7QUFFSjtJQUNJLG1CQUFtQjtJQUNuQixnQ0FBZ0M7SUFDaEMsU0FBUztBQUNiLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL21haW4uY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuQ09MT1JTXG4gKi9cblxuOnJvb3Qge1xuICAgIC0tZ3AtcHJpbWFyeS1jb2xvcjogI2JmMzAyNztcbiAgICAtLWVjby1wcmltYXJ5LWNvbG9yOiAjMDBhMzg4O1xufVxuXG4uYmctZ3AtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3AtcHJpbWFyeS1jb2xvcik7XG59XG5cbi5iZy1lY28tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZWNvLXByaW1hcnktY29sb3IpO1xufVxuXG4udGV4dC1ncC1wcmltYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tZ3AtcHJpbWFyeS1jb2xvcik7XG59XG5cbi50ZXh0LWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjZmUyZmY7XG59XG5cbi5iZy1ibGFjay0yMCB7XG4gICAgYmFja2dyb3VuZDogcmdiKDAgMCAwIC8gMjAlKTtcbn1cblxuLyoqXG5QT1NJVElPTlNcbiAqL1xuXG4uanVzdGlmeS1zZWxmLWNlbnRlciB7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG59XG5cbi5pbnB1dC1xdGUge1xuICAgIHdpZHRoOiA1ZW07XG59XG5cbi5saW5rYWJsZS1hY2Nlc3NvaXJlcyAuaW5wdXQtcXRlIHtcbiAgICB3aWR0aDogM2VtO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ncmlkLXRpdGxlIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xufVxuXG4uZ3JpZC1maWxsIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xufVxuXG4uZC1mbGV4IGgxIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5hY3Rpb24tYnV0dG9ucyB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbn1cblxuLyoqXG5XSURUSFxuICovXG4udy00NXB4IHtcbiAgICB3aWR0aDogNDVweDtcbn1cblxuLyoqXG5CVVRUT05TXG4gKi9cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IGluaXRpYWwgIWltcG9ydGFudDtcbn1cblxuLmNvbnRlbnQtaGFsZiA+IGRpdixcbi5jb250ZW50LWhhbGYgPiAuYnRuIHtcbiAgICBmbGV4OiAxIDAgNTAlO1xufVxuXG4vKipcblRBQkxFU1xuICovXG4udGFibGUtZml4ZWQge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZm9ybS1sYWJlbC5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiICpcIjtcbiAgICBjb2xvcjogcmVkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjJlbTtcbiAgICByaWdodDogLTAuNmVtO1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG59XG5cblxuXG4vKipcblNUUlVDVFVSRVxuICovXG5cbmh0bWwsXG5ib2R5IHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xufVxuXG5ib2R5IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwdnc7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNCwgYXV0bykgMWZyIGF1dG87XG59XG5cbi5zcGFuLTIge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG5cbi8qKlxuRk9PVEVSXG4gKi9cblxuLmZvb3Rlci1pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG59XG5cbmZvb3RlciBoMiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5mb290ZXIgcCxcbmZvb3RlciBhIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvb3Rlci1pbm5lciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwiYWJvdXQgYWJvdXRcIlxuICAgICAgICAgICAgXCJjb250YWN0IG5ldHdvcmtcIlxuICAgICAgICAgICAgXCJjb250YWN0IG5ld3NsZXR0ZXJcIjtcbiAgICAgICAgZ2FwOiAxZW07XG4gICAgfVxuXG4gICAgLmFib3V0LXVzIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhYm91dDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb250YWN0O1xuICAgIH1cblxuICAgIC5zb2NpYWwtbmV0d29yayB7XG4gICAgICAgIGdyaWQtYXJlYTogbmV0d29yaztcbiAgICB9XG5cbiAgICAubmV3c2xldHRlciB7XG4gICAgICAgIGdyaWQtYXJlYTogbmV3c2xldHRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXG4gICAgLmZvb3Rlci1pbm5lciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcImFib3V0IGNvbnRhY3QgbmV0d29ya1wiXG4gICAgICAgICAgICBcImFib3V0IGNvbnRhY3QgbmV3c2xldHRlclwiO1xuICAgICAgICBnYXA6IDFlbSAxLjVlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb290ZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBmb290ZXIgcCxcbiAgICBmb290ZXIgYSAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIH1cbn1cblxuXG4vKipcbkNBUkQgUEFQSUVSXG4gKi9cblxuLmNhcmQtcGFwaWVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxLjJlbTtcbn1cblxuLmNhcmQtcGFwaWVyIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTByZW07XG59XG5cbi5jYXJkLXBhcGllciAuY2FyZC10ZXh0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblxuICAgIC5jYXJkLXBhcGllci13cmFwcGVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjJlbSwgMWZyKSk7XG4gICAgfVxufVxuXG5cbi8qKlxuQ0FSRCBCVVJFQVVUSVFVRVxuICovXG5cbi5jYXJkLWJ1cmVhdXRpcXVlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxLjJlbTtcbn1cblxuLmNhcmQtYnVyZWF1dGlxdWUgaW1nIHtcbiAgICBoZWlnaHQ6IDhlbTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uY2FyZC1idXJlYXV0aXF1ZSBoMiB7XG4gICAgZm9udC1zaXplOiAxLjEwcmVtO1xufVxuXG4uY2FyZC1idXJlYXV0aXF1ZSAuY2FyZC10ZXh0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblxuICAgIC5jYXJkLWJ1cmVhdXRpcXVlLXdyYXBwZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMmVtLCAxZnIpKTtcbiAgICB9XG59XG5cblxuLyoqXG5DQVJEIEFEUkVTU0VcbiAqL1xuXG4uYWRyZXNzZS1lbnRyZXByaXNlIC5tZXRhIHtcbiAgICBmbGV4OiAwO1xufVxuXG4vKipcbk5BVkJBUlxuICovXG4ubmF2YmFyLWJyYW5kIC5zbWFsbC1sb2dvIHtcbiAgICB3aWR0aDogOC40ZW07XG59XG5cbi5uYXZiYXItc2VhcmNoIHtcbiAgICBmbGV4LWJhc2lzOiAyNWVtOyAvKjM1ZW07Ki9cbn1cblxuI21haW4tbWVudSAubmF2YmFyIHtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG5cbiNtYWluLW1lbnUgLm5hdi1saW5rIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaW5wdXQtcXRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pbnB1dC1xdGU6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tYnMtZ3JheS01MDApO1xufVxuXG5cbi8qKlxuICAgIFBST01PVElPTlNcbiAqL1xuXG4jcHJvbW90aW9ucyBhcnRpY2xlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcInJlZmVyZW5jZS13cmFwcGVyIHByaXgtcmVndWxhci13cmFwcGVyIHByaXgtcHJvbW8td3JhcHBlclwiXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uLXdyYXBwZXIgZGVzY3JpcHRpb24td3JhcHBlciBkZXNjcmlwdGlvbi13cmFwcGVyXCJcbiAgICAgICAgICAgIFwiYWN0aW9uLWJ1dHRvbnMgYWN0aW9uLWJ1dHRvbnMgYWN0aW9uLWJ1dHRvbnNcIjtcbn1cblxuI3Byb21vdGlvbnMgLnJlZmVyZW5jZS13cmFwcGVyIHtcbiAgICBncmlkLWFyZWE6IHJlZmVyZW5jZS13cmFwcGVyO1xufVxuXG4jcHJvbW90aW9ucyAucHJpeC1yZWd1bGFyLXdyYXBwZXIge1xuICAgIGdyaWQtYXJlYTogcHJpeC1yZWd1bGFyLXdyYXBwZXI7XG59XG5cbiNwcm9tb3Rpb25zIC5wcml4LXByb21vLXdyYXBwZXIge1xuICAgIGdyaWQtYXJlYTogcHJpeC1wcm9tby13cmFwcGVyO1xufVxuXG4jcHJvbW90aW9ucyAuZGVzY3JpcHRpb24td3JhcHBlciB7XG4gICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbi13cmFwcGVyO1xufVxuXG4jcHJvbW90aW9ucyAuYWN0aW9uLWJ1dHRvbnMge1xuICAgIGdyaWQtYXJlYTogYWN0aW9uLWJ1dHRvbnM7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG59XG5cbiNwcm9tb3Rpb25zIGFydGljbGUge1xuICAgIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG5cbiAgICAjcHJvbW90aW9ucyAuaXRlbXMtaGVhZGVyLFxuICAgICNwcm9tb3Rpb25zIGFydGljbGUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDdlbSAxZnIgN2VtIDdlbSAxOWVtO1xuICAgIH1cblxuICAgICNwcm9tb3Rpb25zIGFydGljbGUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInJlZmVyZW5jZS13cmFwcGVyIGRlc2NyaXB0aW9uLXdyYXBwZXIgcHJpeC1yZWd1bGFyLXdyYXBwZXIgcHJpeC1wcm9tby13cmFwcGVyIGFjdGlvbi1idXR0b25zXCI7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgI3Byb21vdGlvbnMgLmFjdGlvbi1idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgfVxuXG4gICAgI3Byb21vdGlvbnMgZm9ybSB7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgIH1cbn1cblxuXG4vKipcbkFGRklDSEFHRSBERVMgUEFQSUVSU1xuICovXG5cbi5wYXBpZXItaW5uZXIge1xuICAgIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG59XG5cbi5jYXJhY3RlcmlzdGlxdWUtd3JhcHBlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG59XG5cbi5jYXJhY3RlcmlzdGlxdWUtd3JhcHBlcjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblxuICAgIC5wYXBpZXItaW5uZXIge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIC5jYXJhY3RlcmlzdGlxdWUtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FyYWN0ZXJpc3RpcXVlLXdyYXBwZXI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxufVxuXG5cbi8qKlxuQUZGSElDSEFHRSBERVMgQVJUSUNMRVMgQlVSRUFVVElRVUVcbiAqL1xuXG4uYnVyZWF1dGlxdWUtaXRlbS5jYXJkIC5pdGVtLWZpcnN0LXBob3RvIHtcbiAgICBoZWlnaHQ6IDEwZW07XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmJ1cmVhdXRpcXVlLWl0ZW0uY2FyZCAuY2FyZC10ZXh0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogMCAxZW07XG59XG5cbi5idXJlYXV0aXF1ZS1pdGVtLmNhcmQgLmNhcmQtdGV4dCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cblxuLmJ1cmVhdXRpcXVlLWl0ZW0uY2FyZCAuY2FyZC1tZXRhIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogMC4zZW0gMWVtO1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cblxuLmJ1cmVhdXRpcXVlLWl0ZW0gLmFjdGlvbi1idXR0b25zPmEge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG5cbiAgICAuYnVyZWF1dGlxdWUtaXRlbS5jYXJkIC5pdGVtLWZpcnN0LXBob3RvIHtcbiAgICAgICAgaGVpZ2h0OiAxM2VtO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuXG59XG5cblxuLyoqXG5BRkZJQ0hBR0UgRCdVTiBTRVVMIEFSVElDTEUgQlVSRUFVVElRVUVcbiAqL1xuXG4jYXJ0aWNsZS1zeW50aGVzZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJhcnRpY2xlLXRpdGxlXCIgXCJhcnRpY2xlLWNhcm91c2VsXCIgXCJzeW50aGVzZS1ncm91cFwiIFwiYXJ0aWNsZS1kaXNwb1wiIFwiaW5wdXQtY2FydFwiO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cblxuLmFydGljbGUtdGl0bGUge1xuICAgIGdyaWQtYXJlYTogYXJ0aWNsZS10aXRsZTtcbn1cblxuLnN5bnRoZXNlLWdyb3VwIHtcbiAgICBncmlkLWFyZWE6IHN5bnRoZXNlLWdyb3VwXG59XG5cbiNpdGVtLWNhcm91c2VsIHtcbiAgICBncmlkLWFyZWE6IGFydGljbGUtY2Fyb3VzZWw7XG59XG5cbi5hcnRpY2xlLWNvZGVzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgZ2FwOiAwLjJlbSAxZW07XG59XG5cbi5kaXNwbyB7XG4gICAgZ3JpZC1hcmVhOiBhcnRpY2xlLWRpc3BvO1xufVxuXG4uaW5wdXQtY2FydCB7XG4gICAgZ3JpZC1hcmVhOiBpbnB1dC1jYXJ0O1xufVxuXG4uYXJ0aWNsZS1zcGVjaWZpY2F0aW9ucy1jb250ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAwLjRlbSAwLjVlbTtcbn1cblxuLmFydGljbGUtcGRmcyBhIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5hcnRpY2xlLXNpYmxpbmcgaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgbWFyZ2luOiAxcmVtO1xuICAgIGhlaWdodDogMTVlbTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblxuICAgICNhcnRpY2xlLXN5bnRoZXNlIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgICAgICBcImFydGljbGUtY2Fyb3VzZWwgYXJ0aWNsZS10aXRsZVwiXG4gICAgICAgICAgICAgICAgXCJhcnRpY2xlLWNhcm91c2VsIHN5bnRoZXNlLWdyb3VwXCJcbiAgICAgICAgICAgICAgICBcImFydGljbGUtY2Fyb3VzZWwgYXJ0aWNsZS1kaXNwb1wiXG4gICAgICAgICAgICAgICAgXCJhcnRpY2xlLWNhcm91c2VsIGlucHV0LWNhcnRcIjtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtaXRlbSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDIycmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG5cbiAgICAuY2Fyb3VzZWwtaXRlbSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDI1cmVtO1xuICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1kZXRhaWxzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMHJlbSAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgXCIuIGRldGFpbHMtdGl0bGVcIlxuICAgICAgICAgICAgICAgIFwiLiBhcnRpY2xlLXBkZnNcIlxuICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb24tdGl0bGUgYXJ0aWNsZS1kZXNjcmlwdGlvbi1jb250ZW50XCJcbiAgICAgICAgICAgICAgICBcInNwZWNpZmljYXRpb25zLXRpdGxlIGFydGljbGUtc3BlY2lmaWNhdGlvbnMtY29udGVudFwiO1xuICAgICAgICBnYXA6IDEuM2VtIDA7XG4gICAgfVxuXG4gICAgLmFydGljbGUtZGV0YWlscyBoMiB7XG4gICAgICAgIGdyaWQtYXJlYTogZGV0YWlscy10aXRsZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1wZGZzIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhcnRpY2xlLXBkZnM7XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uLXRpdGxlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbi10aXRsZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1kZXNjcmlwdGlvbi1jb250ZW50IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhcnRpY2xlLWRlc2NyaXB0aW9uLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLnNwZWNpZmljYXRpb25zLXRpdGxlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBzcGVjaWZpY2F0aW9ucy10aXRsZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1zcGVjaWZpY2F0aW9ucy1jb250ZW50IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhcnRpY2xlLXNwZWNpZmljYXRpb25zLWNvbnRlbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgIGdhcDogMCAxZW07XG4gICAgfVxuXG59XG5cblxuXG4vKipcbkFDQ0VTU09JUkVTXG4gKi9cblxuI2FjdGl2ZS1jYXRlZ29yaWVzIC5jYXJkIHtcbiAgICAvKmhlaWdodDogMTBlbTsqL1xufVxuXG4jYWN0aXZlLWNhdGVnb3JpZXMgLmNhcmQgaW1nIHtcbiAgICBoZWlnaHQ6IDkuOGVtO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5hY2Nlc3NvaXJlLWlubmVyIHtcbiAgICAvKmJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7Ki9cbiAgICBnYXA6IDAuMmVtO1xufVxuXG4uYWNjZXNzb2lyZS1pbm5lciAuY2FyYWN0ZXJpc3RpcXVlLXdyYXBwZXIge1xuICAgIGZsZXg6IDAgMSA0NSU7XG4gICAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbn1cblxuLmFjY2Vzc29pcmUtaW1hZ2UuY2FyZC1pbWctdG9wIHtcbiAgICBoZWlnaHQ6IDEzcmVtO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5hY2Nlc3NvaXJlLW5vLWltYWdlLmNhcmQtaW1nLXRvcCB7XG4gICAgaGVpZ2h0OiAxM3JlbTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uYWNjZXNzb2lyZXMtZGVzY3JpcHRpb24ge1xuICAgIGhlaWdodDogMy45cmVtO1xufVxuXG4uY3JlYXRlLWFjY2Vzc29yeS1pbWFnZSB7XG4gICAgaGVpZ2h0OiA2cmVtO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYWNjZXNzb2lyZS1jYXRlZ29yeSAuYWNjZXNzb2lyZS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxNnJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5hY2Nlc3NvaXJlLWNhdGVnb3J5IC5hY2Nlc3NvaXJlLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDE5cmVtO1xuICAgIH1cblxuICAgIC5hY2Nlc3NvaXJlLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuYWNjZXNzb2lyZS1pbm5lciAuY2FyYWN0ZXJpc3RpcXVlLXdyYXBwZXIge1xuICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgICNhY2Nlc3NvaXJlcyBmb3JtIHtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgfVxuXG4gICAgI2FjY2Vzc29pcmVzIGZvcm1bbmFtZT0nYWRkX2l0ZW1fdG9fY2FydF9mb3JtJ10ge1xuICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICB9XG59XG5cblxuLyoqXG5TSU5HTEUgQUNDRVNTT0lSRVxuICovXG5cbiNhY2Nlc3NvaXJlLXN5bnRoZXNlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJhY2Nlc3NvaXJlLXRpdGxlXCIgXCJhY2Nlc3NvaXJlLXBob3RvXCIgXCJhY2Nlc3NvaXJlLWRlc2NyaXB0aW9uXCIgXCJzeW50aGVzZS1ncm91cFwiIFwiaW5wdXQtY2FydFwiO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IDFlbSAzZW07XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuXG4jYWNjZXNzb2lyZS1zeW50aGVzZS5uby1waG90byB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJhY2Nlc3NvaXJlLXRpdGxlXCIgXCJhY2Nlc3NvaXJlLWRlc2NyaXB0aW9uXCIgXCJzeW50aGVzZS1ncm91cFwiIFwiaW5wdXQtY2FydFwiO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IDFlbSAwO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbn1cblxuI2FjY2Vzc29pcmUtdGl0bGUge1xuICAgIGdyaWQtYXJlYTogYWNjZXNzb2lyZS10aXRsZTtcbn1cblxuI2FjY2Vzc29pcmUtcGhvdG8ge1xuICAgIGdyaWQtYXJlYTogYWNjZXNzb2lyZS1waG90bztcbn1cblxuI2FjY2Vzc29pcmUtZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtYXJlYTogYWNjZXNzb2lyZS1kZXNjcmlwdGlvbjtcbn1cblxuI2FjY2Vzc29pcmUtc3ludGhlc2UtZ3JvdXAge1xuICAgIGdyaWQtYXJlYTogc3ludGhlc2UtZ3JvdXA7XG59XG5cbiNhY2Nlc3NvaXJlLXN5bnRoZXNlIC5pbnB1dC1jYXJ0IHtcbiAgICBncmlkLWFyZWE6IGlucHV0LWNhcnQ7XG59XG5cbi5hY2Nlc3NvaXJlLWNvZGVzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgZ2FwOiAwLjJlbSAxZW07XG59XG5cbiNhY2Nlc3NvaXJlLXBob3RvIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubGlua2VkLWFjY2Vzc29pcmUtcGhvdG8gaW1nIHtcbiAgICBoZWlnaHQ6IDhlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4ubGlua2VkLWFjY2Vzc29pcmUtY29kZXMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgZ2FwOiAwLjJlbSAxZW07XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblxuICAgICNhY2Nlc3NvaXJlLXN5bnRoZXNlLm5vLXBob3RvIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgICAgICBcImFjY2Vzc29pcmUtdGl0bGVcIlxuICAgICAgICAgICAgICAgIFwiYWNjZXNzb2lyZS1kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgXCJzeW50aGVzZS1ncm91cFwiXG4gICAgICAgICAgICAgICAgXCJpbnB1dC1jYXJ0XCJcbiAgICAgICAgO1xuICAgICAgICBnYXA6IDFlbSAwO1xuICAgIH1cblxuICAgICNhY2Nlc3NvaXJlLXN5bnRoZXNlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIC8qZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjsqL1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgICAgIFwiYWNjZXNzb2lyZS10aXRsZSBhY2Nlc3NvaXJlLXRpdGxlXCJcbiAgICAgICAgICAgICAgICBcImFjY2Vzc29pcmUtZGVzY3JpcHRpb24gYWNjZXNzb2lyZS1kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgXCJhY2Nlc3NvaXJlLXBob3RvIHN5bnRoZXNlLWdyb3VwXCJcbiAgICAgICAgICAgICAgICAvKlwiYWNjZXNzb2lyZS1waG90byBhcnRpY2xlLWRpc3BvXCIqL1xuICAgICAgICAgICAgICAgIFwiYWNjZXNzb2lyZS1waG90byBpbnB1dC1jYXJ0XCJcbiAgICAgICAgO1xuICAgIH1cblxuICAgICNhY2Nlc3NvaXJlLXBob3RvIGltZyB7XG4gICAgICAgIGhlaWdodDogMjBlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxufVxuXG5cbi8qKlxuUkVDSEVSQ0hFU1xuICovXG5cbiNjb3VudC1zZWFyY2gtcGFwaWVycyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3AtcHJpbWFyeS1jb2xvcik7XG59XG5cbi5yZXN1bHQtc2VhcmNoIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogMCAxZW07XG59XG5cblxuLyoqXG5MT0dJTlxuICovXG5cbi5sb2dpbi1jYXJkIC5jYXJkLWltZyB7XG4gICAgaGVpZ2h0OiAzMGVtO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uaW5hY3RpdmVzLWltYWdlcyAubG9naW4tY2FyZCAuY2FyZC1pbWcge1xuICAgIGhlaWdodDogMTQuNmVtO1xufVxuXG4ubG9naW4tY2FyZCAudXBkYXRlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xufVxuXG4uY3VycmVudC1sb2dpbi1pbWFnZSBpbWcge1xuICAgIGhlaWdodDogMTVyZW07XG59XG5cblxuLyoqXG5BRFJFU1NFUyBERVMgRU5UUkVQUklTRVNcbiAqL1xuXG4uY2FyZC5hZHJlc3NlLWVudHJlcHJpc2UgLmNhcmQtdGV4dCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY2FyZC5hZHJlc3NlLWVudHJlcHJpc2UgLmNhcmQtZm9vdGVyIGEge1xuICAgIGZvbnQtc2l6ZTogc21hbGw7XG59XG5cblxuLyoqXG5DQVJUXG4gKi9cblxuLmNhcnQtaXRlbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwiaW1hZ2VcIlxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBcInJlZmVyZW5jZVwiXG4gICAgICAgICAgICBcInF1YW50aXRlXCJcbiAgICAgICAgICAgIFwicHJpY2VzXCJcbiAgICAgICAgICAgIFwiYWN0aW9uc1wiXG4gICAgO1xufVxuXG4uY2FydC1pdGVtLmhhcy1pbWFnZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0ZnIgNmZyO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcImltYWdlIGRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFwiaW1hZ2UgcmVmZXJlbmNlXCJcbiAgICAgICAgICAgIFwiaW1hZ2UgcXVhbnRpdGVcIlxuICAgICAgICAgICAgXCJwcmljZXMgcHJpY2VzXCJcbiAgICAgICAgICAgIFwiYWN0aW9ucyBhY3Rpb25zXCJcbjtcbn1cblxuLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTtcbn1cblxuI2NhcnQtaGVhZGVyIC5kZXNjcmlwdGlvbixcbi5jYXJ0LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247XG59XG5cbiNjYXJ0LWhlYWRlciAucmVmZXJlbmNlLFxuLmNhcnQtaXRlbS1yZWZlcmVuY2Uge1xuICAgIGdyaWQtYXJlYTogcmVmZXJlbmNlO1xufVxuXG4jY2FydC1oZWFkZXIgLnByaWNlcyxcbi5jYXJ0LWl0ZW0tcHJpY2VzIHtcbiAgICBncmlkLWFyZWE6IHByaWNlcztcbn1cblxuI2NhcnQtaGVhZGVyIC5xdWFudGl0ZSxcbi5jYXJ0LWl0ZW0tcXVhbnRpdGUge1xuICAgIGdyaWQtYXJlYTogcXVhbnRpdGU7XG59XG5cbiNjYXJ0LWhlYWRlciAuYWN0aW9ucyxcbi5jYXJ0LWl0ZW0tYWN0aW9ucyB7XG4gICAgZ3JpZC1hcmVhOiBhY3Rpb25zO1xufVxuXG4uY2FydC1pdGVtLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogN3JlbTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblxuICAgIC5jYXJ0LWl0ZW0ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvbiByZWZlcmVuY2VcIlxuICAgICAgICAgICAgXCJwcmljZXMgYWN0aW9uc1wiXG4gICAgO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0uaGFzLWltYWdlIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5ZW0gMWZyIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcImltYWdlIGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFwiaW1hZ2UgcmVmZXJlbmNlIHJlZmVyZW5jZVwiXG4gICAgICAgICAgICBcImltYWdlIHByaWNlcyBhY3Rpb25zXCJcbiAgICA7XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgfVxuXG4gICAgLmRpc3BsYXktb3JkZXIgLmNhcnQtaXRlbS1wcmljZXMsXG4gICAgLmRpc3BsYXktb3JkZXIgLmNhcnQtaXRlbS1hY3Rpb25zIHtcbiAgICAgICAgZmxleDogNDUlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG5cbiAgICAuY29tbWFuZGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyZXk7XG4gICAgICAgIHBhZGRpbmc6IDAuOGVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgfVxuXG4gICAgI2NhcnQtaGVhZGVyLFxuICAgIC5jYXJ0LWl0ZW0ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDllbSAzMWVtIDFmciAyZnIgMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uIHJlZmVyZW5jZSBwcmljZXMgYWN0aW9uc1wiO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0uaGFzLWltYWdlIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5ZW0gMzFlbSAxZnIgMmZyIDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSBkZXNjcmlwdGlvbiByZWZlcmVuY2UgcHJpY2VzIGFjdGlvbnNcIjtcbiAgICB9XG4gICAgXG4gICAgLmRpc3BsYXktb3JkZXIgLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgICAgIGZsZXg6IDAgMCA1ZW07XG4gICAgfVxuXG4gICAgLyouY2FydC1pdGVtLWRlc2NyaXB0aW9uIHsqL1xuICAgIC8qICAgIGZsZXg6IDAgMCAzM2VtOyovXG4gICAgLyp9Ki9cblxuICAgIC5kaXNwbGF5LW9yZGVyIC5jYXJ0LWl0ZW0tcmVmZXJlbmNlLFxuICAgIC5kaXNwbGF5LW9yZGVyICNjYXJ0LWhlYWRlciAucmVmZXJlbmNlIHtcbiAgICAgICAgZmxleDogMCAwIDEzZW07XG4gICAgfVxuXG4gICAgLmRpc3BsYXktb3JkZXIgLmNhcnQtaXRlbS1xdWFudGl0ZSxcbiAgICAuZGlzcGxheS1vcmRlciAjY2FydC1oZWFkZXIgLnF1YW50aXRle1xuICAgICAgICBmbGV4OiAwIDAgNC41ZW07XG4gICAgfVxuXG4gICAgLmRpc3BsYXktb3JkZXIgLmNhcnQtaXRlbS1wcmljZXMsXG4gICAgLmRpc3BsYXktb3JkZXIgI2NhcnQtaGVhZGVyIC5wcmljZXMge1xuICAgICAgICBmbGV4OiAwIDAgMjJlbTtcbiAgICAgICAgZ2FwOiAwIDAuNWVtO1xuICAgIH1cblxuICAgIC5kaXNwbGF5LW9yZGVyIC5jYXJ0LWl0ZW0tYWN0aW9ucyxcbiAgICAuZGlzcGxheS1vcmRlciAjY2FydC1oZWFkZXIgLmFjdGlvbnN7XG4gICAgICAgIGZsZXg6IDAgMCAxNS41ZW07XG4gICAgfVxuXG59XG5cblxuLyoqXG5DQVJUIENPTlZFUlQgUE9JTlRTXG4gKi9cblxuI2NvbnZlcnQtcG9pbnRzLWNvbnRlbnQgLnZhbHVlIHtcbiAgICBmbGV4OiAwIDAgNWVtO1xufVxuXG4jcG9pbnRzLXRvLXVzZS1mb3JtIC5hbGVydC5hbGVydC1kYW5nZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cbiAgICAjcG9pbnRzLXRvLXVzZS1pbm5lciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcImxhYmVsIHdpZGdldHNcIlxuICAgICAgICAgICAgXCJtZXNzYWdlIG1lc3NhZ2VcIlxuICAgICAgICAgICAgXCJlcnJvciBlcnJvclwiO1xuICAgIH1cblxuICAgICNwb2ludHMtdG8tdXNlLWdyb3VwIC5sYWJlbCB7XG4gICAgICAgIGdyaWQtYXJlYTogbGFiZWw7XG4gICAgfVxuXG4gICAgI3BvaW50cy10by11c2UtZ3JvdXAgLndpZGdldHMge1xuICAgICAgICBncmlkLWFyZWE6IHdpZGdldHM7XG4gICAgfVxuXG4gICAgI3BvaW50cy10by11c2UtZ3JvdXAgLm1lc3NhZ2Uge1xuICAgICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgI3BvaW50cy10by11c2UtZ3JvdXAgLmZvcm0tZXJyb3Ige1xuICAgICAgICBncmlkLWFyZWE6IGVycm9yO1xuICAgICAgICBwbGFjZS1zZWxmOiBlbmQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblxuICAgICNjb252ZXJ0LXBvaW50cy1jb250ZW50IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwiY3VycmVudC1iYWxhbmNlIGN1cnJlbnQtdG90YWwtdHRjXCJcbiAgICAgICAgICAgIFwicG9pbnRzLXRvLXVzZSBhbW91bnQtY29udmVydGVkXCJcbiAgICAgICAgICAgIFwicG9pbnRzLWFjcXVpcmVkIG5ldy10b3RhbC10dGNcIlxuICAgICAgICAgICAgXCJuZXctYmFsYW5jZSAuXCJcbiAgICAgICAgICAgIFwiY29udmVydC1wb2ludHMtYWN0aW9uIGNvbnZlcnQtcG9pbnRzLWFjdGlvblwiO1xuICAgIH1cblxuICAgICNjdXJyZW50LWJhbGFuY2UtZ3JvdXAge1xuICAgICAgICBncmlkLWFyZWE6IGN1cnJlbnQtYmFsYW5jZTtcbiAgICB9XG5cbiAgICAjY3VycmVudC10b3RhbC10dGMtZ3JvdXAge1xuICAgICAgICBncmlkLWFyZWE6IGN1cnJlbnQtdG90YWwtdHRjO1xuICAgIH1cblxuICAgICNwb2ludHMtdG8tdXNlLWdyb3VwIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBwb2ludHMtdG8tdXNlO1xuICAgIH1cblxuICAgICNhbW91bnQtY29udmVydGVkLWdyb3VwIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhbW91bnQtY29udmVydGVkO1xuICAgIH1cblxuICAgICNuZXctdG90YWwtdHRjLWdyb3VwIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBuZXctdG90YWwtdHRjO1xuICAgIH1cblxuICAgICNwb2ludHMtYWNxdWlyZWQtZ3JvdXAge1xuICAgICAgICBncmlkLWFyZWE6IHBvaW50cy1hY3F1aXJlZDtcbiAgICB9XG5cbiAgICAjbmV3LWJhbGFuY2UtZ3JvdXAge1xuICAgICAgICBncmlkLWFyZWE6IG5ldy1iYWxhbmNlO1xuICAgIH1cblxuICAgIC5jb252ZXJ0LXBvaW50cy1hY3Rpb24tYnV0dG9ucyB7XG4gICAgICAgIGdyaWQtYXJlYTogY29udmVydC1wb2ludHMtYWN0aW9uO1xuICAgIH1cblxuICAgICNwb2ludHMtdG8tdXNlLWdyb3VwIC5sYWJlbCB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cblxuICAgICNwb2ludHMtdG8tdXNlLWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBmb250LXdlaWdodDogMC45ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgICNwb2ludHMtdG8tdXNlLWlubmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgfVxuXG4gICAgI3BvaW50cy10by11c2UtZ3JvdXAgLmZvcm0tZXJyb3Ige1xuICAgICAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG59XG5cbi5jb21tYW5kZSB+IC5jb21tYW5kZSB7XG4gICAgbWFyZ2luLXRvcDogMS4yZW07XG59XG5cbi5jb21tYW5kZSAudGl0cmUtY29tbWFuZGUge1xuICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICBmb250LXZhcmlhbnQ6IGFsbC1zbWFsbC1jYXBzO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIC50ZXh0LFxuLmxpc3QtZ3JvdXAtaXRlbSAudGV4dDphY3RpdmUsXG4ubGlzdC1ncm91cC1pdGVtIC50ZXh0OmhvdmVyLFxuLmxpc3QtZ3JvdXAtaXRlbSAudGV4dDpmb2N1cyxcbi5saXN0LWdyb3VwLWl0ZW0gLnRleHQ6dmlzaXRlZCB7XG4gICAgLypiYWNrZ3JvdW5kOiByZWQ7Ki9cbn1cblxuLmhhbmRsZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xufVxuXG4ubm9zZWxlY3Qge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgLyogaU9TIFNhZmFyaSAqL1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsgLyogS29ucXVlcm9yIEhUTUwgKi9cbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAvKiBPbGQgdmVyc2lvbnMgb2YgRmlyZWZveCAqL1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lOyAvKiBOb24tcHJlZml4ZWQgdmVyc2lvbiwgY3VycmVudGx5IHN1cHBvcnRlZCBieSBDaHJvbWUsIEVkZ2UsIE9wZXJhIGFuZCBGaXJlZm94ICovXG59XG5cbi8qKlxuVVBEQVRFIENBVEVHT1JZXG4gKi9cbi51cGRhdGUtY2F0ZWdvcnktaW1hZ2Uge1xuICAgIGhlaWdodDogMTVlbTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyoqXG5VUERBVEUgU0VUVElOR1NcbiAqL1xuXG4vKi51cGRhdGUtc2V0dGluZ3MgeyovXG4vKiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyM2VtIDZlbSByZXBlYXQoMiwgYXV0byk7Ki9cbi8qICAgIGdhcDogMmVtOyovXG4vKiAgICBhbGlnbi1pdGVtczogY2VudGVyOyovXG4vKn0qL1xuXG5mb3JtW25hbWU9XCJzZXR0aW5nXCJdIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4uc2V0dGluZy1jYXJkLWJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIGF1dG8pIDFmcjtcbiAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbn1cblxuLnNldHRpbmctYWN0aWYtc3VibWl0IHtcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG59XG5cbi8qKlxuQURNSU4gUEFQSUVSU1xuICovXG5cbi8qZm9ybVtuYW1lPVwicGFwaWVyXCJdIC5mb3JtLWxhYmVsIHsqL1xuLyogICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtOyovXG4vKn0qL1xuXG5mb3JtW25hbWU9XCJwYXBpZXJcIl0gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkqIDIpKTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODQ1cmVtOyAvKiBsYSB2YWxldXIgaW5pdGlhbGUgZXN0IDAuODc1cmVtICovXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbmZvcm1bbmFtZT1cInBhcGllclwiXSBzZWxlY3Qge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkqIDIpKTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDEuN3JlbSAwLjI1cmVtIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODQ1cmVtOyAvKiBsYSB2YWxldXIgaW5pdGlhbGUgZXN0IDAuODc1cmVtICovXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbmZvcm1bbmFtZT1cInBhcGllclwiXSAuZm9ybS1jaGVjayB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5mb3JtW25hbWU9XCJwYXBpZXJcIl0gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NDVyZW07XG59XG5cbiNzaWJsaW5ncy11cGRhdGUtcGFwaWVyIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG59XG5cbiNzaWJsaW5ncy11cGRhdGUtcGFwaWVyIC5wcml4LWNsaWVudCB7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG59XG5cbiNzaWJsaW5ncy11cGRhdGUtcGFwaWVyIC5saXN0LWdyb3VwLWl0ZW0gZGl2Omxhc3QtY2hpbGQge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG59XG5cbi5jYXJkLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkLXNsaWRlLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwOXB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uY2FyZC1zbGlkZSAudXBkYXRlLWJ1dHRvbixcbi5jYXJkLXNsaWRlIC5yZWFjdGl2YXRlLWJ1dHRvbiB7XG59XG5cbi5zbGlkZS1jdXJyZW50LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FyZC1zbGlkZS1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTc0cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2FyZC1zbGlkZS1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTg5cHg7XG4gICAgfVxuXG4gICAgI3NvcnRhYmxlLXNsaWRlcyAuY2FyZC1zbGlkZS1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogNS41cmVtO1xuICAgIH1cbn1cblxuZm9ybVtuYW1lPVwibWFpbnRlbmFuY2VfYmFubmVyXCJdIC5hbGVydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMi42cmVtO1xufVxuXG4vKipcblNZTlRIw4hTRSBFTlRSRVBSSVNFXG4gKi9cbi5ncmlkLWFkcmVzc2VzIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICBcImxhYmVsLWZhY3R1cmF0aW9uXCJcbiAgICAgICAgXCJhZHJlc3NlLWZhY3R1cmF0aW9uXCJcbiAgICAgICAgXCJsYWJlbC1saXZyYWlzb25cIlxuICAgICAgICBcImFkcmVzc2UtbGl2cmFpc29uXCI7XG59XG5cbi5sYWJlbC1mYWN0dXJhdGlvbiB7XG4gICAgZ3JpZC1hcmVhOiBsYWJlbC1mYWN0dXJhdGlvbjtcbn1cblxuLmxhYmVsLWxpdnJhaXNvbiB7XG4gICAgZ3JpZC1hcmVhOiBsYWJlbC1saXZyYWlzb247XG59XG5cbi5hZHJlc3NlLWZhY3R1cmF0aW9uIHtcbiAgICBncmlkLWFyZWE6IGFkcmVzc2UtZmFjdHVyYXRpb247XG59XG5cbi5hZHJlc3NlLWxpdnJhaXNvbiB7XG4gICAgZ3JpZC1hcmVhOiBhZHJlc3NlLWxpdnJhaXNvbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmdyaWQtYWRyZXNzZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgXCJsYWJlbC1mYWN0dXJhdGlvbiBsYWJlbC1saXZyYWlzb25cIlxuICAgICAgICAgICAgXCJhZHJlc3NlLWZhY3R1cmF0aW9uIGFkcmVzc2UtbGl2cmFpc29uXCI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZ3JpZC1hZHJlc3NlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gICAgfVxufVxuXG4jc2Vjb25kYXJ5LWNhcm91c2VsIGEge1xuICAgIGhlaWdodDogMTBlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNzZWNvbmRhcnktY2Fyb3VzZWwgYSBpbWcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKipcbkZBVk9VUklURVNcbiAqL1xuXG4uZmF2b3VyaXRlLWltYWdlIHtcbiAgICBoZWlnaHQ6IDhlbTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG5cbi8qKlxuU0VPXG4gKi9cblxuLnNlbyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBnYXA6IDAgMWVtO1xuICAgIC8qY29sb3I6ICMyRUNDNzE7Ki9cbn1cblxuXG4udGFibGVhdS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjtcbiAgICBnYXA6IDFlbTtcbn1cblxuLnRhYmxlYXUtZ3JpZCAubWFpbiB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbn1cblxuLnRhYmxlYXUtZ3JpZCAuc3ViIHtcbiAgICBncmlkLWNvbHVtbjogMiAvIDM7XG59XG5cbi5hY2Nlc3NvaXJlIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNWVtIDFlbTtcbn1cblxuLyoudW5zZWxlY3RlZC1hY2Nlc3NvaXJlIC5jb250ZW50IC5sYWJlbCB7Ki9cbi8qICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOyovXG4vKn0qL1xuXG4vKi51bnNlbGVjdGVkLWFjY2Vzc29pcmUgLmNvbnRlbnQgLnZhbHVlIHsqL1xuLyogICAgcGFkZGluZzogMC41cmVtIDAuMjVyZW0gMC41cmVtIDAuNXJlbTsqL1xuLyp9Ki9cblxuLnJvdy1zZXBhcmF0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NkY2U7XG4gICAgaGVpZ2h0OiAwO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/