/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/DetailProduits.css ***!
  \**********************************************************************************************************************/
:root {
    --greenMH: #21C366;
    --greyMH: #D5D5D5;
    --blueMH: #0076BA;
    --grisTextMH: #5E5E5E;
}

/*
* {
*    margin: 0;
*    padding: 0;
*    border: 0;
*    outline: 0;
*    font-size: 100%;
*    vertical-align: baseline;
*    background: transparent;
*}
*/

button{
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}

body.price-is-loading * {
    cursor: wait !important;
}

body{
    margin: 0;
}
.hidden {
    display: none;
}
p, h1{
    color: var(--grisTextMH);
}

html {
    font-family: 'Avenir', sans-serif;
    src : url("/build/fonts/Avenir%20Regular.b58b1b9c.ttf");
}

#LetsGoLaMaxiDiv{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
    justify-content: center;
    max-width: 1600px;
    min-width: 1000px;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    width: 50%;
    margin: 0 0 0 0;
    padding: 50px 0 0 0;
    justify-content: center;
    align-content: flex-start;
    top: 0;
    /*z-index: 100; !* Ensure it stays on top *!*/
    height: fit-content; /* Adjust height to content to prevent empty space */
}

.gallery__thumbnails {
    display: flex;
    flex-direction: column;
    margin-right: 10px;
}

.gallery__thumbnail {
    width: 110px;
    height: 110px;
    margin-bottom: 20px;
    cursor: pointer;
}

.gallery__main {
    width: 500px;
    height: 500px;
}

.gallery__image {
    width: 100%;
    height: auto;
}

.selectedImg{
    border: 1px solid var(--greyMH);
    border-radius: 10px;
}

.description{
    width: 80%;
    border: 1px solid var(--greyMH);
    padding: 0 30px;
    border-radius: 25px;
}

.description .titre{
    text-align: center;
}

.description .topicHead{
    position: relative; /* pour positionner l'image facilement */
    display: flex;
    justify-content: center; /* centre le texte horizontalement */
    align-items: center; /* centre verticalement le texte */
    margin: 16px 0 16px 0;
    cursor : pointer;
}

.description .topicHead .fleche {
    position: absolute;
    right: 20px;
    width: 30px;
    height: 30px;
    /*rotate: 90deg;*/
    /*background-color : #D6D6D6; */
}

.description ul{
    list-style-type: none;
    padding: 0; /* Remove padding */
}

.contactlink a{
    color: var(--greenMH);
    text-decoration: none;
    font-weight: bold;
}

.contactlink a:hover{
    border-bottom: 2px solid var(--greenMH);
}

.modalContentSuccessDivGDT{
    position : absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fefefe;
    left : 0;
    right: 0;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 30px;
    /*width: 70%;*/
    width: 850px;
    max-width: 1100px;
    height: 75vh;
    overflow: auto; /*Permet de scroll si écran trop petit*/

}

.btnCloseGDT{
    opacity: .3;
    /* cursor: pointer; */
    display: flex;
    margin: 7px 10px -7px auto;
    position: relative;
}

.btnCloseGDT:hover{
    opacity: 1;
}

.btnOpenGDT{
    margin-bottom: 15px;
    border-bottom: 1px solid transparent;
    color: var(--greenMH);
    font-size: 15px;
}

.btnOpenGDT:hover{
    border-bottom: 1px solid;
}

h1{
    font-size: 30pt;
    font-weight: normal;
    margin-bottom : 15px;
}
#prixTotal, #prixTotalDefault{
    font-size: 20px;
    font-weight: normal;
    /*padding-bottom: 15px;*/
}


.aide{
    font-size: 15px;
    color: var(--grisTextMH);
    font-style: italic;
    margin: 15px 0 12px 0;
}

.checkBoxCouleur:not(#SamePersoCheckbox){
    display: none;
}

.testBdDtoJs{
    margin: 50px 50px;
    width: 40%;
}
.inputColorLabel {
    /*float: left;*/
    /*display: flex;*/
    /*align-items: center;*/
    /*justify-content: center;*/
    /*line-height: 2.0em;*/
    /*width: 2.0em;*/
    /*height: 1.8em;*/
    /*margin-right: 5px;*/
    /*overflow: hidden;*/
    /*border-radius: 15px;*/
    /*border : 1px solid blue;*/

    display: inline-block;
    position: relative;
    cursor: pointer;
    width: 1.7em;
    margin-right: 10px;
}

.inputColorLabel .inputColorSpan {
    /*text-align: center;*/
    /*width: 2.0em;*/
    /*height: 1.7em;*/
    /*!*padding: 5px 0;*!*/
    /*display: block;*/
    /*border-radius: 15px ;*/
    /*!*border : 1px solid black;*!*/
    /*cursor: pointer;*/

    display: inline-block;
    width: 2.0em; /* adjust the size of the swatch */
    height: 1.7em;
    border-radius: 15px;
    /*border: 1px solid #ccc;*/
    margin-right: 10px;
}

.inputColorSpan::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    border-radius: inherit;
}
.checkBoxCouleur:checked +.inputColorSpan {
    border-color: var(--greenMH);
    box-shadow: 0 0 0 2px var(--greenMH);
}



#ColorList{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

.divSwitch{
    display: none;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 25px;
}

.switch {
    display: inline-block;
    height: 1.7em;
    position: relative;
    width: 50px;
}

.switch input {
    display:none;
}

.slider {
    background-color: #ccc;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .4s;
}

.slider:before {
    background-color: #fff;
    bottom: 4px;
    content: "";
    height: 1.2em;
    left: 4px;
    position: absolute;
    transition: .4s;
    width: 1.2em;
}

input:checked + .slider {
    background-color: var(--greenMH);
}

input:checked + .slider:before {
    transform: translateX(23px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

.divSwitch span{
    max-width: 80%;
    margin-left: 15px;
    color: var(--grisTextMH);

}

#recapCouleurChoisies {
    /*border : 2px solid grey;*/
    /*border-radius: 10px;*/
    /*height: 60px;*/
    /*margin-top: 15px;*/
    display: flex;
    flex-wrap: wrap;
    position:relative;
    top:1px;
}

#recapCouleurChoisies{
    display: none;
}

#recapCouleurChoisies p {
    margin-bottom: 10px;
}

#recapCouleurChoisies label span{
    cursor: pointer;
}

.ContainerCouleurSelect{
    /*margin-top: 9px;*/
    border-radius: 0 15px 15px 15px;
    border : 1px solid var(--greyMH);
    display: none;
}

.ContainerCouleurSelect .aide{
    text-align: center;

}

.divInputTaille{
    margin-top: 3%;
    margin-bottom: 2%;
    display: flex;
    flex-wrap: wrap;
    /*margin-left: 3%;*/
    justify-content: center;
    align-items: center;
}

.divInputTaille label {
    font-size: 14px;
    background-color: black;
    color: white;
    width: 100%;
    text-align: center;
    border-radius: 10px 10px 0 0;
    border-top: 4px solid black;
}

.divTaille{
    display: flex;
    width: 73px;
    flex-wrap: wrap;
    margin: 0 5px 0 5px;
    justify-content: center;
}

.divTaille .tailleUnique{
    width: 110px !important;
}

.divTaillePastile{
    display: flex;
    width: 2.0em;
    height: 1.7em;
    flex-wrap: wrap;
    margin: 0 10px 0px 5px;
    justify-content: center;
    border-radius: 15px;
}



input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {/*Remove Arrows*/
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    border : 1px solid grey;
    text-align: center;
    width: 4.0em;
    height: 1.5em;
    border-radius: 0 0 10px 10px;
}

/*Stylisation des boutons de marquage */
.techniqueDeMarquage {
    display: none;
    margin-top: 3%;
    justify-content: center;
}

.marquageCboxe, .marquageCboxe-indispo{
    margin: 20px;
    background-color: white;
    border : 1px solid white;
    border-radius: 15px;
    float: left;
    /*overflow: hidden;*/
}


.marquageCboxe label, .marquageCboxe-indispo label {

    float: left;
    line-height: 2.0em;
    width: 10.0em;
    height: 2.0em;
    /*cursor: pointer;*/
}

.marquageCboxe-indispo label{
    cursor: default;
}

.marquageCboxe span{
    padding: 3px 0;
    text-align: center;
    display: block;
    border : 1px solid #ABB2BB;
    border-radius: 15px;
}

.marquageCboxe-indispo span{
    padding: 3px 0;
    text-align: center;
    color: var(--greyMH);
    display: block;
    border : 1px solid #ABB2BB;
    border-radius: 15px;
}

.marquageCboxe-indispo .spanSerigIndispo{
    border: none;
    font-size: small;
    position: relative;
    bottom: 5px;
    line-height: 0;
}


.marquageCboxe span:hover{
    border: 1px solid var(--greenMH);
    color: var(--greenMH);
    /*background-color: rgb(33, 195, 102,0.05);*/
}

.marquageCboxe label input, .marquageCboxe-indispo label input {
    display : none;
    position : absolute;
}

.marquageCboxe input:checked + span {
    background-color: var(--greenMH);
    color : white;
    border : 1px solid white;
}
/* //////////////////////////////*/




.persoZone, .persoZoneGDT {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    padding-top: 10px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow:  hidden; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/*.persoZone input[type=file] {*/
/*    display: none;*/
/*}*/

/*.Taille{*/
/*    position: relative;*/
/*    width: 100%;*/
/*    border: 1px solid dimgrey;*/
/*    background-color: grey;*/
/*}*/

/*.affPrix {*/
/*    position : relative;*/
/*    width: 100%;*/
/*    height: 3%;*/
/*    text-align: center;*/
/*    margin : 7% 30%;*/
/*    padding-top: 3%;*/
/*    padding-bottom: 3%;*/
/*    border : 1px solid red;*/
/*    background-color: red;*/
/*}*/

.PrixTaille{
    display : grid;
    width: 100%;
    grid-template-columns: 10% 50% 30% 10%;
    /*grid-template-rows: 20% 20% 10% 28% 27%;*/
    grid-template-rows: 30px 35px 15px 60px;
    /*grid-template-columns: minmax(5px, 10%) minmax(100px, 50%) minmax(60px, 30%) minmax(5px, 10%);*/
    /*grid-template-rows: minmax(20px, 20%) minmax(20px, 20%) minmax(20px, 10%) minmax(40px, 28%) minmax(100px, 27%);*/
    /*border : 1px solid red;*/
    align-items: stretch;
    grid-auto-rows: minmax(20px, 1fr);
    grid-auto-columns: minmax(20px, 1fr);
}

#divPrix{
    width: 65%;
    /*justify-self: stretch;*/
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
    background-color: var(--greyMH);
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    border-radius: 10px 0 0 10px;
    padding-left: 10px;
}

.affPrix2{
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 2;
    grid-row-end: 3;
    background-color: var(--greyMH);
    width: 35%;
    border-radius: 0 10px 10px 0;

}

.affPrix{
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 2;
    grid-row-end: 3;
    /*background-color: var(--greyMH);*/
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}

#divTaille{
    width: 65%;
    justify-self: stretch;
    grid-column-start: 2;
    grid-column-end: 2;
    grid-row-start: 4;
    /*grid-row-end: end;*/
    background-color: var(--greyMH);
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    border-radius: 10px 0 0 10px;
    padding-left: 10px;
}
.affTaille{
    width: 35%;
    grid-column-start: 3;
    grid-column-end: 3;
    grid-row-start: 4;
    /*grid-row-end: end;*/
    background-color: var(--greyMH);
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    border-radius: 0 10px 10px 0;
}

.divButton{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-content: flex-end;
}
.modalContent{
    position : absolute;
    display : flex;
    background-color: #fefefe;
    left : 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 30px;
    /*width: 70%;*/
    /*width: 1070px;*/
    width: 1000px;
    max-width: 1100px;
    /*height: 90vh;*/
    height: 630px;
    overflow: hidden;

}
.close:hover,
.close:focus {
    cursor: pointer;
}
.TestKonva {
    overflow: clip;
    border: 1px solid var(--greyMH);
    border-radius: 10px;
    width: 680px;
    /*height: 630px;*/
    height: 590px;
    /* margin-left: 6%; */
}

.InfoButtons{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    /*height: 630px;*/
    height: 590px;

}

/*button {*/
/*    background-color: grey;*/
/*}*/


.changeButton {
    display: none;
}
.changeButtonLabel {
    display: none;
    margin-left: 10%;
    border: 2px solid var(--blueMH);
    border-radius: 15px;
    position: relative;
    /*top: 45%;*/
    height: 40px;
    /*width: 85%;*/
    text-align: center;
}
.changeButtonLabel:hover{
    cursor: pointer;
}

.changeButtonLabel > span{
    /*border: 2px solid blue;*/
    border-radius: 15px;
    position: relative;
    top: 28%;
    padding: 10px 70px;
    font-size: 14px;
    color: var(--blueMH);
}

.saveButton{
    position: relative;
    border : none;
    background-color: var(--greenMH);
    color: white;
    text-decoration: none;
    border-radius: 10px;
    height: 40px;
    /*top: 28%;*/
    margin-left: 10%;
    /*width: 87%;*/
    margin-top: 20px;

    width: 100%;
    /*font-size: 14px;*/
}

.saveButton:hover{
    cursor: pointer;
    background-color: #1eb05c;
}

.cancel{
    position: relative;
    border : none;
    background-color: #000000;
    color: white;
    text-decoration: none;
    border-radius: 10px;
    height: 40px;
    /*top: 11%;*/
    margin-left: 10%;
    /*width: 87%;*/
    width: 100%;
    margin-top: 20px;
    /*font-size: 14px;*/
}
.cancel:hover{
    cursor: pointer;
}

/*@media  (max-width: 1000px){*/
/*    .divPosition{*/
/*        display: flex;*/
/*        flex-wrap: wrap;*/
/*        height: 240px;*/
/*        justify-content: center;*/
/*        margin-top: 3%;*/
/*        padding-bottom: 5%;*/
/*    }*/
/*}*/
.divPosition{
    display: none;
    flex-wrap: wrap;
    /*height: 320px;*/
    justify-content: center;
    margin-top: 3%;
    padding-bottom: 5%;
    /*aspect-ratio: 5/3;*/
    height: auto;
}
.cat{
    display : inline-block;
    width : 25%;
    /*height: 45%;*/
    /*height : 180px;*/
    border-radius: 15px;
    border: 1px dashed var(--greyMH);
    margin : 10px 8px 10px 8px;
    overflow: hidden;
    position : relative;
    aspect-ratio: 90/100;
}
.cat:hover{
    border: 1px solid var(--greenMH);
}

.cat input[type="file"]{
    display: none;
}

.cat .buttonLabel {
    display: none;
    position : absolute;
    width : 70%;
    text-align: center;
    padding : 10px 10px 10px 10px;
    top: 50%;
    left : 50%;
    -ms-transform: translateY(-50%);
    transform: translate(-50%,-50%);
    background-color : var(--greenMH);
    border-radius : 15px;
    z-index: 1;
    color : white;
    font-size: 13px;
    box-shadow: 0.1rem 0.1rem 0.2em rgba(0,0,0,0.1);
    transition: transform .1s;
}

.cat .buttonLabel:hover{
    background-color: #1eb05c;
}
.cat .colorLabel {
    position : relative;
    float: left;
    /*line-height: 3.0em;*/
    width: 100%;
    height: 100%;
    text-align: center;
}



/*.cat button {*/
/*    !*border: 3px solid var(--greenMH);*!*/
/*    display: inline;*/
/*    position: absolute;*/
/*    width: 20%;*/
/*    height: 20%;*/
/*    bottom: 5%;*/
/*}*/

.modButton{
    /*display: inline;*/
    /*position: absolute;*/
    /*width: 20%;*/
    /*height: 20%;*/
    /*bottom: 5%;*/
    transition: transform 0.2s;
}
.modButton:hover{
    cursor: pointer;
    transform: scale(1.1);
}


.clearButton{
    transition: transform 0.2s;
}

.clearButton:hover{
    cursor: pointer;
    transform: scale(1.1);
}



.cat label span {
    position: relative;
    top : 84%;
    font-size: 12px;
    color: #5E5E5E;
}

.cat label input {
    position: absolute;
    display : none;
    width : 100%;
    color: black !important;
}
.cat label:hover{
    cursor: pointer;
}

.button:hover{
    box-shadow: 2px 2px var(--greenMH);
    font-size: 17px;
    cursor: pointer;
}

.cat img {
    position : absolute;
    width : 100%;
    height: auto;
    left: 0px;
    z-index: auto;
}

.cat .miniatureUpldImg {
    display: none;
    position : absolute;
    width: 70%;
    height: 70%;
    top: 20px;
    left: 50%;
    background-color: rgba(33,195,102,0.10);
    transform: translateX(-50%);
    border : 1px solid var(--greenMH);
    border-radius: 10px;
}

#saveToCart{
    display: none;
    width: 50%;
    height: 5%;
    cursor: pointer;
    background-color: var(--greenMH);
    color: white;
    margin: 20px auto;
    border-radius: 10px;
    border: none;
    /*transition: .2s ease;*/
    /*font-size: larger;*/
}

#saveToCart:hover{
    background-color: #1eb05c;
}

.modalContentSuccessDiv{

    position : absolute;
    display : flex;
    background-color: #fefefe;
    left : 0;
    right: 0;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 30px;
    width: 50%;
    height: 60%;
    overflow: hidden;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
}


.modalContentSuccessDiv p{
    font-size: xx-large;
    margin: 20% 0 15% 0;
}

/*.modalContentSuccessDiv button{*/
/*    background-color: var(--greenMH);*/
/*    border: none;*/
/*    border-color: var(--greenMH);*/
/*    color: #fefefe;*/
/*    font-size: large;*/
/*    height: 10%;*/
/*    width: 30%;*/
/*    margin-bottom: 2%;*/
/*    border-radius: 18px;*/
/*    cursor: pointer;*/
/*}*/

#goToCart{
    display: inline-block;
    padding: 2% 10%;
    font-size: larger;
    background-color: var(--greenMH);
    color: white;
    text-decoration: none;
    border-radius: 10px;
    transition: background-color 0.3s ease;
    margin-bottom : 2%;
}

#goToCart:hover{
    transform: scale(1.1);
    background-color: #1eb05c;
}

#loadingAddToCart{
    display: none;
    width: 50%;
    height: 5%;
    cursor: pointer;
    background-color: var(--greenMH);
    color: white;
    margin: 20px auto;
    border-radius: 10px;
    border: none;
    /*transition: .2s ease;*/
    font-size: larger;
    justify-content: center;
    align-items: center;
}
.loader {
    border: 3px solid var(--greyMH); /* Light grey */
    border-top: 3px solid var(--grisTextMH); /* Blue */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/* resp */
.PrixTaille{
    display:flex;
    flex-wrap:wrap;
    column-gap:0px;
    row-gap:20px!important;
}
.divButton {
    align-items: flex-end;
    margin-top: auto;
}
.PrixTaille > div{
    padding: 10px!important;
    line-height: 1.4;
}
/*.PrixTaille > div:nth-child(odd){*/
/*    width:65%*/
/*}*/
/*.PrixTaille > div:nth-child(even){*/
/*    width:35%;*/
/*}*/
.InfoButtons{
    align-items: baseline;
    padding-left: 20px;
}
.divButton label ,
.divButton button {
    margin:0px;
}
.divButton button {
    margin:15px 0px 0px 0px!important;
}
.divInputTaille {
    display: flex;
    /*gap: 20px;*/
}

.divInputTaille > div:not(.divTaillePastile) {
    /*width: calc(17% - 20px);*/
    display: flex;
    /*width: calc(25% / 2);*/
    margin: 0px 5px 0px 5px;
}

.divInputTaille > div input {
    width: 100%;
}

.modalContentSuccessDiv p:first-child {
    font-size: 25px;
    margin-bottom: 20px;
    width: 100%;
    margin-top: 40px;
}
div#addToCartSuccessDiv .modalContentSuccessDiv {
    display: flex;
    overflow: auto;
    min-height: 240px;
    height: unset;
    text-align:center;
    position: absolute;
    padding-bottom: 40px;
    top: 50%;
    transform: translateY(-50%);
}
a#goToCart{
    text-align:center;
    margin-bottom:20px;
    width:50%;
    padding:10px 30px;
    border-radius:5px;
}

#continueShopping{
    text-decoration: none;
    color: black;
    border-bottom: 1px solid black;
}

#continueShopping:hover{
    font-weight: bold;
}
.description {

    margin: 0px auto 50px auto;
}
.GuideDesTailles.modalContentSuccessDivGDT {
    height: unset;
    top: 50%;
    transform: translateY(-50%);
}
a#goToCart:hover {
    transform: scale(1)!important;
}
div#addToCartSuccessDiv .modalContentSuccessDiv {
    width: 40%;
}

@media only screen and (min-width: 1025px){
    .gallery{
        position: sticky;
    }
}
@media only screen and (max-width: 1400px) and (min-width: 1025px){
    .divInputTaille {
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
        gap: 10px 0;
    }
}
@media only screen and (max-width: 1366px) and (min-width: 1025px){
    .gallery__main {
        width: 391px;
        height: 391px;
    }
    .modalContent {
        width: 1010px;

    }
}
@media only screen and (max-width: 1024px){
    div#addToCartSuccessDiv .modalContentSuccessDiv {
        width: 90%;
    }

    .description {
        width: calc(100% - 100px);
        margin: 0px auto 50px auto;
    }
    .TestKonva {
        width: 100% !important;
        height: auto;
        margin: 0;
        overflow-x: hidden;
    }
    /* .TestKonva::-webkit-scrollbar {
        width: 1em;
    }
    .TestKonva::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    }
    .TestKonva::-webkit-scrollbar-thumb {
      background-color: #21c366;
      outline: 1px solid #21c366	;
    }
    .konvajs-content:before, .konvajs-content:after {
        content: 'Swipe to scroll';
        position: absolute;
        left: 10px;
        bottom: -20px;
    }
    .konvajs-content:before {
        left: inital	;
        right: 10px;
    }
    */
    button#saveToCart{
        padding:15px 30px!important;
        border-radius:10px;
        width:100%;
    }
    .description{
        line-height:1.4;
    }

    .techniqueDeMarquage{
        justify-content:space-between;
        width: calc(75% + 32px);
        margin: auto;
    }
    .marquageCboxe, .marquageCboxe-indispo{
        width:48%;
        margin:0px;
    }
    .marquageCboxe span , .marquageCboxe-indispo span{
        height:50px;
        padding:0px;
        border-radius: 10px;
    }
    .marquageCboxe span {
        height:50px;
        display:flex;
        justify-content:center;
        align-items:Center;
    }
    .marquageCboxe label, .marquageCboxe-indispo label{
        width:100%;
        height: unset;
    }
    div#LetsGoLaMaxiDiv{
        padding: 20px 50px;
        width: 100%;
        min-width: unset;
        flex-direction: column-reverse;
    }
    .div#LetsGoLaMaxiDiv{
        flex-wrap:wrap;
    }
    .gallery , .testBdDtoJs , .description{
        width:100%;
        margin: 0px;
    }
    .testBdDtoJs h1{
        margin-top:0px;
    }
    .gallery__thumbnails{
        width:20%;
        margin:0px;
    }
    .gallery__main{
        width: 80%;
        margin:0px;
        height: unset!important;
    }
    .modalContent{
        /*width:100%;*/
        min-width:unset;
        /*max-width: 100%;*/
        padding:20px;
        overflow: auto;
        flex-wrap:wrap;
        /*width: calc(100% - 40px);*/
        width:710px;
        max-width: calc(100% - 40px);
    }
    .konvajs-content{
        margin:auto;
    }
    .divButton{
        align-content: flex-start!important;
    }
    .InfoButtons {
        margin-top:30px;
        height:unset!important;
        padding-left: 2px;
    }
    .divButton {
        margin-top:20px!important;
    }
    .divButton label ,
    .divButton button{
        width:100%;
    }
    img.imgSweat {
        width: 100%;
    }
    .GuideDesTailles.modalContentSuccessDivGDT {
        width: 95%;
        padding: 10px;
    }
    .GuideDesTailles.modalContentSuccessDivGDT h2 {
        margin: 0px;
        font-size:20px;
    }
    #loadingAddToCart{
        width:100%;
        padding:15px;
        border-radius:7px;
    }
    
}
@media only screen and (max-width: 934px){
    .gallery__thumbnail {
        width: 25%;
        height: unset;
    }

    #LetsGoLaMaxiDiv{
        padding: 20px 20px !important;
    }

    .modalContent{
        width:calc(100% - 40px);
        max-width:100%;
    }

    .TestKonva {
        width: 100% !important;
    }

    .InfoButtons{
        margin-top: 15px !important;
        align-content: flex-start !important;
    }

    .PrixTaille{
        row-gap: 5px !important;
    }

    .divButton{
        margin-top: 15px !important;
        align-content: flex-start;
        gap:5px !important;
    }
    .divButton button{
        margin: 0 !important;
    }


    .gallery__thumbnails{
        flex-direction:row;
        overflow:auto;
        width: 100%;
        order:2;
        margin-bottom:20px;
    }
    .gallery__thumbnails::-webkit-scrollbar {
        width: 7px;
        height:7px;
    }

    /* Track */
    .gallery__thumbnails::-webkit-scrollbar-track {
        background: #eeeeee;
    }

    /* Handle */
    .gallery__thumbnails::-webkit-scrollbar-thumb {
        background: #21c366;
    }

    /* Handle on hover */
    .gallery__thumbnails::-webkit-scrollbar-thumb:hover {
        background: #21c366;
    }
    h1{
        font-size:30px;
    }
    .gallery__main{
        order:1;
        width:100%;
    }
    .description{
        order:3;
        width: calc(100% - 40px);
        margin: 0 auto 20px auto;
    }
    .techniqueDeMarquage{
        flex-wrap:wrap;
        margin: 30px auto 30px auto;
        gap:15px;
    }
    .ContainerCouleurSelect{
        padding: 15px;
    }



    .techniqueDeMarquage > div{
        width:100%;
    }

    .divInputTaille {
        align-items: center;
        gap: 5px;
    }

    .divInputTaille.from-create-tableau {
        flex-wrap: nowrap;
    }
    .divInputTaille > .tailles-grid-container {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px 5px;
        width: 100% !important;
        margin: 0;
    }

    .divTaille {
        min-width: 70px;
        max-width: 80px;
        /*width: 80px !important;*/
        margin: 0;
    }

    .divTaille .tailleUnique{
        width: 110px !important;
    }

    .cat{

        width:calc(50% - 10px);
        margin:0px;
    }
    .divPosition{
        justify-content:space-between;
        gap:20px;
        padding-bottom: 0px;
    }
    .cat .buttonLabel{
        width:90%;
        padding:10px!important;
    }
    .modalContentSuccessDiv{
        width:90%;
        max-width:90%;
        text-align: center;
    }

}


/* --- Tooltip for Color Swatches --- */
.inputColorLabel {
    position: relative; /* This is necessary for tooltip positioning */
}

.inputColorLabel:hover::before,
.inputColorLabel:hover::after {
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
    transition-delay: 0.3s; /* Add a small delay before showing */
}

.inputColorLabel::before {
    content: attr(data-tooltip); /* Get content from the data-tooltip attribute */
    position: absolute;
    bottom: 150%; /* Position above the element */
    left: 50%;
    transform: translateX(-50%);
    
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    
    /* Hide by default */
    display: none;
    opacity: 0;
    z-index: 10;
}

.inputColorLabel::after {
    content: '';
    position: absolute;
    bottom: calc(150% - 10px); /* Position the arrow correctly */
    left: 50%;
    transform: translateX(-50%);

    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent; /* Arrow pointing down */

    /* Hide by default */
    display: none;
    opacity: 0;
    z-index: 10;
}

/* --- Generic Tooltip --- */
.tooltip-container {
    display: flex;
    align-items: center;
    gap: 10px; /* Space between text and icon */
}

.tooltip-icon {
    position: relative;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    color: #555;
}

.tooltip-icon:hover::before,
.tooltip-icon:hover::after {
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
    transition-delay: 0.3s;
}

.tooltip-icon::before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 150%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 14px;
    white-space: pre-wrap; /* Allows multiline tooltips */
    width: 250px; /* Adjust width as needed */
    text-align: center;
    
    display: none;
    opacity: 0;
    z-index: 10;
}

.tooltip-icon::after {
    content: '';
    position: absolute;
    bottom: calc(150% - 10px);
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
    
    display: none;
    opacity: 0;
    z-index: 10;
}


/* Spinner for price loading */
.price-container {
    position: relative;
    min-height: 1.2em; /* Ensure container has height even when empty */
    display: inline-block;
    vertical-align: middle;

}

.price-container.headPrice{
    width: 100%;
}
.price-spinner {
    display: none; /* Hidden by default */
    border: 3px solid #f3f3f3; /* Light grey */
    border-top: 3px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    /* Centering inside the container */
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -8px;
    margin-left: -8px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Logic to show/hide based on body class */
body.price-is-loading .price-spinner {
    display: block;
}
body.price-is-loading .affPrix {
    visibility: hidden; /* Hide price text but keep space */
}

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