/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/pages/page_contact.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/pages/page_contact.scss (1) ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Projet
--------------------------------------------------------------------------------------------------------------------- */
/* - Couleurs
..................................................................................................................... */
/* - Variables
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Mixins
--------------------------------------------------------------------------------------------------------------------- */
/* - Shadow
..................................................................................................................... */
/* - Images
..................................................................................................................... */
/* - Interactions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Arabica
--------------------------------------------------------------------------------------------------------------------- */
/* - fluid Mode
..................................................................................................................... */
/* - Breakpoints (colonnes, taille des boxes et modales)
..................................................................................................................... */
/* - Marges (Entre les les colonnes : class="marges" sur la row parente)
..................................................................................................................... */
/* - Nombre de colonnes de la grille
..................................................................................................................... */
/* - Modales
..................................................................................................................... */
/* - Fnct Default
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Default
--------------------------------------------------------------------------------------------------------------------- */
/* - Helper
..................................................................................................................... */
/* - Fluid Mode
..................................................................................................................... */
/* - Breakpoints (colonnes, taille des boxes et modales)
..................................................................................................................... */
/* - Marges (Entre les les colonnes : class="marges" sur la row parente)
..................................................................................................................... */
/* - Nombre de colonnes de la grille
..................................................................................................................... */
/* - Modales
..................................................................................................................... */
/* - Fnct Operations
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Opérations
--------------------------------------------------------------------------------------------------------------------- */
/* - Récupération d'une valeur sans unité
..................................................................................................................... */
/* - Fnct Medias
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Médias
--------------------------------------------------------------------------------------------------------------------- */
/* - Minimum et maximum
..................................................................................................................... */
/* - Détéction de l'orientation
..................................................................................................................... */
/* - Types de devices
..................................................................................................................... */
/* - Fnct Fluid
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Fluid
--------------------------------------------------------------------------------------------------------------------- */
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
/* - Fnct Forms
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Forms
--------------------------------------------------------------------------------------------------------------------- */
/* - Placeholder
..................................................................................................................... */
/* - Fnct Grille
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Grille
--------------------------------------------------------------------------------------------------------------------- */
/* - Boxs
..................................................................................................................... */
.box_full, .box_xl, .box_lg, .box_md, .box_sm, .box_xs {
  margin-right: auto;
  margin-left: auto;
}

.box_xs {
  max-width: 440px;
}
.box_xs.marges {
  max-width: 480px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_xs.marges {
    max-width: 456px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_sm {
  max-width: 576px;
}
.box_sm.marges {
  max-width: 616px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_sm.marges {
    max-width: 592px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_md {
  max-width: 768px;
}
.box_md.marges {
  max-width: 808px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_md.marges {
    max-width: 784px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_lg {
  max-width: 1024px;
}
.box_lg.marges {
  max-width: 1064px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_lg.marges {
    max-width: 1040px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_xl {
  max-width: 1230px;
}
.box_xl.marges {
  max-width: 1270px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_xl.marges {
    max-width: 1246px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_full {
  max-width: 100%;
}
.box_full.marges {
  padding-right: 20px;
  padding-left: 20px;
}

/* - Rows
..................................................................................................................... */
.row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}
.row.marges {
  margin-right: -10px;
  margin-left: -10px;
}
.row.marges > [class*=col] {
  padding-right: 10px;
  padding-left: 10px;
}
@media (max-width: calc(768px - 1px)) {
  .row.marges {
    margin-right: -4px;
    margin-left: -4px;
  }
  .row.marges > [class*=col] {
    padding-right: 4px;
    padding-left: 4px;
  }
}
.row.no_wrap {
  flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
}

/* - Colonnes
..................................................................................................................... */
[class^=col] {
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-shrink: 1;
  -webkit-flex-shrink: 1;
  flex-basis: 0;
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  max-width: 100%;
}

.col_content {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: auto;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
}

.col_auto {
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: auto;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
}

.col_0 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 0%;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  max-width: 0%;
}

.col_0, .col_offset_0 {
  display: none;
}

.col_1 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 8.3333333333%;
  -webkit-flex-basis: 8.3333333333%;
  -ms-flex-preferred-size: 8.3333333333%;
  max-width: 8.3333333333%;
}

.col_2 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 16.6666666667%;
  -webkit-flex-basis: 16.6666666667%;
  -ms-flex-preferred-size: 16.6666666667%;
  max-width: 16.6666666667%;
}

.col_3 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 25%;
  -webkit-flex-basis: 25%;
  -ms-flex-preferred-size: 25%;
  max-width: 25%;
}

.col_4 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 33.3333333333%;
  -webkit-flex-basis: 33.3333333333%;
  -ms-flex-preferred-size: 33.3333333333%;
  max-width: 33.3333333333%;
}

.col_5 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 41.6666666667%;
  -webkit-flex-basis: 41.6666666667%;
  -ms-flex-preferred-size: 41.6666666667%;
  max-width: 41.6666666667%;
}

.col_6 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 50%;
  -webkit-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  max-width: 50%;
}

.col_7 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 58.3333333333%;
  -webkit-flex-basis: 58.3333333333%;
  -ms-flex-preferred-size: 58.3333333333%;
  max-width: 58.3333333333%;
}

.col_8 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 66.6666666667%;
  -webkit-flex-basis: 66.6666666667%;
  -ms-flex-preferred-size: 66.6666666667%;
  max-width: 66.6666666667%;
}

.col_9 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 75%;
  -webkit-flex-basis: 75%;
  -ms-flex-preferred-size: 75%;
  max-width: 75%;
}

.col_10 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 83.3333333333%;
  -webkit-flex-basis: 83.3333333333%;
  -ms-flex-preferred-size: 83.3333333333%;
  max-width: 83.3333333333%;
}

.col_11 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 91.6666666667%;
  -webkit-flex-basis: 91.6666666667%;
  -ms-flex-preferred-size: 91.6666666667%;
  max-width: 91.6666666667%;
}

.col_12 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 100%;
  -webkit-flex-basis: 100%;
  -ms-flex-preferred-size: 100%;
  max-width: 100%;
}

@media (min-width: 440px) {
  .col_xs_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_xs_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_xs_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_xs_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_xs_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_xs_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_xs_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_xs_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_xs_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_xs_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_xs_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_xs_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_xs_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_xs {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_xs {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_xs {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 576px) {
  .col_sm_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_sm_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_sm_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_sm_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_sm_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_sm_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_sm_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_sm_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_sm_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_sm_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_sm_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_sm_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_sm_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_sm {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_sm {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_sm {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 768px) {
  .col_md_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_md_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_md_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_md_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_md_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_md_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_md_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_md_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_md_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_md_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_md_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_md_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_md_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_md {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_md {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_md {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1024px) {
  .col_lg_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_lg_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_lg_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_lg_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_lg_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_lg_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_lg_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_lg_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_lg_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_lg_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_lg_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_lg_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_lg_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_lg {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_lg {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_lg {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1230px) {
  .col_xl_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_xl_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_xl_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_xl_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_xl_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_xl_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_xl_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_xl_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_xl_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_xl_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_xl_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_xl_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_xl_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_xl {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_xl {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_xl {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
.col_offset_0 {
  margin-left: 0%;
}

.col_offset_1 {
  margin-left: 8.3333333333%;
}

.col_offset_2 {
  margin-left: 16.6666666667%;
}

.col_offset_3 {
  margin-left: 25%;
}

.col_offset_4 {
  margin-left: 33.3333333333%;
}

.col_offset_5 {
  margin-left: 41.6666666667%;
}

.col_offset_6 {
  margin-left: 50%;
}

.col_offset_7 {
  margin-left: 58.3333333333%;
}

.col_offset_8 {
  margin-left: 66.6666666667%;
}

.col_offset_9 {
  margin-left: 75%;
}

.col_offset_10 {
  margin-left: 83.3333333333%;
}

.col_offset_11 {
  margin-left: 91.6666666667%;
}

.col_offset_12 {
  margin-left: 100%;
}

@media (min-width: 440px) {
  .col_offset_xs_0 {
    margin-left: 0%;
  }
  .col_offset_xs_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_xs_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_xs_3 {
    margin-left: 25%;
  }
  .col_offset_xs_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_xs_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_xs_6 {
    margin-left: 50%;
  }
  .col_offset_xs_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_xs_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_xs_9 {
    margin-left: 75%;
  }
  .col_offset_xs_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_xs_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_xs_12 {
    margin-left: 100%;
  }
}
@media (min-width: 576px) {
  .col_offset_sm_0 {
    margin-left: 0%;
  }
  .col_offset_sm_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_sm_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_sm_3 {
    margin-left: 25%;
  }
  .col_offset_sm_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_sm_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_sm_6 {
    margin-left: 50%;
  }
  .col_offset_sm_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_sm_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_sm_9 {
    margin-left: 75%;
  }
  .col_offset_sm_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_sm_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_sm_12 {
    margin-left: 100%;
  }
}
@media (min-width: 768px) {
  .col_offset_md_0 {
    margin-left: 0%;
  }
  .col_offset_md_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_md_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_md_3 {
    margin-left: 25%;
  }
  .col_offset_md_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_md_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_md_6 {
    margin-left: 50%;
  }
  .col_offset_md_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_md_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_md_9 {
    margin-left: 75%;
  }
  .col_offset_md_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_md_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_md_12 {
    margin-left: 100%;
  }
}
@media (min-width: 1024px) {
  .col_offset_lg_0 {
    margin-left: 0%;
  }
  .col_offset_lg_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_lg_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_lg_3 {
    margin-left: 25%;
  }
  .col_offset_lg_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_lg_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_lg_6 {
    margin-left: 50%;
  }
  .col_offset_lg_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_lg_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_lg_9 {
    margin-left: 75%;
  }
  .col_offset_lg_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_lg_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_lg_12 {
    margin-left: 100%;
  }
}
@media (min-width: 1230px) {
  .col_offset_xl_0 {
    margin-left: 0%;
  }
  .col_offset_xl_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_xl_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_xl_3 {
    margin-left: 25%;
  }
  .col_offset_xl_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_xl_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_xl_6 {
    margin-left: 50%;
  }
  .col_offset_xl_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_xl_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_xl_9 {
    margin-left: 75%;
  }
  .col_offset_xl_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_xl_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_xl_12 {
    margin-left: 100%;
  }
}
/* - Fnct Helper
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Intéractions
--------------------------------------------------------------------------------------------------------------------- */
/* - Aide à l'intégration
..................................................................................................................... */
/* - Fnct Alignements
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Alignements
--------------------------------------------------------------------------------------------------------------------- */
/* - Placeholder Flex
..................................................................................................................... */
/* - Alignements absolutes
..................................................................................................................... */
.x_align_absolute {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_absolute {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_absolute {
  position: absolute;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements fixes
..................................................................................................................... */
.x_align_fixed {
  position: fixed;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_fixed {
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_fixed {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_fixed {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements relative
..................................................................................................................... */
.x_align_relative {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_relative {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_relative {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_relative {
  position: relative;
  top: 0;
  left: 0;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements horizontaux (x)
..................................................................................................................... */
.x_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  text-align: left;
}

.x_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  text-align: center;
}

.x_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  text-align: right;
}

.x_between {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
}

.x_around {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
}

.x_evenly {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-evenly;
  -webkit-justify-content: space-evenly;
}

/* - Alignements verticaux des lignes de contenu (y)
..................................................................................................................... */
.y_content_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
}

.y_content_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
}

.y_content_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: flex-end;
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
}

.y_content_between {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: space-between;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
}

.y_content_around {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: space-around;
  -webkit-align-content: space-around;
  -ms-flex-line-pack: distribute;
}

.y_content_stretch {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
}

/* - Alignements verticaux des items (y)
..................................................................................................................... */
.y_items_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
}

.y_items_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
}

.y_items_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
}

.y_items_stretch {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
}

/* - Alignements selfs
..................................................................................................................... */
.y_self_start {
  align-self: flex-start;
  -webkit-align-self: flex-start;
  -ms-grid-column-align: start;
}

.y_self_center {
  align-self: center;
  -webkit-align-self: center;
  -ms-grid-column-align: center;
}

.y_self_end {
  align-self: flex-end;
  -webkit-align-self: flex-end;
  -ms-grid-column-align: end;
}

/* - Alignements responsives
..................................................................................................................... */
@media (min-width: 440px) {
  .x_align_absolute_xs {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_xs {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_xs {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_xs {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_xs {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_xs {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_xs {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_xs {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_xs {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_xs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_xs {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_xs {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 576px) {
  .x_align_absolute_sm {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_sm {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_sm {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_sm {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_sm {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_sm {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_sm {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_sm {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_sm {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_sm {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_sm {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_sm {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 768px) {
  .x_align_absolute_md {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_md {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_md {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_md {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_md {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_md {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_md {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_md {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_md {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_md {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_md {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_md {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 1024px) {
  .x_align_absolute_lg {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_lg {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_lg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_lg {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_lg {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_lg {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_lg {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_lg {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_lg {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_lg {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_lg {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_lg {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 1230px) {
  .x_align_absolute_xl {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_xl {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_xl {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_xl {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_xl {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_xl {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_xl {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_xl {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_xl {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_xl {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_xl {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_xl {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
/* - Fnct Display
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Display
--------------------------------------------------------------------------------------------------------------------- */
/* - Affichage des éléments
..................................................................................................................... */
.d_none {
  display: none;
}

.d_ib {
  display: inline-block;
}

.d_flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media (min-width: 440px) {
  .d_none_xs {
    display: none;
  }
  .d_ib_xs {
    display: inline-block;
  }
  .d_flex_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 576px) {
  .d_none_sm {
    display: none;
  }
  .d_ib_sm {
    display: inline-block;
  }
  .d_flex_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 768px) {
  .d_none_md {
    display: none;
  }
  .d_ib_md {
    display: inline-block;
  }
  .d_flex_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 1024px) {
  .d_none_lg {
    display: none;
  }
  .d_ib_lg {
    display: inline-block;
  }
  .d_flex_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 1230px) {
  .d_none_xl {
    display: none;
  }
  .d_ib_xl {
    display: inline-block;
  }
  .d_flex_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
/* - Fnct Ordres
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Ordres
--------------------------------------------------------------------------------------------------------------------- */
/* - First
..................................................................................................................... */
.order_first {
  order: -1;
  -webkit-flex-order: -1;
  -ms-flex-order: -1;
}

/* - Last
..................................................................................................................... */
.order_last {
  order: 1;
  -webkit-flex-order: 1;
  -ms-flex-order: 1;
}

/* - Ordre responsive
..................................................................................................................... */
@media (min-width: 440px) {
  .order_first_xs {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_xs {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 576px) {
  .order_first_sm {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_sm {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 768px) {
  .order_first_md {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_md {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 1024px) {
  .order_first_lg {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_lg {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 1230px) {
  .order_first_xl {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_xl {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
/* - Fnct Directions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Directions
--------------------------------------------------------------------------------------------------------------------- */
/* - Row
..................................................................................................................... */
.direction_x {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

/* - Row Revert
..................................................................................................................... */
.direction_x_revert {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* - Column
..................................................................................................................... */
.direction_y {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.direction_y > [class^=col] {
  -ms-flex-preferred-size: auto;
}

/* - Column Revert
..................................................................................................................... */
.direction_y_revert {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}
.direction_y_revert > [class^=col] {
  -ms-flex-preferred-size: auto;
}

/* - Ordre responsive
..................................................................................................................... */
@media (min-width: 440px) {
  .direction_x_xs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_xs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_xs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_xs > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_xs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_xs > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 576px) {
  .direction_x_sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_sm > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_sm > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 768px) {
  .direction_x_md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_md {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_md > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_md {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_md > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1024px) {
  .direction_x_lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_lg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_lg > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_lg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_lg > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1230px) {
  .direction_x_xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_xl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_xl > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_xl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_xl > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
/* - Fnct Tailles
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Tailles
--------------------------------------------------------------------------------------------------------------------- */
/* - Largeur forcée
..................................................................................................................... */
.w_full {
  width: 100%;
}

/* - Hauteur forcée
..................................................................................................................... */
.h_full {
  height: 100%;
}

/* - Tailles responsives
..................................................................................................................... */
@media (min-width: 440px) {
  .w_full_xs {
    width: 100%;
  }
  .h_full_xs {
    height: 100%;
  }
}
@media (min-width: 576px) {
  .w_full_sm {
    width: 100%;
  }
  .h_full_sm {
    height: 100%;
  }
}
@media (min-width: 768px) {
  .w_full_md {
    width: 100%;
  }
  .h_full_md {
    height: 100%;
  }
}
@media (min-width: 1024px) {
  .w_full_lg {
    width: 100%;
  }
  .h_full_lg {
    height: 100%;
  }
}
@media (min-width: 1230px) {
  .w_full_xl {
    width: 100%;
  }
  .h_full_xl {
    height: 100%;
  }
}
/* - Fnct Transitions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Transitions
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Animations
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Animations
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Transforms
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Transforms
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Interactions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Intéractions
--------------------------------------------------------------------------------------------------------------------- */
/* - hover, focus, active, visited
..................................................................................................................... */
/* - Fnct Ombres
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Ombres
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Radius
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Radius
--------------------------------------------------------------------------------------------------------------------- */
/* - Fonts
..................................................................................................................... */
/** Fonts text **/
@font-face {
  font-family: "HernandezBrosRegular";
  src: url(/build/shop/fonts/HernandezBros-Regular.74add8c8.eot);
  src: url(/build/shop/fonts/HernandezBros-Regular.74add8c8.eot?#iefix) format("embedded-opentype"), url(/build/shop/fonts/HernandezBros-Regular.36e62a87.woff2) format("woff2"), url(/build/shop/fonts/HernandezBros-Regular.dc5fafe7.woff) format("woff"), url(/build/shop/fonts/HernandezBros-Regular.17840eb2.ttf) format("truetype"), url(/build/shop/images/HernandezBros-Regular.d37668c9.svg#HernandezBros-Regular) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/** ReSee Font icons **/
@font-face {
  font-family: "resee";
  src: url(/build/shop/fonts/resee.a39b8d12.eot);
  src: url(/build/shop/fonts/resee.a39b8d12.eot?#iefix) format("embedded-opentype"), url(/build/shop/fonts/resee.4439cd11.woff) format("woff"), url(/build/shop/fonts/resee.45516bb8.ttf) format("truetype"), url(/build/shop/images/resee.70a233cf.svg#resee) format("svg");
  font-weight: normal;
  font-style: normal;
}
[data-icon]:before {
  font-family: "resee" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "resee" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-camera:before {
  content: "\e000";
}

.icon-cart:before {
  content: "\e001";
}

.icon-chevron:before {
  content: "\e002";
}

.icon-clock:before {
  content: "\e003";
}

.icon-cross:before {
  content: "\e004";
}

.icon-edit:before {
  content: "\e005";
}

.icon-facebook:before {
  content: "\e006";
}

.icon-glass:before {
  content: "\e007";
}

.icon-heart:before {
  content: "\e008";
}

.icon-import:before {
  content: "\e009";
}

.icon-instagram:before {
  content: "\e00a";
}

.icon-linkedin:before {
  content: "\e00b";
}

.icon-phone:before {
  content: "\e00c";
}

.icon-rea-authentic:before {
  content: "\e00d";
}

.icon-rea-calendar:before {
  content: "\e00e";
}

.icon-rea-phone:before {
  content: "\e00f";
}

.icon-rea-secured:before {
  content: "\e010";
}

.icon-rea-selling:before {
  content: "\e011";
}

.icon-rea-worldwide:before {
  content: "\e012";
}

.icon-twitter:before {
  content: "\e013";
}

.icon-user:before {
  content: "\e014";
}

.icon-whatsapp:before {
  content: "\e015";
}

.icon-pinterest:before {
  content: "\e016";
}

.icon-heart-full:before {
  content: "\e017";
}

.icon-list-view1:before {
  content: "\e018";
}

.icon-list-view2:before {
  content: "\e019";
}

.icon-list-view3:before {
  content: "\e01a";
}

.icon-list-view4:before {
  content: "\e01b";
}

.icon-email:before {
  content: "\e01c";
}

.icon-eye:before {
  content: "\e01d";
}

.icon-hourglass:before {
  content: "\e01e";
}

.icon-check:before {
  content: "\e01f";
}

.icon-calendar:before {
  content: "\e020";
}

.icon-alert:before {
  content: "\e021";
}

.icon-world:before {
  content: "\e022";
}

.icon-bell:before {
  content: "\e023";
}

.icon-check-round:before {
  content: "\e024";
}

.icon-contact:before {
  content: "\e025";
}

.icon-package:before {
  content: "\e026";
}

.icon-stars:before {
  content: "\e027";
}

.icon-pin:before {
  content: "\e94c";
}

.icon-laundry {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27 fill=%27none%27 stroke=%27black%27 stroke-width=%274%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M32 12a8 8 0 0 1 8 8c0 4.418-3.582 8-8 8v6l24 14a4 4 0 0 1-4 6H12a4 4 0 0 1-4-6l24-14v-6%27/%3E%3Cpath d=%27M32 12a8 8 0 0 0-8 8%27 /%3E%3C/svg%3E");
  background-size: 17px;
  background-repeat: no-repeat;
  padding-left: 25px;
}

.icon-beautification:before {
  content: "\e027";
}

.icon-youtube {
  background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZlOGQ2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNTAgNTAiIHdpZHRoPSI1MHB4IiBoZWlnaHQ9IjUwcHgiPjxwYXRoIGQ9Ik0gNDQuODk4NDM4IDE0LjUgQyA0NC41IDEyLjMwMDc4MSA0Mi42MDE1NjMgMTAuNjk5MjE5IDQwLjM5ODQzOCAxMC4xOTkyMTkgQyAzNy4xMDE1NjMgOS41IDMxIDkgMjQuMzk4NDM4IDkgQyAxNy44MDA3ODEgOSAxMS42MDE1NjMgOS41IDguMzAwNzgxIDEwLjE5OTIxOSBDIDYuMTAxNTYzIDEwLjY5OTIxOSA0LjE5OTIxOSAxMi4xOTkyMTkgMy44MDA3ODEgMTQuNSBDIDMuMzk4NDM4IDE3IDMgMjAuNSAzIDI1IEMgMyAyOS41IDMuMzk4NDM4IDMzIDMuODk4NDM4IDM1LjUgQyA0LjMwMDc4MSAzNy42OTkyMTkgNi4xOTkyMTkgMzkuMzAwNzgxIDguMzk4NDM4IDM5LjgwMDc4MSBDIDExLjg5ODQzOCA0MC41IDE3Ljg5ODQzOCA0MSAyNC41IDQxIEMgMzEuMTAxNTYzIDQxIDM3LjEwMTU2MyA0MC41IDQwLjYwMTU2MyAzOS44MDA3ODEgQyA0Mi44MDA3ODEgMzkuMzAwNzgxIDQ0LjY5OTIxOSAzNy44MDA3ODEgNDUuMTAxNTYzIDM1LjUgQyA0NS41IDMzIDQ2IDI5LjM5ODQzOCA0Ni4xMDE1NjMgMjUgQyA0NS44OTg0MzggMjAuNSA0NS4zOTg0MzggMTcgNDQuODk4NDM4IDE0LjUgWiBNIDE5IDMyIEwgMTkgMTggTCAzMS4xOTkyMTkgMjUgWiIvPjwvc3ZnPg==) 50% 50% no-repeat;
  background-size: contain;
}

/* - Buttons
..................................................................................................................... */
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    height: 46px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    height: calc(46px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    height: 50px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    padding-left: 15px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    padding-left: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    padding-left: 20px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    padding-right: 15px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    padding-right: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    padding-right: 20px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    height: 40px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    height: calc(40px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    height: 44px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: 12px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    height: 32px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    height: calc(32px + (3) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    height: 35px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: 12px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .content_link {
    padding-top: 8px;
  }
}
@media (min-width: 440px) {
  .content_link {
    padding-top: calc(8px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .content_link {
    padding-top: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .content_link {
    margin-top: 15px;
  }
}
@media (min-width: 440px) {
  .content_link {
    margin-top: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .content_link {
    margin-top: 20px;
  }
}

.btn_cta:not(.link_cta) {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  display: inline-flex;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  max-width: 100%;
  background: #ffe8d6;
  color: #121212;
  font-size: 0.875em;
  text-transform: uppercase;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.btn_cta:not(.link_cta) span {
  display: block;
  width: 100%;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled):hover {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled):focus {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled).hover {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta).btn_black {
  background: #121212;
  color: #ffffff;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled):hover {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled):focus {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled).hover {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_cream {
  background: #ea3b0c;
  color: #ffffff;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled):hover {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled):focus {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled).hover {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_white {
  background: #ffffff;
  color: #121212;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled):hover {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled):focus {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled).hover {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines {
  background: transparent;
  border: 1px solid #bdbdbd;
  color: #121212;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled):hover {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled):focus {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled).hover {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_icon span {
  position: relative;
  padding-left: 24px;
}
.btn_cta:not(.link_cta).btn_icon span:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  font-size: 1.1em;
}
.btn_cta:not(.link_cta).btn_dl span:before {
  content: "\e009";
  font-family: "resee";
}
.btn_cta:not(.link_cta):disabled, .btn_cta:not(.link_cta).disabled {
  background: #f9f9f9 !important;
  border-color: #f9f9f9 !important;
  color: #585858 !important;
  cursor: default;
}

.link_cta {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  display: inline-flex;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  max-width: 100%;
  color: #121212;
  font-size: 0.875em;
  text-transform: uppercase;
  position: relative;
  padding-left: 24px;
  overflow: hidden;
}
.link_cta a:before, .link_cta a:after {
  content: "";
  position: absolute;
  left: -24px;
  top: 0;
  bottom: 0;
  width: 45px;
  background-image: url(/build/shop/images/chevron.97912051.svg);
  background-repeat: no-repeat;
  background-size: 5px;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.link_cta.link_beige {
  color: #ffe8d6;
}
.link_cta.link_beige:before, .link_cta.link_beige:after {
  background-image: url(/build/shop/images/chevron_beige.db656903.svg);
}
.link_cta.link_white {
  color: #ffffff;
}
.link_cta.link_white:before, .link_cta.link_white:after {
  background-image: url(/build/shop/images/chevron_white.23f31dc4.svg);
}
.link_cta:before {
  background-position: center left 10px;
}
.link_cta:after {
  background-position: center left 32px;
}
.link_cta:hover:before {
  background-position: center left 32px;
}
.link_cta:hover:after {
  background-position: center left 54px;
}
.link_cta:focus:before {
  background-position: center left 32px;
}
.link_cta:focus:after {
  background-position: center left 54px;
}
.link_cta.hover:before {
  background-position: center left 32px;
}
.link_cta.hover:after {
  background-position: center left 54px;
}
.link_cta.soft {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  text-transform: initial;
}
.link_cta.link_next {
  padding-left: 0;
  padding-right: 24px;
}
.link_cta.link_next:before, .link_cta.link_next:after {
  right: -24px;
  left: inherit;
}
.link_cta.link_next:before {
  background-position: center right 32px;
}
.link_cta.link_next:after {
  background-position: center right 54px;
}
.link_cta.link_next:hover:before {
  background-position: center right 10px;
}
.link_cta.link_next:hover:after {
  background-position: center right 32px;
}
.link_cta.link_next:focus:before {
  background-position: center right 10px;
}
.link_cta.link_next:focus:after {
  background-position: center right 32px;
}
.link_cta.link_next.hover:before {
  background-position: center right 10px;
}
.link_cta.link_next.hover:after {
  background-position: center right 32px;
}
.link_cta.link_back {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  text-transform: initial;
}
.link_cta.link_back:before, .link_cta.link_back:after {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.link_cta.link_back:before {
  background-position: center left -10px;
}
.link_cta.link_back:after {
  background-position: center left 6px;
}
.link_cta.link_back:hover:before {
  background-position: center left 6px;
}
.link_cta.link_back:hover:after {
  background-position: center left 22px;
}
.link_cta.link_back:focus:before {
  background-position: center left 6px;
}
.link_cta.link_back:focus:after {
  background-position: center left 22px;
}
.link_cta.link_back.hover:before {
  background-position: center left 6px;
}
.link_cta.link_back.hover:after {
  background-position: center left 22px;
}

.content_link {
  display: block;
  text-align: right;
  position: relative;
  overflow: hidden;
}
.content_link:before {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  width: 100%;
  height: 1px;
  background: #121212;
  opacity: 0.5;
  -moz-transition: all 0s ease-in-out;
  -o-transition: all 0s ease-in-out;
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}
.content_link:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #121212;
  opacity: 0.5;
  -moz-transition: all 0s ease-in-out;
  -o-transition: all 0s ease-in-out;
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}
.content_link.hover:before {
  left: 0;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}
.content_link.hover:after {
  left: 130%;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}

.login .link_cta {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  body main .bloc_breadcrumbs.breadcrumbs_absolute {
    top: 70px;
  }
}
@media (min-width: 440px) {
  body main .bloc_breadcrumbs.breadcrumbs_absolute {
    top: calc(70px + (70) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  body main .bloc_breadcrumbs.breadcrumbs_absolute {
    top: 140px;
  }
}

@media (max-width: calc(440px - 1px)) {
  body .info_banner + header + main .bloc_breadcrumbs.breadcrumbs_absolute {
    top: 105px;
  }
}
@media (min-width: 440px) {
  body .info_banner + header + main .bloc_breadcrumbs.breadcrumbs_absolute {
    top: calc(105px + (83) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  body .info_banner + header + main .bloc_breadcrumbs.breadcrumbs_absolute {
    top: 188px;
  }
}

.bloc_breadcrumbs {
  padding: 20px 0;
}
.bloc_breadcrumbs nav ol {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}
.bloc_breadcrumbs nav ol li {
  font-size: 0.875em;
}
.bloc_breadcrumbs nav ol li span, .bloc_breadcrumbs nav ol li a, .bloc_breadcrumbs nav ol li:after {
  display: block;
  color: #121212;
}
.bloc_breadcrumbs nav ol li a:hover {
  text-decoration: underline;
}
.bloc_breadcrumbs nav ol li a:focus {
  text-decoration: underline;
}
.bloc_breadcrumbs nav ol li:not(:last-child) {
  position: relative;
  padding-right: 15px;
}
.bloc_breadcrumbs nav ol li:not(:last-child):after {
  content: "/";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 5px;
}
@media (max-width: calc(768px - 1px)) {
  .bloc_breadcrumbs.breadcrumbs_dk_absolute {
    top: unset !important;
  }
}
@media (min-width: 768px) {
  .bloc_breadcrumbs.breadcrumbs_dk_absolute {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    width: 100%;
  }
}

@media (max-width: calc(768px - 1px)) {
  .bloc_breadcrumbs {
    order: 999;
    position: relative;
  }
  .bloc_breadcrumbs:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: -1px;
    left: -20px;
    right: -20px;
    background: #121212;
    z-index: 1;
  }
  .bloc_breadcrumbs > div {
    position: relative;
    z-index: 2;
  }
  .bloc_breadcrumbs nav ol li span, .bloc_breadcrumbs nav ol li a, .bloc_breadcrumbs nav ol li:after {
    color: #ffe8d6;
  }
}
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .bloc_top_page .header_image img {
    max-height: 285px;
  }
}
@media (min-width: 440px) {
  .bloc_top_page .header_image img {
    max-height: calc(285px + (265) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_top_page .header_image img {
    max-height: 550px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_top_page .header_content {
    padding-top: 24px;
  }
}
@media (min-width: 440px) {
  .bloc_top_page .header_content {
    padding-top: calc(24px + (56) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_top_page .header_content {
    padding-top: 80px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_top_page.little_padding .header_content {
    padding-top: 24px;
  }
}
@media (min-width: 440px) {
  .bloc_top_page.little_padding .header_content {
    padding-top: calc(24px + (16) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_top_page.little_padding .header_content {
    padding-top: 40px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_top_page .header_content .title {
    padding-bottom: 12px;
  }
}
@media (min-width: 440px) {
  .bloc_top_page .header_content .title {
    padding-bottom: calc(12px + (-12) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_top_page .header_content .title {
    padding-bottom: 0px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_top_page .header_content .description {
    padding-top: 24px;
  }
}
@media (min-width: 440px) {
  .bloc_top_page .header_content .description {
    padding-top: calc(24px + (8) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_top_page .header_content .description {
    padding-top: 32px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_top_page .header_content .description .ck-content p:not(:empty) + p:not(:empty) {
    margin-top: 15px;
  }
}
@media (min-width: 440px) {
  .bloc_top_page .header_content .description .ck-content p:not(:empty) + p:not(:empty) {
    margin-top: calc(15px + (10) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_top_page .header_content .description .ck-content p:not(:empty) + p:not(:empty) {
    margin-top: 25px;
  }
}

.bloc_top_page:not(.no_border) .header_content .title {
  padding-bottom: 0px;
  text-align: left;
}
.bloc_top_page:not(.no_border) .header_content .title .ck-content .titre_h3 {
  font-size: 35px;
}
.bloc_top_page .header_image img {
  object-fit: cover;
  -o-object-fit: cover;
  object-position: center;
  -o-object-position: center;
  width: 100%;
}
@media (max-width: calc(768px - 1px)) {
  .bloc_top_page .header_image {
    margin-left: -12px;
    margin-right: -12px;
  }
}
.bloc_top_page .header_content .description .ck-content {
  overflow-y: scroll;
  max-height: 106px;
}
.bloc_top_page .header_content .description .ck-content p {
  margin-bottom: 0;
}
.bloc_top_page .header_content .description .ck-content p:empty {
  display: none;
}
.bloc_top_page .header_content .description .ck-content p:not(:empty) ~ p:not(:empty) {
  margin-top: 12px;
}
.bloc_top_page .header_content .description ::-webkit-scrollbar {
  width: 4px;
}
.bloc_top_page .header_content .description ::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.bloc_top_page .header_content .description ::-webkit-scrollbar-thumb {
  background: #121212;
}
.bloc_top_page .header_content .description ::-webkit-scrollbar-thumb:hover {
  background: #555;
}

@media (max-width: 767px) {
  .bloc_top_page:not(.no_border) .header_content .title {
    text-align: center;
  }
  .bloc_top_page:not(.no_border) .header_content .title .ck-content .titre_h3 {
    font-size: 24px;
  }
  .bloc_top_page .header_content .description .ck-content {
    max-height: 78px;
  }
}
@media (max-width: 439px) {
  .page_product_index .bloc_list_products {
    padding-top: 20px !important;
  }
  .page_product_index .filters_container {
    min-height: 90px;
  }
}
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .page_contact .header_content .title {
    margin-bottom: 32px;
  }
}
@media (min-width: 440px) {
  .page_contact .header_content .title {
    margin-bottom: calc(32px + (32) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .page_contact .header_content .title {
    margin-bottom: 64px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .page_contact .links_right .ck-content .titre_h3 {
    margin-bottom: 15px;
  }
}
@media (min-width: 440px) {
  .page_contact .links_right .ck-content .titre_h3 {
    margin-bottom: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .page_contact .links_right .ck-content .titre_h3 {
    margin-bottom: 20px;
  }
}

@media (min-width: 768px) {
  .page_contact .links_right .col_12:not([class*=col_md]) + .col_12 {
    margin-top: 40px;
  }
}
@media (max-width: calc(768px - 1px)) {
  .page_contact .links_right .col_12 + .col_12 {
    margin-top: 40px;
  }
}
.page_contact .links_right .ck-content a[class*=icon] {
  position: relative;
  padding-left: 30px;
}
.page_contact .links_right .ck-content a[class*=icon]:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  font-size: 1.3em;
}

@media (max-width: calc(768px - 1px)) {
  .page_contact .links_right:not(:first-child) {
    margin-top: 50px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QVM1SkU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVQySko7O0FTeEtFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUdUtKOztBU3BMRTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVG1MSjs7QVNoTUU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVQrTEo7O0FTNU1FO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUMk1KOztBU3hORTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVHVOSjs7QVNwT0U7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVRtT0o7O0FTaFBFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUK09KOztBTTFaQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUME5SO0VTek9NO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzT1I7RVNyUE07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtQUjtFU2pRTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOFBSO0VTN1FNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwUVI7RVN6Uk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNSUjtFU3JTTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa1NSO0VTalRNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4U1I7RVM3VE07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBUUjtFU3pVTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc1VSO0VTclZNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrVlI7RVNqV007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhWUjtFUzdXTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMFdSO0VTdldJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVHNXTjtFU3BXSTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7RVRtV047RVNqV0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUZ1dOO0FBQ0Y7QU12bEJDO0VHK0xPO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzWlI7RVNyYU07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGthUjtFU2piTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOGFSO0VTN2JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwYlI7RVN6Y007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNjUjtFU3JkTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2RSO0VTamVNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4ZFI7RVM3ZU07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBlUjtFU3pmTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc2ZSO0VTcmdCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2dCUjtFU2poQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhnQlI7RVM3aEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwaEJSO0VTemlCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc2lCUjtFU25pQkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUa2lCTjtFU2hpQkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUK2hCTjtFUzdoQkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUNGhCTjtBQUNGO0FNbnhCQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2xCUjtFU2ptQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhsQlI7RVM3bUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwbUJSO0VTem5CTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc25CUjtFU3JvQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtvQlI7RVNqcEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4b0JSO0VTN3BCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMHBCUjtFU3pxQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNxQlI7RVNyckJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrckJSO0VTanNCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOHJCUjtFUzdzQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBzQlI7RVN6dEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzdEJSO0VTcnVCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa3VCUjtFUy90Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUOHRCTjtFUzV0Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUMnRCTjtFU3p0Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUd3RCTjtBQUNGO0FNLzhCQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOHdCUjtFUzd4Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDB4QlI7RVN6eUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzeUJSO0VTcnpCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa3pCUjtFU2owQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDh6QlI7RVM3MEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwMEJSO0VTejFCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUczFCUjtFU3IyQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGsyQlI7RVNqM0JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4MkJSO0VTNzNCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMDNCUjtFU3o0Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHM0QlI7RVNyNUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrNUJSO0VTajZCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUODVCUjtFUzM1Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUMDVCTjtFU3g1Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUdTVCTjtFU3I1Qkk7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUbzVCTjtBQUNGO0FNM29DQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMDhCUjtFU3o5Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHM5QlI7RVNyK0JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrK0JSO0VTai9CTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOCtCUjtFUzcvQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDAvQlI7RVN6Z0NNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzZ0NSO0VTcmhDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa2hDUjtFU2ppQ007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhoQ1I7RVM3aUNNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwaUNSO0VTempDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc2pDUjtFU3JrQ007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtrQ1I7RVNqbENNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4a0NSO0VTN2xDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMGxDUjtFU3ZsQ0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUc2xDTjtFU3BsQ0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUbWxDTjtFU2psQ0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUZ2xDTjtBQUNGO0FTcmtDRTtFQUNFO0FUdWtDSjs7QVN4a0NFO0VBQ0U7QVQya0NKOztBUzVrQ0U7RUFDRTtBVCtrQ0o7O0FTaGxDRTtFQUNFO0FUbWxDSjs7QVNwbENFO0VBQ0U7QVR1bENKOztBU3hsQ0U7RUFDRTtBVDJsQ0o7O0FTNWxDRTtFQUNFO0FUK2xDSjs7QVNobUNFO0VBQ0U7QVRtbUNKOztBU3BtQ0U7RUFDRTtBVHVtQ0o7O0FTeG1DRTtFQUNFO0FUMm1DSjs7QVM1bUNFO0VBQ0U7QVQrbUNKOztBU2huQ0U7RUFDRTtBVG1uQ0o7O0FTcG5DRTtFQUNFO0FUdW5DSjs7QU0xM0NDO0VHK1FPO0lBQ0U7RVQrbUNSO0VTaG5DTTtJQUNFO0VUa25DUjtFU25uQ007SUFDRTtFVHFuQ1I7RVN0bkNNO0lBQ0U7RVR3bkNSO0VTem5DTTtJQUNFO0VUMm5DUjtFUzVuQ007SUFDRTtFVDhuQ1I7RVMvbkNNO0lBQ0U7RVRpb0NSO0VTbG9DTTtJQUNFO0VUb29DUjtFU3JvQ007SUFDRTtFVHVvQ1I7RVN4b0NNO0lBQ0U7RVQwb0NSO0VTM29DTTtJQUNFO0VUNm9DUjtFUzlvQ007SUFDRTtFVGdwQ1I7RVNqcENNO0lBQ0U7RVRtcENSO0FBQ0Y7QU1wNkNDO0VHK1FPO0lBQ0U7RVR3cENSO0VTenBDTTtJQUNFO0VUMnBDUjtFUzVwQ007SUFDRTtFVDhwQ1I7RVMvcENNO0lBQ0U7RVRpcUNSO0VTbHFDTTtJQUNFO0VUb3FDUjtFU3JxQ007SUFDRTtFVHVxQ1I7RVN4cUNNO0lBQ0U7RVQwcUNSO0VTM3FDTTtJQUNFO0VUNnFDUjtFUzlxQ007SUFDRTtFVGdyQ1I7RVNqckNNO0lBQ0U7RVRtckNSO0VTcHJDTTtJQUNFO0VUc3JDUjtFU3ZyQ007SUFDRTtFVHlyQ1I7RVMxckNNO0lBQ0U7RVQ0ckNSO0FBQ0Y7QU03OENDO0VHK1FPO0lBQ0U7RVRpc0NSO0VTbHNDTTtJQUNFO0VUb3NDUjtFU3JzQ007SUFDRTtFVHVzQ1I7RVN4c0NNO0lBQ0U7RVQwc0NSO0VTM3NDTTtJQUNFO0VUNnNDUjtFUzlzQ007SUFDRTtFVGd0Q1I7RVNqdENNO0lBQ0U7RVRtdENSO0VTcHRDTTtJQUNFO0VUc3RDUjtFU3Z0Q007SUFDRTtFVHl0Q1I7RVMxdENNO0lBQ0U7RVQ0dENSO0VTN3RDTTtJQUNFO0VUK3RDUjtFU2h1Q007SUFDRTtFVGt1Q1I7RVNudUNNO0lBQ0U7RVRxdUNSO0FBQ0Y7QU10L0NDO0VHK1FPO0lBQ0U7RVQwdUNSO0VTM3VDTTtJQUNFO0VUNnVDUjtFUzl1Q007SUFDRTtFVGd2Q1I7RVNqdkNNO0lBQ0U7RVRtdkNSO0VTcHZDTTtJQUNFO0VUc3ZDUjtFU3Z2Q007SUFDRTtFVHl2Q1I7RVMxdkNNO0lBQ0U7RVQ0dkNSO0VTN3ZDTTtJQUNFO0VUK3ZDUjtFU2h3Q007SUFDRTtFVGt3Q1I7RVNud0NNO0lBQ0U7RVRxd0NSO0VTdHdDTTtJQUNFO0VUd3dDUjtFU3p3Q007SUFDRTtFVDJ3Q1I7RVM1d0NNO0lBQ0U7RVQ4d0NSO0FBQ0Y7QU0vaERDO0VHK1FPO0lBQ0U7RVRteENSO0VTcHhDTTtJQUNFO0VUc3hDUjtFU3Z4Q007SUFDRTtFVHl4Q1I7RVMxeENNO0lBQ0U7RVQ0eENSO0VTN3hDTTtJQUNFO0VUK3hDUjtFU2h5Q007SUFDRTtFVGt5Q1I7RVNueUNNO0lBQ0U7RVRxeUNSO0VTdHlDTTtJQUNFO0VUd3lDUjtFU3p5Q007SUFDRTtFVDJ5Q1I7RVM1eUNNO0lBQ0U7RVQ4eUNSO0VTL3lDTTtJQUNFO0VUaXpDUjtFU2x6Q007SUFDRTtFVG96Q1I7RVNyekNNO0lBQ0U7RVR1ekNSO0FBQ0Y7QUcxZ0RBO3VIQUFBO0FPeEVBOzt1SEFBQTtBQUlBO3VIQUFBO0FQdUVBO3VIQUFBO0FRM0VBOzt1SEFBQTtBQUlBO3VIQUFBO0FBV0E7dUhBQUE7QUFlQTtFQVRDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYZ2xERDs7QVc3akRBO0VBVEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgwa0REOztBV3RqREE7RUFWQztFQUNBO0VBQ0E7RUFDQTtF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QTtFQUNJO0F0QjYySEo7O0FzQjMySEE7RUFDSTtBdEI4MkhKOztBc0I1MkhBO0VBQ0k7QXRCKzJISjs7QXNCNzJIQTtFQUNJO0F0QmczSEo7O0FzQjkySEE7RUFDSTtBdEJpM0hKOztBc0IvMkhBO0VBQ0k7QXRCazNISjs7QXNCaDNIQTtFQUNJO0F0Qm0zSEo7O0FzQmozSEE7RUFDSTtBdEJvM0hKOztBc0JsM0hBO0VBQ0k7QXRCcTNISjs7QXNCbjNIQTtFQUNJO0F0QnMzSEo7O0FzQnAzSEE7RUFDSTtBdEJ1M0hKOztBc0JyM0hBO0VBQ0k7QXRCdzNISjs7QXNCdDNIQTtFQUNJO0F0QnkzSEo7O0FzQnYzSEE7RUFDSTtBdEIwM0hKOztBc0J4M0hBO0VBQ0k7QXRCMjNISjs7QXNCejNIQTtFQUNJO0F0QjQzSEo7O0FzQjEzSEE7RUFDSTtBdEI2M0hKOztBc0IzM0hBO0VBQ0k7QXRCODNISjs7QXNCNTNIQTtFQUNJO0F0QiszSEo7O0FzQjczSEE7RUFDSTtBdEJnNEhKOztBc0I5M0hBO0VBQ0k7QXRCaTRISjs7QXNCLzNIQTtFQUNJO0F0Qms0SEo7O0FzQmg0SEE7RUFDQztBdEJtNEhEOztBc0JqNEhBO0VBQ0M7QXRCbzRIRDs7QXNCbDRIQTtFQUNDO0F0QnE0SEQ7O0FzQm40SEE7RUFDQztBdEJzNEhEOztBc0JwNEhBO0VBQ0M7QXRCdTRIRDs7QXNCcjRIQTtFQUNDO0F0Qnc0SEQ7O0FzQnQ0SEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEJ5NEhKOztBc0J2NEhBO0VBQ0M7QXRCMDRIRDs7QXNCdjRIQTtFQUNJO0VBQ0E7QXRCMDRISjs7QUczL0hBO3VIQUFBO0FJMUdDO3FIQUFBO0FBU0E7cUhBQUE7QURHQTtFQ0VDO0lBY0ksWUFUSztFUDZsSVQ7QUFDRjtBTTdtSUM7RUNVQztJQW9CSTtFUG1sSUo7QUFDRjtBTWxuSUM7RUNVQztJQTBCSSxZQWpCTTtFUG1tSVY7QUFDRjtBTS9tSUM7RUNFQztJQWNJLGtCQVRLO0VQNG1JVDtBQUNGO0FNNW5JQztFQ1VDO0lBb0JJO0VQa21JSjtBQUNGO0FNam9JQztFQ1VDO0lBMEJJLGtCQWpCTTtFUGtuSVY7QUFDRjtBTTluSUM7RUNFQztJQWNJLG1CQVRLO0VQMm5JVDtBQUNGO0FNM29JQztFQ1VDO0lBb0JJO0VQaW5JSjtBQUNGO0FNaHBJQztFQ1VDO0lBMEJJLG1CQWpCTTtFUGlvSVY7QUFDRjs7QU03b0lDO0VDRUM7SUFjSSxZQVRLO0VQMm9JVDtBQUNGO0FNM3BJQztFQ1VDO0lBb0JJO0VQaW9JSjtBQUNGO0FNaHFJQztFQ1VDO0lBMEJJLFlBakJNO0VQaXBJVjtBQUNGO0FNN3BJQztFQ0VDO0lBY0ksa0JBVEs7RVAwcElUO0FBQ0Y7QU0xcUlDO0VDVUM7SUFvQkk7RVBncElKO0FBQ0Y7QU0vcUlDO0VDVUM7SUEwQkksa0JBakJNO0VQZ3FJVjtBQUNGO0FNNXFJQztFQ0VDO0lBY0ksbUJBVEs7RVB5cUlUO0FBQ0Y7QU16cklDO0VDVUM7SUFvQkk7RVArcElKO0FBQ0Y7QU05cklDO0VDVUM7SUEwQkksbUJBakJNO0VQK3FJVjtBQUNGOztBTTNySUM7RUNFQztJQWNJLFlBVEs7RVB5cklUO0FBQ0Y7QU16c0lDO0VDVUM7SUFvQkk7RVArcUlKO0FBQ0Y7QU05c0lDO0VDVUM7SUEwQkksWUFqQk07RVArcklWO0FBQ0Y7QU0zc0lDO0VDRUM7SUFjSSxrQkFUSztFUHdzSVQ7QUFDRjtBTXh0SUM7RUNVQztJQW9CSTtFUDhySUo7QUFDRjtBTTd0SUM7RUNVQztJQTBCSSxrQkFqQk07RVA4c0lWO0FBQ0Y7QU0xdElDO0VDRUM7SUFjSSxtQkFUSztFUHV0SVQ7QUFDRjtBTXZ1SUM7RUNVQztJQW9CSTtFUDZzSUo7QUFDRjtBTTV1SUM7RUNVQztJQTBCSSxtQkFqQk07RVA2dElWO0FBQ0Y7O0FNenVJQztFQ0VDO0lBY0ksZ0JBVEs7RVB1dUlUO0FBQ0Y7QU12dklDO0VDVUM7SUFvQkk7RVA2dElKO0FBQ0Y7QU01dklDO0VDVUM7SUEwQkksaUJBakJNO0VQNnVJVjtBQUNGO0FNenZJQztFQ0VDO0lBY0ksZ0JBVEs7RVBzdklUO0FBQ0Y7QU10d0lDO0VDVUM7SUFvQkk7RVA0dUlKO0FBQ0Y7QU0zd0lDO0VDVUM7SUEwQkksZ0JBakJNO0VQNHZJVjtBQUNGOztBdUJqdUlBO0VYM0JDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVd5Qkc7RVowVkg7RUFDQTtFQUNBO0VBcktBO0VBQ0E7RUFDQTtFQUNBO0VXcE9HO0VBQ0E7RUM2Q0E7RUFDQSxtQnRCdkRjO0VzQndEZCxjdEJyRGM7RXNCc0RkO0VBQ0E7RUY5REgsMEJFK0RtQjtFRjlEbkIsdUJFOERtQjtFRjdEbkIsa0JFNkRtQjtBdkJndklwQjtBdUIvdUlJO0VBQ0k7RUFDQTtBdkJpdklSO0F1Qi91SUk7RUFDSTtFUHJFUCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEK3hJbEI7QUUveElJO0VxQjZDUSxtQnRCbkVNO0FEd3pJbEI7QUUveElJO0VxQjBDUSxtQnRCbkVNO0FEMnpJbEI7QXVCdHZJUTtFQUNJLG1CdEJ0RU07QUQ4eklsQjtBdUJydklJO0VBQ0ksbUJ0QnhFVTtFc0J5RVYsY3RCbEVVO0FEeXpJbEI7QXVCdHZJUTtFQUNJO0VQbEZYLHNDZjJCaUI7RWUxQmpCLG9DZjBCaUI7RWV6QmpCLHlDZnlCaUI7RWV4QmpCLGlDZndCaUI7QURteklsQjtBRW56SUk7RXFCMERZLG1CdEI3RUU7QUR5MElsQjtBRW56SUk7RXFCdURZLG1CdEI3RUU7QUQ0MElsQjtBdUI3dklZO0VBQ0ksbUJ0QmhGRTtBRCswSWxCO0F1QjN2SUk7RUFDSTtFQUNBLGN0QmhGVTtBRDYwSWxCO0F1QjV2SVE7RUFDSTtFUGhHWCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEdTBJbEI7QUV2MElJO0VxQndFWTtFQUNBLGN0QmhHRTtBRGsySWxCO0FFeDBJSTtFcUJxRVk7RUFDQSxjdEJoR0U7QURzMklsQjtBdUJwd0lZO0VBQ0k7RUFDQSxjdEJwR0U7QUQwMklsQjtBdUJsd0lJO0VBQ0ksbUJ0Qi9GVTtFc0JnR1YsY3RCdkdVO0FEMjJJbEI7QXVCbndJUTtFQUNJO0VQaEhYLHNDZjJCaUI7RWUxQmpCLG9DZjBCaUI7RWV6QmpCLHlDZnlCaUI7RWV4QmpCLGlDZndCaUI7QUQ4MUlsQjtBRTkxSUk7RXFCd0ZZLG1CdEJ2R0U7QURnM0lsQjtBRTkxSUk7RXFCcUZZLG1CdEJ2R0U7QURtM0lsQjtBdUIxd0lZO0VBQ0ksbUJ0QjFHRTtBRHMzSWxCO0F1Qnh3SUk7RUFDSTtFQUNBO0VBQ0EsY3RCdEhVO0FEZzRJbEI7QXVCendJUTtFQUNJO0VQL0hYLHNDZjJCaUI7RWUxQmpCLG9DZjBCaUI7RWV6QmpCLHlDZnlCaUI7RWV4QmpCLGlDZndCaUI7QURtM0lsQjtBRW4zSUk7RXFCdUdZLG1CdEJ0SEU7RXNCdUhGLHFCdEJ2SEU7QURzNElsQjtBRXAzSUk7RXFCb0dZLG1CdEJ0SEU7RXNCdUhGLHFCdEJ2SEU7QUQwNElsQjtBdUJqeElZO0VBQ0ksbUJ0QjFIRTtFc0IySEYscUJ0QjNIRTtBRDg0SWxCO0F1Qjl3SVE7RUFDSTtFQUNBO0F2Qmd4SVo7QXVCL3dJWTtFWi9HWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFWTJHZTtFQUNBO0F2QnV4SWhCO0F1Qmx4SVE7RUFDSTtFQUNBO0F2Qm94SVo7QXVCanhJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2Qm14SVI7O0F1Qi93SUE7RVgzSUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFV3lJRztFRDFKQTtFQUNBO0VDMkpBO0VBQ0EsY3RCbEtjO0VzQm1LZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnV4SUo7QXVCcnhJUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFUHpMUCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEeTdJbEI7QXVCdnhJSTtFQUNJLGN0QjFMVTtBRG05SWxCO0F1Qnh4SVE7RUFDSTtBdkIweElaO0F1QnZ4SUk7RUFDSSxjdEJ0TFU7QUQrOElsQjtBdUJ4eElRO0VBQ0k7QXZCMHhJWjtBdUJ2eElJO0VBQ0k7QXZCeXhJUjtBdUJ2eElJO0VBQ0k7QXZCeXhJUjtBdUJ0eElRO0VBQ0k7QXZCd3hJWjtBdUJ0eElRO0VBQ0k7QXZCd3hJWjtBdUI1eElRO0VBQ0k7QXZCOHhJWjtBdUI1eElRO0VBQ0k7QXZCOHhJWjtBdUIxeElRO0VBQ0k7QXZCNHhJWjtBdUIxeElRO0VBQ0k7QXZCNHhJWjtBdUJ6eElJO0VEN05BO0VBQ0E7RUM4Tkk7QXZCNHhJUjtBdUIxeElJO0VBQ0k7RUFDQTtBdkI0eElSO0F1QjN4SVE7RUFDSTtFQUNBO0F2QjZ4SVo7QXVCM3hJUTtFQUNJO0F2QjZ4SVo7QXVCM3hJUTtFQUNJO0F2QjZ4SVo7QXVCMXhJWTtFQUNJO0F2QjR4SWhCO0F1QjF4SVk7RUFDSTtBdkI0eEloQjtBdUJoeUlZO0VBQ0k7QXZCa3lJaEI7QXVCaHlJWTtFQUNJO0F2Qmt5SWhCO0F1Qjl4SVk7RUFDSTtBdkJneUloQjtBdUI5eElZO0VBQ0k7QXZCZ3lJaEI7QXVCNXhJSTtFRC9QQTtFQUNBO0VDZ1FJO0F2Qit4SVI7QXVCOXhJUTtFTHBRUCxpQ0txUThCO0VMcFE5Qiw4QktvUThCO0VMblE5Qiw2QkttUThCO0VMbFE5Qiw0QktrUThCO0VMalE5Qix5QktpUThCO0F2Qm95SS9CO0F1Qmx5SVE7RUFDSTtBdkJveUlaO0F1Qmx5SVE7RUFDSTtBdkJveUlaO0F1Qmp5SVk7RUFDSTtBdkJteUloQjtBdUJqeUlZO0VBQ0k7QXZCbXlJaEI7QXVCdnlJWTtFQUNJO0F2Qnl5SWhCO0F1QnZ5SVk7RUFDSTtBdkJ5eUloQjtBdUJyeUlZO0VBQ0k7QXZCdXlJaEI7QXVCcnlJWTtFQUNJO0F2QnV5SWhCOztBdUJqeUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZCb3lJSjtBdUJueUlJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJ0QnJTVTtFc0JzU1Y7RVA3U1AsbUNmNkJpQjtFZTVCakIsaUNmNEJpQjtFZTNCakIsc0NmMkJpQjtFZTFCakIsOEJmMEJpQjtBRHlqSmxCO0F1QnR5SUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQnRCaFRVO0VzQmlUVjtFUHhUUCxtQ2Y2QmlCO0VlNUJqQixpQ2Y0QmlCO0VlM0JqQixzQ2YyQmlCO0VlMUJqQiw4QmYwQmlCO0FEdWtKbEI7QXVCeHlJUTtFQUNJO0VQN1RYLHFDZjRCaUI7RWUzQmpCLG1DZjJCaUI7RWUxQmpCLHdDZjBCaUI7RWV6QmpCLGdDZnlCaUI7QUQra0psQjtBdUIzeUlRO0VBQ0k7RVBqVVgscUNmNEJpQjtFZTNCakIsbUNmMkJpQjtFZTFCakIsd0NmMEJpQjtFZXpCakIsZ0NmeUJpQjtBRHNsSmxCOztBdUIxeUlJO0VBQ0k7RUFDQTtFQUNBO0F2QjZ5SVI7O0FPdm5KQztxSEFBQTtBQVNBO3FIQUFBO0FER0E7RUNFQztJQWNJLFNBVEs7RVA2bUpUO0FBQ0Y7QU03bkpDO0VDVUM7SUFvQkk7RVBtbUpKO0FBQ0Y7QU1sb0pDO0VDVUM7SUEwQkksVUFqQk07RVBtbkpWO0FBQ0Y7O0FNL25KQztFQ0VDO0lBY0ksVUFUSztFUDZuSlQ7QUFDRjtBTTdvSkM7RUNVQztJQW9CSTtFUG1uSko7QUFDRjtBTWxwSkM7RUNVQztJQTBCSSxVQWpCTTtFUG1vSlY7QUFDRjs7QXdCaHBKQTtFQUNJO0F4Qm1wSko7QXdCanBKUTtFWlVQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVlaVztFQUNBO0VBQ0E7QXhCdXBKWjtBd0J0cEpZO0VBQ0k7QXhCd3BKaEI7QXdCdnBKZ0I7RUFDSTtFQUNBLGN2QmpCRjtBRDBxSmxCO0FFdHBKSTtFc0JDb0I7QXhCd3BKeEI7QUV0cEpJO0VzQkZvQjtBeEIycEp4QjtBd0J4cEpnQjtFQUNJO0VBQ0E7QXhCMHBKcEI7QXdCenBKb0I7RUFDSTtFYkh2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFYUR1QjtBeEJpcUp4QjtBTXpySkM7RWtCOEJHO0lBRVE7RXhCNnBKVjtBQUNGO0FNdHNKQztFa0JzQ0c7SUFLUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4QitwSlY7QUFDRjs7QU12c0pDO0VrQjhERztJQUNJO0lBQ0E7RXhCNm9KTjtFd0I1b0pNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsbUJ2QjlFTTtJdUIrRU47RXhCOG9KVjtFd0I1b0pNO0lBQ0k7SUFDQTtFeEI4b0pWO0V3QjFvSmM7SUFDSSxjdkIzRkY7RUR1dUpoQjtBQUNGO0FPM3VKQztxSEFBQTtBQVNBO3FIQUFBO0FER0E7RUNFQztJQWNJLGlCQVRLO0VQZ3VKVDtBQUNGO0FNaHZKQztFQ1VDO0lBb0JJO0VQc3RKSjtBQUNGO0FNcnZKQztFQ1VDO0lBMEJJLGlCQWpCTTtFUHN1SlY7QUFDRjs7QU1sdkpDO0VDRUM7SUFjSSxpQkFUSztFUGd2SlQ7QUFDRjtBTWh3SkM7RUNVQztJQW9CSTtFUHN1Sko7QUFDRjtBTXJ3SkM7RUNVQztJQTBCSSxpQkFqQk07RVBzdkpWO0FBQ0Y7O0FNbHdKQztFQ0VDO0lBY0ksaUJBVEs7RVBnd0pUO0FBQ0Y7QU1oeEpDO0VDVUM7SUFvQkk7RVBzdkpKO0FBQ0Y7QU1yeEpDO0VDVUM7SUEwQkksaUJBakJNO0VQc3dKVjtBQUNGOztBTWx4SkM7RUNFQztJQWNJLG9CQVRLO0VQZ3hKVDtBQUNGO0FNaHlKQztFQ1VDO0lBb0JJO0VQc3dKSjtBQUNGO0FNcnlKQztFQ1VDO0lBMEJJLG1CQWpCTTtFUHN4SlY7QUFDRjs7QU1seUpDO0VDRUM7SUFjSSxpQkFUSztFUGd5SlQ7QUFDRjtBTWh6SkM7RUNVQztJQW9CSTtFUHN4Sko7QUFDRjtBTXJ6SkM7RUNVQztJQTBCSSxpQkFqQk07RVBzeUpWO0FBQ0Y7O0FNbHpKQztFQ0VDO0lBY0ksZ0JBVEs7RVBnekpUO0FBQ0Y7QU1oMEpDO0VDVUM7SUFvQkk7RVBzeUpKO0FBQ0Y7QU1yMEpDO0VDVUM7SUEwQkksZ0JBakJNO0VQc3pKVjtBQUNGOztBeUJ4eUpZO0VBQ0k7RUFDQTtBekIyeUpoQjtBeUJ6eUpvQjtFQUNJO0F6QjJ5SnhCO0F5QnB5SlE7RXZCdkNKO0VBQ0E7RUFDQTtFQUNBO0V1QnNDUTtBekJ5eUpaO0FNajFKQztFbUJxQ0c7SUFNUTtJQUNBO0V6QjB5SlY7QUFDRjtBeUJ0eUpZO0VBQ0k7RUFDQTtBekJ3eUpoQjtBeUJ2eUpnQjtFQUNJO0F6Qnl5SnBCO0F5Qnh5Sm9CO0VBQ0k7QXpCMHlKeEI7QXlCeHlKb0I7RUFDSTtBekIweUp4QjtBeUJyeUpZO0VBQ0k7QXpCdXlKaEI7QXlCcnlKWTtFQUNJO0F6QnV5SmhCO0F5QnJ5Slk7RUFDSTtBekJ1eUpoQjtBeUJyeUpZO0VBQ0k7QXpCdXlKaEI7O0F5Qmh5SkE7RUFJWTtJQUNJO0V6Qmd5SmQ7RXlCOXhKa0I7SUFDSTtFekJneUp0QjtFeUJ4eEpVO0lBRVE7RXpCeXhKbEI7QUFDRjtBeUJoeEpBO0VBRVE7SUFDSTtFekJpeEpWO0V5Qi93Sk07SUFDSTtFekJpeEpWO0FBQ0Y7QU9oNUpDO3FIQUFBO0FBU0E7cUhBQUE7QURHQTtFQ0VDO0lBY0ksbUJBVEs7RVBxNEpUO0FBQ0Y7QU1yNUpDO0VDVUM7SUFvQkk7RVAyM0pKO0FBQ0Y7QU0xNUpDO0VDVUM7SUEwQkksbUJBakJNO0VQMjRKVjtBQUNGOztBTXY1SkM7RUNFQztJQWNJLG1CQVRLO0VQcTVKVDtBQUNGO0FNcjZKQztFQ1VDO0lBb0JJO0VQMjRKSjtBQUNGO0FNMTZKQztFQ1VDO0lBMEJJLG1CQWpCTTtFUDI1SlY7QUFDRjs7QU0vNkpDO0VOZWU7SUFDSTtFQW82SmxCO0FBQ0Y7QU03NkpDO0VOYVc7SUFDSTtFQW02SmQ7QUFDRjtBQWg2Slk7RUFDSTtFQUNBO0FBazZKaEI7QUFqNkpnQjtFV0ZmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VYRm1CO0VBQ0E7QUF5NkpwQjs7QU1qOEpDO0VOZ0NHO0lBQ0k7RUFxNkpOO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvcGFnZV9jb250YWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zZXR0aW5ncy9zdGdzX3Byb2pldC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2V0dGluZ3Mvc3Rnc19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3NldHRpbmdzL3N0Z3NfcGFnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZGVmYXVsdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3BlcmF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfbWVkaWFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9mbHVpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2dyaWxsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfaGVscGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9hbGlnbmVtZW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3JkcmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9kaXJlY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90YWlsbGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfdHJhbnNmb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfaW50ZXJhY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9vbWJyZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X3JhZGl1cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9sZWN1bGVzL21vbF9mb250cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9sZWN1bGVzL21vbF9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9ibG9jcy9ibG9jX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2Jsb2NzL2Jsb2NfdG9wX3BhZ2Uuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi9zZXR0aW5ncy9zdGdzX3BhZ2UnO1xuQGltcG9ydCAnLi4vYmxvY3MvYmxvY19icmVhZGNydW1iJztcbkBpbXBvcnQgJy4uL2Jsb2NzL2Jsb2NfdG9wX3BhZ2UnO1xuXG4kcGFnZUNvbnRhY3RNYXAgOiAoXG4gICAgJy5wYWdlX2NvbnRhY3QgLmhlYWRlcl9jb250ZW50IC50aXRsZSc6IChcbiAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAoXG4gICAgICAgICAgICAzMnB4LFxuICAgICAgICAgICAgNjRweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5wYWdlX2NvbnRhY3QgLmxpbmtzX3JpZ2h0IC5jay1jb250ZW50IC50aXRyZV9oMyc6IChcbiAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAoXG4gICAgICAgICAgICAxNXB4LFxuICAgICAgICAgICAgMjBweFxuICAgICAgICApLFxuICAgICksXG4pO1xuXG5AaW5jbHVkZSBmbHVpZCgkcGFnZUNvbnRhY3RNYXApO1xuXG4ucGFnZV9jb250YWN0IHtcbiAgICAubGlua3NfcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYV94X21pbignbWQnKSB7XG4gICAgICAgICAgICAuY29sXzEyOm5vdChbY2xhc3MqPSdjb2xfbWQnXSkge1xuICAgICAgICAgICAgICAgICsgLmNvbF8xMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3AgOiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYV94X21heCgnbWQnKSB7XG4gICAgICAgICAgICAuY29sXzEyICsgLmNvbF8xMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcCA6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNrLWNvbnRlbnQge1xuICAgICAgICAgICAgYVtjbGFzcyo9J2ljb24nXSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24gICAgIDogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDogMzBweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHlfYWxpZ25fYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgICAgICA6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSA6IDEuM2VtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWFfeF9tYXgoJ21kJykge1xuICAgIC5wYWdlX2NvbnRhY3QgLmxpbmtzX3JpZ2h0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcCA6IDUwcHg7XG4gICAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIFN0Z3MgUHJvamV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBDb3VsZXVyc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIHByb2plY3QgY29sb3JzXG5cbiRiZWlnZSAgICAgICAgICA6ICNmZmU4ZDY7XG4kYmVpZ2UyICAgICAgICAgOiAjZjVkNmJkO1xuJGJyb3duICAgICAgICAgIDogI2I3OWU4YTtcbiRibGFjayAgICAgICAgICA6ICMxMjEyMTI7XG4kZ3JleS1kYXJrICAgICAgOiAjNTg1ODU4O1xuJGdyZXktZGFyazIgICAgIDogIzhmOGY4ZjtcbiRncmV5ICAgICAgICAgICA6ICNiZGJkYmQ7XG4kZ3JleS1saWdodCAgICAgOiAjZjNmM2YzO1xuJGdyZXktbGlnaHQyICAgIDogI2Y5ZjlmOTtcbiRncmV5LWxpZ2h0MyAgICA6ICNkOWQ5ZDk7XG4kd2hpdGUgICAgICAgICAgOiAjZmZmZmZmO1xuJGdyZWVuICAgICAgICAgIDogIzkxY2JhMTtcblxuLy8gYWxlcnQgY29sb3JzXG5cbiRzdWNjZXNzICAgICAgICA6ICMwMDkxMDA7XG4kaW5mbyAgICAgICAgICAgOiAjMDAwZmI0O1xuJHdhcm5pbmcgICAgICAgIDogI2M4OGQwMDtcbiRkYW5nZXIgICAgICAgICA6ICNkMDAwMDA7XG5cbi8qIC0gVmFyaWFibGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJHRyYW5zaXRpb24gICAgIDogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuJHRyYW5zaXRpb25TbG93IDogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XG4kdHJhbnNpdGlvbk51bGwgOiBhbGwgMHMgZWFzZS1pbi1vdXQ7XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gU3RncyBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIFNoYWRvd1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBzaGFkb3coJHNoYWRvdyA6IDAgMnB4IDEwcHggMCByZ2JhKCRibGFjaywgMC4yKSkge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdyA6ICRzaGFkb3c7XG4gICAgLW1vei1ib3gtc2hhZG93ICAgIDogJHNoYWRvdztcbiAgICBib3gtc2hhZG93ICAgICAgICAgOiAkc2hhZG93O1xufVxuXG4vKiAtIEltYWdlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBpbWFnZUZpdCgpIHtcbiAgICBvYmplY3QtZml0ICAgICAgICAgOiBjb3ZlcjtcbiAgICAtby1vYmplY3QtZml0ICAgICAgOiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb24gICAgOiBjZW50ZXI7XG4gICAgLW8tb2JqZWN0LXBvc2l0aW9uIDogY2VudGVyO1xufVxuXG5AbWl4aW4gcmVzZXRJbWFnZUZpdCgpIHtcbiAgICBvYmplY3QtZml0ICAgIDogdW5zZXQ7XG4gICAgLW8tb2JqZWN0LWZpdCA6IHVuc2V0O1xufVxuXG4vKiAtIEludGVyYWN0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBob3Zlcl9mb2N1cyB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1cyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzX2FjY2VzcyB7XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AaW1wb3J0ICdzdGdzX3Byb2pldCc7XG5AaW1wb3J0ICdzdGdzX21peGlucyc7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBTdGdzIEFyYWJpY2Fcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIGZsdWlkIE1vZGVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kZmx1aWRNb2RlICAgICAgICAgICAgICAgOiB0cnVlOyAvLyBUcnVlIC0gRmFsc2VcblxuLyogLSBCcmVha3BvaW50cyAoY29sb25uZXMsIHRhaWxsZSBkZXMgYm94ZXMgZXQgbW9kYWxlcylcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kYnJlYWtwb2ludE1hcCAgICAgICAgICAgOiAoXG5cdC8vIGNsYXNzPVwiY29sX3hzXCIgLSBjbGFzcz1cImJveF94c1wiIC0gY2xhc3M9XCJtb2RhbGVfeHNcIlxuXHQneHMnOiAwNDQwcHgsXG5cdC8vIGNsYXNzPVwiY29sX3NtXCIgLSBjbGFzcz1cImJveF9zbVwiIC0gY2xhc3M9XCJtb2RhbGVfc21cIlxuXHQnc20nOiAwNTc2cHgsXG5cdC8vIGNsYXNzPVwiY29sX21kXCIgLSBjbGFzcz1cImJveF9tZFwiIC0gY2xhc3M9XCJtb2RhbGVfbWRcIlxuXHQnbWQnOiAwNzY4cHgsXG5cdC8vIGNsYXNzPVwiY29sX2xnXCIgLSBjbGFzcz1cImJveF9sZ1wiIC0gY2xhc3M9XCJtb2RhbGVfbGdcIlxuXHQnbGcnOiAxMDI0cHgsXG5cdC8vIGNsYXNzPVwiY29sX3hsXCIgLSBjbGFzcz1cImJveF94bFwiIC0gY2xhc3M9XCJtb2RhbGVfeGxcIlxuXHQneGwnOiAxMjMwcHgsXG5cdC8vIGNsYXNzPVwiY29sX2Z1bGxcIiAtIGNsYXNzPVwiYm94X2Z1bGxcIiAtIGNsYXNzPVwibW9kYWxlX2Z1bGxcIlxuXHQnZnVsbCc6IDAxMDAlXG4pO1xuXG4vKiAtIE1hcmdlcyAoRW50cmUgbGVzIGxlcyBjb2xvbm5lcyA6IGNsYXNzPVwibWFyZ2VzXCIgc3VyIGxhIHJvdyBwYXJlbnRlKVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiRtYXJnZXMgICAgICAgICAgICAgICAgICA6IDEwcHg7XG4kbWFyZ2VzQnJlYWtwb2ludCAgICAgICAgOiAnbWQnO1xuJG1hcmdlc01vYmlsZSAgICAgICAgICAgIDogNHB4O1xuXG4vKiAtIE5vbWJyZSBkZSBjb2xvbm5lcyBkZSBsYSBncmlsbGVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kbm9tYnJlQ29sb25uZXMgICAgICAgICAgOiAxMjtcblxuLyogLSBNb2RhbGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG1vZGFsZVBhZGRpbmcgICAgICAgICAgIDogMjRweDtcbiRtb2RhbGVQYWRkaW5nQnJlYWtwb2ludCA6ICdtZCc7XG4kbW9kYWxlUGFkZGluZ01vYmlsZSAgICAgOiBtYXRoLmRpdigkbW9kYWxlUGFkZGluZywgMik7XG4kbW9kYWxlQmFja2dyb3VuZENvbG9yICAgOiAjZmZmZmZmO1xuJG92ZXJsYXlCYWNrZ3JvdW5kQ29sb3IgIDogIzAwMDAwMDtcbiRvdmVybGF5T3BhY2l0eSAgICAgICAgICA6IC43NTtcblxuLyogLSBGbmN0IERlZmF1bHRcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9kZWZhdWx0Jztcbi8qIC0gRm5jdCBPcGVyYXRpb25zXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3BlcmF0aW9ucyc7XG4vKiAtIEZuY3QgTWVkaWFzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfbWVkaWFzJztcbi8qIC0gRm5jdCBGbHVpZFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2ZsdWlkJztcbi8qIC0gRm5jdCBGb3Jtc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2Zvcm1zJztcbi8qIC0gRm5jdCBHcmlsbGVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9ncmlsbGUnO1xuLyogLSBGbmN0IEhlbHBlclxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2hlbHBlcic7XG4vKiAtIEZuY3QgQWxpZ25lbWVudHNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9hbGlnbmVtZW50cyc7XG4vKiAtIEZuY3QgRGlzcGxheVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2Rpc3BsYXknO1xuLyogLSBGbmN0IE9yZHJlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X29yZHJlcyc7XG4vKiAtIEZuY3QgRGlyZWN0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2RpcmVjdGlvbnMnO1xuLyogLSBGbmN0IFRhaWxsZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90YWlsbGVzJztcbi8qIC0gRm5jdCBUcmFuc2l0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X3RyYW5zaXRpb25zJztcbi8qIC0gRm5jdCBBbmltYXRpb25zXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfYW5pbWF0aW9ucyc7XG4vKiAtIEZuY3QgVHJhbnNmb3Jtc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X3RyYW5zZm9ybXMnO1xuLyogLSBGbmN0IEludGVyYWN0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2ludGVyYWN0aW9ucyc7XG4vKiAtIEZuY3QgT21icmVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb21icmVzJztcbi8qIC0gRm5jdCBSYWRpdXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9yYWRpdXMnO1xuXG4vKiAtIEZvbnRzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uL21vbGVjdWxlcy9tb2xfZm9udHMnO1xuLyogLSBCdXR0b25zXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uL21vbGVjdWxlcy9tb2xfYnV0dG9ucyc7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRGVmYXVsdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gSGVscGVyXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJGhlbHBlck1vZGUgOiBmYWxzZSAhZGVmYXVsdCAhZ2xvYmFsOyAvLyBUcnVlIC0gRmFsc2VcblxuJGhlbHBlclBhZGRpbmcgOiAycHggIWRlZmF1bHQgIWdsb2JhbDtcbiRoZWxwZXJCb3JkZXIgOiAycHggIWRlZmF1bHQgIWdsb2JhbDtcbiRoZWxwZXJIZWlnaHQgOiBhdXRvICFkZWZhdWx0ICFnbG9iYWw7XG5cbiRib3hDb2xvciA6IHJlZCAhZGVmYXVsdCAhZ2xvYmFsO1xuJHJvd0NvbG9yIDogZ3JlZW4gIWRlZmF1bHQgIWdsb2JhbDtcbiRjb2xDb2xvciA6IGJsdWUgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBGbHVpZCBNb2RlXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJGZsdWlkTWFwIDogKCkgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBCcmVha3BvaW50cyAoY29sb25uZXMsIHRhaWxsZSBkZXMgYm94ZXMgZXQgbW9kYWxlcylcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kYnJlYWtwb2ludE1hcCA6IChcbiAgLy8gY2xhc3M9XCJjb2xfeHNcIiAtIGNsYXNzPVwiYm94X3hzXCIgLSBjbGFzcz1cIm1vZGFsZV94c1wiXG4gICAgICAgICd4cyc6IDAzMjBweCxcbiAgLy8gY2xhc3M9XCJjb2xfc21cIiAtIGNsYXNzPVwiYm94X3NtXCIgLSBjbGFzcz1cIm1vZGFsZV9zbVwiXG4gICAgICAgICdzbSc6IDA1NzZweCxcbiAgLy8gY2xhc3M9XCJjb2xfbWRcIiAtIGNsYXNzPVwiYm94X21kXCIgLSBjbGFzcz1cIm1vZGFsZV9tZFwiXG4gICAgICAgICdtZCc6IDA3NjhweCxcbiAgLy8gY2xhc3M9XCJjb2xfbGdcIiAtIGNsYXNzPVwiYm94X2xnXCIgLSBjbGFzcz1cIm1vZGFsZV9sZ1wiXG4gICAgICAgICdsZyc6IDEwMjRweCxcbiAgLy8gY2xhc3M9XCJjb2xfeGxcIiAtIGNsYXNzPVwiYm94X3hsXCIgLSBjbGFzcz1cIm1vZGFsZV94bFwiXG4gICAgICAgICd4bCc6IDEyODBweCxcbiAgLy8gY2xhc3M9XCJjb2xfZnVsbFwiIC0gY2xhc3M9XCJib3hfZnVsbFwiIC0gY2xhc3M9XCJtb2RhbGVfZnVsbFwiXG4gICAgICAgICdmdWxsJzogMDEwMCVcbikgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBNYXJnZXMgKEVudHJlIGxlcyBsZXMgY29sb25uZXMgOiBjbGFzcz1cIm1hcmdlc1wiIHN1ciBsYSByb3cgcGFyZW50ZSlcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kbWFyZ2VzIDogMTJweCAhZGVmYXVsdCAhZ2xvYmFsO1xuJG1hcmdlc0JyZWFrcG9pbnQgOiAnc20nICFkZWZhdWx0ICFnbG9iYWw7XG4kbWFyZ2VzTW9iaWxlIDogJG1hcmdlcyAvIDIgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBOb21icmUgZGUgY29sb25uZXMgZGUgbGEgZ3JpbGxlXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG5vbWJyZUNvbG9ubmVzIDogMTIgIWRlZmF1bHQgIWdsb2JhbDtcblxuLyogLSBNb2RhbGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG1vZGFsZVBhZGRpbmcgOiAzMnB4ICFkZWZhdWx0ICFnbG9iYWw7XG4kbW9kYWxlUGFkZGluZ0JyZWFrcG9pbnQgOiAnc20nICFkZWZhdWx0ICFnbG9iYWw7XG4kbW9kYWxlUGFkZGluZ01vYmlsZSA6ICRtb2RhbGVQYWRkaW5nIC8gMiAhZGVmYXVsdCAhZ2xvYmFsO1xuJG1vZGFsZUJhY2tncm91bmRDb2xvciA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgIWRlZmF1bHQgIWdsb2JhbDtcbiRvdmVybGF5QmFja2dyb3VuZENvbG9yIDogcmdiYSgwLCAwLCAwLCAxKSAhZGVmYXVsdCAhZ2xvYmFsO1xuJG92ZXJsYXlPcGFjaXR5IDogLjc1ICFkZWZhdWx0ICFnbG9iYWw7XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBPcMOpcmF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gUsOpY3Vww6lyYXRpb24gZCd1bmUgdmFsZXVyIHNhbnMgdW5pdMOpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQGZ1bmN0aW9uIGdldF92YWx1ZSgkdmFsdWUpIHtcbiAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgTcOpZGlhc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gTWluaW11bSBldCBtYXhpbXVtXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gTWluIFdpZHRoXG5cbkBtaXhpbiBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIE1heCBXaWR0aFxuXG5AbWl4aW4gbWVkaWFfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBCZXR3ZWVuIFdpZHRoXG5cbkBtaXhpbiBtZWRpYV94X2JldHdlZW4oJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIEFyb3VuZCBXaWR0aFxuXG5AbWl4aW4gbWVkaWFfeF9hcm91bmQoJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0gLSAxcHgpKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIE1pbiBIZWlnaHRcblxuQG1peGluIG1lZGlhX3lfbWluKCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gTWF4IEhlaWdodFxuXG5AbWl4aW4gbWVkaWFfeV9tYXgoJGhhdXRldXIpIHtcblx0QG1lZGlhIChtYXgtaGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBCZXR3ZWVuIEhlaWdodFxuXG5AbWl4aW4gbWVkaWFfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBBcm91bmQgSGVpZ2h0XG5cbkBtaXhpbiBtZWRpYV95X2Fyb3VuZCgkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLyogLSBEw6l0w6ljdGlvbiBkZSBsJ29yaWVudGF0aW9uXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gUG9ydHJhaXRcblxuQG1peGluIG1lZGlhX3BvcnRyYWl0IHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9ydHJhaXRfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF94X2JldHdlZW4oJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0pIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0gLSAxcHgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0gLSAxcHgpKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF95X21pbigkaGF1dGV1cikge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3lfbWF4KCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9ydHJhaXRfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWluKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF95X2Fyb3VuZCgkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBMYW5kc2NhcGVcblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZV94X21heCgkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9sYW5kc2NhcGVfeF9iZXR3ZWVuKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFsYW5kc2NhcGV0X3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9IC0gMXB4KSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3lfbWluKCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZV95X21heCgkaGF1dGV1cikge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9sYW5kc2NhcGVfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3lfYXJvdW5kKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vKiAtIFR5cGVzIGRlIGRldmljZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBUb3VjaFxuXG5AbWl4aW4gbWVkaWFfdG91Y2gge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV90b3VjaF94X21heCgkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0gLSAxcHgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3hfYmV0d2VlbigkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeF9hcm91bmQoJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSAtIDFweCkpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3lfbWluKCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeV9tYXgoJGhhdXRldXIpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV90b3VjaF95X2JldHdlZW4oJGhhdXRldXJNaW4sICRoYXV0ZXVyTWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3lfYXJvdW5kKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWluKSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIFBvaW50ZXJcblxuQG1peGluIG1lZGlhX3BvaW50ZXIge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfbWF4KCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfYmV0d2VlbigkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSAtIDFweCkpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9taW4oJGhhdXRldXIpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9tYXgoJGhhdXRldXIpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvaW50ZXJfeV9hcm91bmQoJGhhdXRldXJNaW4sICRoYXV0ZXVyTWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBQcmludFxuXG5AbWl4aW4gbWVkaWFfcHJpbnQge1xuXHRAbWVkaWEgcHJpbnQge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBmbHVpZCgkZmx1aWRNYXApIHtcblxuXHQvKiAtIFZhcmlhYmxlc1xuXHQuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cblx0JHRhaWxsZUVjcmFuQ3VycmVudCA6IDEwMHZ3O1xuXHQkdGFpbGxlRWNyYW5NYXggOiBtYXBfZ2V0KCRicmVha3BvaW50TWFwLCBudGgobnRoKCRicmVha3BvaW50TWFwLCBsZW5ndGgoJGJyZWFrcG9pbnRNYXApLTEpLCAxKSk7XG5cdCR0YWlsbGVFY3Jhbk1pbiA6IG1hcF9nZXQoJGJyZWFrcG9pbnRNYXAsIG50aChudGgoJGJyZWFrcG9pbnRNYXAsIDEpLCAxKSk7XG5cdCRkaWZmRWNyYW5DdXJyZW50TWluIDogY2FsYygjeyR0YWlsbGVFY3JhbkN1cnJlbnR9IC0gI3skdGFpbGxlRWNyYW5NaW59KTtcblx0JGRpZmZFY3Jhbk1heE1pbiA6IGdldF92YWx1ZSgkdGFpbGxlRWNyYW5NYXgpIC0gZ2V0X3ZhbHVlKCR0YWlsbGVFY3Jhbk1pbik7XG5cblx0LyogLSBHw6luw6lyYXRpb24gZGVzIHRhaWxsZXMgRmx1aWRlc1xuXHQuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cblx0QGVhY2ggJGJhbGlzZSwgJHZhbHVlIGluICRmbHVpZE1hcCB7XG5cblx0XHQjeyRiYWxpc2V9IHtcblxuXHRcdFx0QGVhY2ggJGVsZW1lbnQgaW4gJHZhbHVlIHtcblxuXHRcdFx0XHQkcHJvcHJpZXRlIDogbnRoKCRlbGVtZW50LCAxKTtcblx0XHRcdFx0JG1pbiA6IG50aChudGgoJGVsZW1lbnQsIDIpLCAxKTtcblxuXHRcdFx0XHRAaWYgbGVuZ3RoKG50aCgkZWxlbWVudCwgMikpID4gMSB7XG5cblx0XHRcdFx0XHQkbWF4IDogbnRoKG50aCgkZWxlbWVudCwgMiksIDIpO1xuXHRcdFx0XHRcdCRtYXhNb2luc01pbiA6IGdldF92YWx1ZSgkbWF4KSAtIGdldF92YWx1ZSgkbWluKTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhX3hfbWF4KG50aChudGgoJGJyZWFrcG9pbnRNYXAsIDEpLCAxKSkge1xuXG5cdFx0XHRcdFx0XHQjeyRwcm9wcmlldGV9IDogJG1pbjtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhX3hfbWluKG50aChudGgoJGJyZWFrcG9pbnRNYXAsIDEpLCAxKSkge1xuXG5cdFx0XHRcdFx0XHQjeyRwcm9wcmlldGV9IDogY2FsYygjeyRtaW59ICsgKCN7JG1heE1vaW5zTWlufSkgKiAoI3skdGFpbGxlRWNyYW5DdXJyZW50fSAtICN7JHRhaWxsZUVjcmFuTWlufSkgLyAoI3tnZXRfdmFsdWUoJHRhaWxsZUVjcmFuTWF4KX0gLSAje2dldF92YWx1ZSgkdGFpbGxlRWNyYW5NaW4pfSkpO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4obnRoKG50aCgkYnJlYWtwb2ludE1hcCwgbGVuZ3RoKCRicmVha3BvaW50TWFwKS0xKSwgMSkpIHtcblxuXHRcdFx0XHRcdFx0I3skcHJvcHJpZXRlfSA6ICRtYXg7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fSBAZWxzZSB7XG5cblx0XHRcdFx0XHQjeyRwcm9wcmlldGV9IDogJG1pbjtcblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIGZsdWlkKCRmbHVpZE1hcCk7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRm9ybXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIFBsYWNlaG9sZGVyXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGlucHV0X3BsYWNlaG9sZGVyIHtcblx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cblx0Jjo6LW1vei1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblxuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXG5cdCY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IEdyaWxsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gQm94c1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIENvbXBvcnRlbWVudCBkZXMgYm94cyBwYXIgZMOpZmF1dFxuXG4lYm94IHtcbiAgbWFyZ2luLXJpZ2h0IDogYXV0bztcbiAgbWFyZ2luLWxlZnQgIDogYXV0bztcbn1cblxuLy8gQ29tcG9ydGVtZW50IGRlcyBib3hzIGF2ZWMgZGVzIG1hcmdlc1xuXG5AbWl4aW4gbWFyZ2VzKCRib3hXaWR0aCkge1xuICAmLm1hcmdlcyB7XG4gICAgQGlmICRib3hXaWR0aCAhPSBtYXBfZ2V0KCRicmVha3BvaW50TWFwLCBmdWxsKSB7XG4gICAgICBtYXgtd2lkdGggICAgIDogJGJveFdpZHRoICsgKCRtYXJnZXMgKiA0KTtcbiAgICAgIHBhZGRpbmctcmlnaHQgOiAkbWFyZ2VzICogMjtcbiAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzICogMjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhX3hfbWF4KCRtYXJnZXNCcmVha3BvaW50KSB7XG4gICAgICAgIG1heC13aWR0aCAgICAgOiAkYm94V2lkdGggKyAoJG1hcmdlc01vYmlsZSAqIDQpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0IDogJG1hcmdlc01vYmlsZSAqIDI7XG4gICAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzTW9iaWxlICogMjtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQgOiAkbWFyZ2VzICogMjtcbiAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzICogMjtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGJveCwgJGJveFNpemUgaW4gJGJyZWFrcG9pbnRNYXAge1xuICAuYm94XyN7JGJveH0ge1xuICAgIEBleHRlbmQgJWJveDtcbiAgICBAaW5jbHVkZSBtYXJnZXMoJGJveFdpZHRoIDogJGJveFNpemUpO1xuICAgIG1heC13aWR0aCA6ICRib3hTaXplO1xuICB9XG59XG5cbi8qIC0gUm93c1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIENvbXBvcnRlbWVudCBkZXMgcm93cyBwYXIgZMOpZmF1dFxuXG5AbWl4aW4gcm93IHtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICA6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5ICAgICAgICAgICAgICAgIDogLW1vei1ib3g7XG4gIGRpc3BsYXkgICAgICAgICAgICAgICAgOiAtbXMtZmxleGJveDtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICA6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICA6IGZsZXg7XG4gIGZsZXgtd3JhcCAgICAgICAgICAgICAgOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcCAgICAgIDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcCAgICAgICAgICA6IHdyYXA7XG4gIGZsZXgtZ3JvdyAgICAgICAgICAgICAgOiAxO1xuICAtd2Via2l0LWZsZXgtZ3JvdyAgICAgIDogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICA6IDE7XG4gIC13ZWJraXQtYm94LW9yaWVudCAgICAgOiBob3Jpem9udGFsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb24gIDogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uIDogcm93O1xuICAtbXMtZmxleC1kaXJlY3Rpb24gICAgIDogcm93O1xuICBmbGV4LWRpcmVjdGlvbiAgICAgICAgIDogcm93O1xuXG4gIC8vIENvbXBvcnRlbWVudCBkZXMgcm93cyBhdmVjIGRlcyBtYXJnZXNcblxuICAmLm1hcmdlcyB7XG4gICAgbWFyZ2luLXJpZ2h0IDogLSRtYXJnZXM7XG4gICAgbWFyZ2luLWxlZnQgIDogLSRtYXJnZXM7XG4gICAgPiBbY2xhc3MqPVwiY29sXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQgOiAkbWFyZ2VzO1xuICAgICAgcGFkZGluZy1sZWZ0ICA6ICRtYXJnZXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhX3hfbWF4KCRtYXJnZXNCcmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQgOiAtJG1hcmdlc01vYmlsZTtcbiAgICAgIG1hcmdpbi1sZWZ0ICA6IC0kbWFyZ2VzTW9iaWxlO1xuICAgICAgPiBbY2xhc3MqPVwiY29sXCJdIHtcbiAgICAgICAgcGFkZGluZy1yaWdodCA6ICRtYXJnZXNNb2JpbGU7XG4gICAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzTW9iaWxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbXBvcnRlbWVudCBkZXMgcm93cyBObyBXcmFwXG5cbiAgJi5ub193cmFwIHtcbiAgICBmbGV4LXdyYXAgICAgICAgICA6IG5vd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcCA6IG5vd3JhcDtcbiAgICAtbXMtZmxleC13cmFwICAgICA6IG5vd3JhcDtcbiAgfVxufVxuXG4ucm93IHtcbiAgQGluY2x1ZGUgcm93O1xufVxuXG4vKiAtIENvbG9ubmVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQ29tcG9ydGVtZW50IGRlcyBjb2xvbm5lcyBwYXIgZMOpZmF1dCAocsOpcGFydGl0aW9uIMOpcXVpdGFibGUpXG5cbkBtaXhpbiBjb2wge1xuICAvLyBHcm93XG4gIGZsZXgtZ3JvdyAgICAgICAgICAgICAgIDogMTtcbiAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAxO1xuICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDE7XG4gIC8vIFNocmlua1xuICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDE7XG4gIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMTtcbiAgLy8gQmFzaXNcbiAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiAwO1xuICAtd2Via2l0LWZsZXgtYmFzaXMgICAgICA6IDA7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogMDtcbiAgLy8gU2l6ZVxuICBtYXgtd2lkdGggICAgICAgICAgICAgICA6IDEwMCU7XG59XG5cbltjbGFzc149XCJjb2xcIl0ge1xuICBAaW5jbHVkZSBjb2w7XG59XG5cbi8vIENvbXBvcnRlbWVudCBkZXMgY29sb25uZXMgZW4gbGFyZ2V1ciBiYXPDqWUgc3VyIGxlIGNvbnRlbnVcblxuQG1peGluIGNvbF9jb250ZW50IHtcbiAgLy8gR3Jvd1xuICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDA7XG4gIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMDtcbiAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICAgOiAwO1xuICAvLyBTaHJpbmtcbiAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAwO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rICAgICA6IDA7XG4gIC8vIEJhc2lzXG4gIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogYXV0bztcbiAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBhdXRvO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZSA6IGF1dG87XG59XG5cbi5jb2xfY29udGVudCB7XG4gIEBpbmNsdWRlIGNvbF9jb250ZW50O1xufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIGVuIGxhcmdldXIgZmx1aWRlIGV0IGJhc8OpZSBzdXIgbGUgY29udGVudVxuXG5AbWl4aW4gY29sX2F1dG8ge1xuICAvLyBHcm93XG4gIGZsZXgtZ3JvdyAgICAgICAgICAgICAgIDogMTtcbiAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAxO1xuICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDE7XG4gIC8vIFNocmlua1xuICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDA7XG4gIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMDtcbiAgLy8gQmFzaXNcbiAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiBhdXRvO1xuICAtd2Via2l0LWZsZXgtYmFzaXMgICAgICA6IGF1dG87XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogYXV0bztcbn1cblxuLmNvbF9hdXRvIHtcbiAgQGluY2x1ZGUgY29sX2F1dG87XG59XG5cbi8vIENvbXBvcnRlbWVudCBkZXMgY29sb25uZXMgZW4gbGFyZ2V1ciBkw6lmaW5pZVxuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoICRub21icmVDb2xvbm5lcyB7XG5cbiAgLy8gQ2FsY3VsIGRlIGxhIGxhcmdldXIgZCd1bmUgY29sb25uZVxuXG4gIC5jb2xfI3skaX0ge1xuICAgIC8vIEdyb3dcbiAgICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDA7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAwO1xuICAgIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMDtcbiAgICAvLyBTaHJpbmtcbiAgICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDA7XG4gICAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAgIC8vIEJhc2lzXG4gICAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgLy8gV2lkdGhcbiAgICBtYXgtd2lkdGggICAgICAgICAgICAgICA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgfVxuXG4gIC8vIFNpIHVuZSBjb2xvbm5lIMOgIHBvdXIgdmFsZXVyICcwJyBlbiBsYXJnZXVyLCBvbiBuZSBsJ2FmZmljaGUgcGFzXG5cbiAgQGlmICRpID09IDAge1xuICAgIC5jb2xfI3skaX0sIC5jb2xfb2Zmc2V0XyN7JGl9IHtcbiAgICAgIGRpc3BsYXkgOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIGVuIHJlc3BvbnNpdmUgcGFyIGJyZWFrcG9pbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRNYXApIHtcblxuICAvLyBQb3VyIGNoYXF1ZSBicmVha3BvaW50LCBnw6luw6lyYXRpb24gZCd1bmUgbGFyZ2V1ciBkw6l0ZXJtaW7DqWVcbiAgQGlmICRicmVha3BvaW50ICE9IGZ1bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhX3hfbWluKCRicmVha3BvaW50KSB7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRub21icmVDb2xvbm5lcyB7XG4gICAgICAgIC5jb2xfI3skYnJlYWtwb2ludH1fI3skaX0ge1xuICAgICAgICAgIC8vIEdyb3dcbiAgICAgICAgICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAwO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMDtcbiAgICAgICAgICAvLyBTaHJpbmtcbiAgICAgICAgICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDA7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAgICAgICAgIC8vIEJhc2lzXG4gICAgICAgICAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgICAgLy8gV2lkdGhcbiAgICAgICAgICBtYXgtd2lkdGggICAgICAgICAgICAgICA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgICAgICAgICAvLyBEaXNwbGF5XG4gICAgICAgICAgZGlzcGxheSAgICAgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb2xfI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAvLyBHcm93XG4gICAgICAgIGZsZXgtZ3JvdyAgICAgICAgICAgICAgIDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDE7XG4gICAgICAgIC8vIFNocmlua1xuICAgICAgICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMTtcbiAgICAgICAgLy8gQmFzaXNcbiAgICAgICAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiAwO1xuICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXMgICAgICA6IDA7XG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogMDtcbiAgICAgIH1cbiAgICAgIC5jb2xfY29udGVudF8jeyRicmVha3BvaW50fSB7XG4gICAgICAgIC8vIEdyb3dcbiAgICAgICAgZmxleC1ncm93ICAgICAgICAgICAgICAgOiAwO1xuICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdyAgICAgICA6IDA7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMDtcbiAgICAgICAgLy8gU2hyaW5rXG4gICAgICAgIGZsZXgtc2hyaW5rICAgICAgICAgICAgIDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAgICAgICAvLyBCYXNpc1xuICAgICAgICBmbGV4LWJhc2lzICAgICAgICAgICAgICA6IGF1dG87XG4gICAgICAgIC13ZWJraXQtZmxleC1iYXNpcyAgICAgIDogYXV0bztcbiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xuICAgICAgfVxuICAgICAgLmNvbF9hdXRvXyN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgLy8gR3Jvd1xuICAgICAgICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICAgOiAxO1xuICAgICAgICAvLyBTaHJpbmtcbiAgICAgICAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAwO1xuICAgICAgICAtd2Via2l0LWZsZXgtc2hyaW5rICAgICA6IDA7XG4gICAgICAgIC8vIEJhc2lzXG4gICAgICAgIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBhdXRvO1xuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZSA6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbXBvcnRlbWVudCBkZXMgY29sb25uZXMgb2Zmc2V0IGVuIGxhcmdldXIgZMOpZmluaWVcblxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkbm9tYnJlQ29sb25uZXMge1xuXG4gIC8vIFV0aWxpc2F0aW9uIGQndW5lIG1hcmdlIMOgIGdhdWNoZSBwb3VyIGTDqWZpbmlyIHVuIG9mZnNldFxuXG4gIC5jb2xfb2Zmc2V0XyN7JGl9IHtcbiAgICBtYXJnaW4tbGVmdCA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgfVxufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIG9mZnNldCBlbiByZXNwb25zaXZlIHBhciBicmVha3BvaW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cbiAgLy8gUG91ciBjaGFxdWUgYnJlYWtwb2ludCwgZ8OpbsOpcmF0aW9uIGQndW5lIG1hcmdlIMOgIGdhdWNoZSBkw6l0ZXJtaW7DqWVcbiAgQGlmICRicmVha3BvaW50ICE9IGZ1bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhX3hfbWluKCRicmVha3BvaW50KSB7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRub21icmVDb2xvbm5lcyB7XG4gICAgICAgIC5jb2xfb2Zmc2V0XyN7JGJyZWFrcG9pbnR9XyN7JGl9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdCA6IHBlcmNlbnRhZ2UoMSAvICRub21icmVDb2xvbm5lcyAqICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgSW50w6lyYWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gQWlkZSDDoCBsJ2ludMOpZ3JhdGlvblxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiVib3hIZWxwZXIge1xuXHRib3JkZXIgIDogJGhlbHBlckJvcmRlciBzb2xpZCAkYm94Q29sb3I7XG5cdHBhZGRpbmcgOiAkaGVscGVyUGFkZGluZztcbn1cblxuJXJvd0hlbHBlciB7XG5cdGJvcmRlciAgOiAkaGVscGVyQm9yZGVyIHNvbGlkICRyb3dDb2xvcjtcblx0cGFkZGluZyA6ICRoZWxwZXJQYWRkaW5nO1xuXHQrIC5yb3csICsgW2NsYXNzKj1cImJveFwiXSB7XG5cdFx0bWFyZ2luLXRvcCA6ICRoZWxwZXJQYWRkaW5nO1xuXHR9XG59XG5cbiVjb2xIZWxwZXIge1xuXHRib3JkZXIgICAgIDogJGhlbHBlckJvcmRlciBzb2xpZCAkY29sQ29sb3I7XG5cdG1pbi1oZWlnaHQgOiAkaGVscGVySGVpZ2h0O1xuXHRwYWRkaW5nICAgIDogJGhlbHBlclBhZGRpbmc7XG59XG5cbkBpZiAkaGVscGVyTW9kZSB7XG5cblx0W2NsYXNzKj1cImJveFwiXSB7XG5cdFx0QGV4dGVuZCAlYm94SGVscGVyO1xuXHR9XG5cblx0LnJvdyB7XG5cdFx0QGV4dGVuZCAlcm93SGVscGVyO1xuXHR9XG5cblx0W2NsYXNzKj1cImNvbFwiXSB7XG5cdFx0QGV4dGVuZCAlY29sSGVscGVyO1xuXHR9XG5cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBBbGlnbmVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gUGxhY2Vob2xkZXIgRmxleFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBkX2ZsZXgge1xuXHRkaXNwbGF5IDogLXdlYmtpdC1ib3g7XG5cdGRpc3BsYXkgOiAtbW96LWJveDtcblx0ZGlzcGxheSA6IC1tcy1mbGV4Ym94O1xuXHRkaXNwbGF5IDogLXdlYmtpdC1mbGV4O1xuXHRkaXNwbGF5IDogZmxleDtcbn1cblxuLyogLSBBbGlnbmVtZW50cyBhYnNvbHV0ZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgYWJzb2x1dGVcblxuQG1peGluIHhfYWxpZ25fYWJzb2x1dGUge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGFic29sdXRlO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi54X2FsaWduX2Fic29sdXRlIHtcblx0QGluY2x1ZGUgeF9hbGlnbl9hYnNvbHV0ZTtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBhYnNvbHV0ZVxuXG5AbWl4aW4geV9hbGlnbl9hYnNvbHV0ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnlfYWxpZ25fYWJzb2x1dGUge1xuXHRAaW5jbHVkZSB5X2FsaWduX2Fic29sdXRlO1xufVxuXG4vLyBBbGlnbmVtZW50IGNlbnRyYWwgYWJzb2x1dGVcblxuQG1peGluIGNlbnRlcl9hbGlnbl9hYnNvbHV0ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uY2VudGVyX2FsaWduX2Fic29sdXRlIHtcblx0QGluY2x1ZGUgY2VudGVyX2FsaWduX2Fic29sdXRlO1xufVxuXG4vLyBBbGlnbmVtZW50IHJlc2V0IGFic29sdXRlXG5cbkBtaXhpbiByZXNldF9hbGlnbl9hYnNvbHV0ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG5cdC8vdG9wICAgICAgICAgICAgICAgOiBhdXRvO1xuXHQvL2xlZnQgICAgICAgICAgICAgIDogYXV0bztcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xufVxuXG4ucmVzZXRfYWxpZ25fYWJzb2x1dGUge1xuXHRAaW5jbHVkZSByZXNldF9hbGlnbl9hYnNvbHV0ZTtcbn1cblxuLyogLSBBbGlnbmVtZW50cyBmaXhlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCBmaXhlXG5cbkBtaXhpbiB4X2FsaWduX2ZpeGVkIHtcblx0cG9zaXRpb24gICAgICAgICAgOiBmaXhlZDtcblx0bGVmdCAgICAgICAgICAgICAgOiA1MCU7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4ueF9hbGlnbl9maXhlZCB7XG5cdEBpbmNsdWRlIHhfYWxpZ25fZml4ZWQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZml4ZVxuXG5AbWl4aW4geV9hbGlnbl9maXhlZCB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogZml4ZWQ7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnlfYWxpZ25fZml4ZWQge1xuXHRAaW5jbHVkZSB5X2FsaWduX2ZpeGVkO1xufVxuXG4vLyBBbGlnbmVtZW50IGNlbnRyYWwgZml4ZVxuXG5AbWl4aW4gY2VudGVyX2FsaWduX2ZpeGVkIHtcblx0cG9zaXRpb24gICAgICAgICAgOiBmaXhlZDtcblx0dG9wICAgICAgICAgICAgICAgOiA1MCU7XG5cdGxlZnQgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5jZW50ZXJfYWxpZ25fZml4ZWQge1xuXHRAaW5jbHVkZSBjZW50ZXJfYWxpZ25fZml4ZWQ7XG59XG5cbi8vIEFsaWduZW1lbnQgcmVzZXQgZml4ZVxuXG5AbWl4aW4gcmVzZXRfYWxpZ25fZml4ZWQge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGZpeGVkO1xuXHR0b3AgICAgICAgICAgICAgICA6IDA7XG5cdGxlZnQgICAgICAgICAgICAgIDogMDtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xufVxuXG4ucmVzZXRfYWxpZ25fZml4ZWQge1xuXHRAaW5jbHVkZSByZXNldF9hbGlnbl9maXhlZDtcbn1cblxuLyogLSBBbGlnbmVtZW50cyByZWxhdGl2ZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCByZWxhdGl2ZVxuXG5AbWl4aW4geF9hbGlnbl9yZWxhdGl2ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogcmVsYXRpdmU7XG5cdGxlZnQgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnhfYWxpZ25fcmVsYXRpdmUge1xuXHRAaW5jbHVkZSB4X2FsaWduX3JlbGF0aXZlO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIHJlbGF0aXZlXG5cbkBtaXhpbiB5X2FsaWduX3JlbGF0aXZlIHtcblx0cG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTtcblx0dG9wICAgICAgICAgICAgICAgOiA1MCU7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4ueV9hbGlnbl9yZWxhdGl2ZSB7XG5cdEBpbmNsdWRlIHlfYWxpZ25fcmVsYXRpdmU7XG59XG5cbi8vIEFsaWduZW1lbnQgY2VudHJhbCByZWxhdGl2ZVxuXG5AbWl4aW4gY2VudGVyX2FsaWduX3JlbGF0aXZlIHtcblx0cG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTtcblx0dG9wICAgICAgICAgICAgICAgOiA1MCU7XG5cdGxlZnQgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5jZW50ZXJfYWxpZ25fcmVsYXRpdmUge1xuXHRAaW5jbHVkZSBjZW50ZXJfYWxpZ25fcmVsYXRpdmU7XG59XG5cbi8vIEFsaWduZW1lbnQgcmVzZXQgcmVsYXRpdmVcblxuQG1peGluIHJlc2V0X2FsaWduX3JlbGF0aXZlIHtcblx0cG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTtcblx0dG9wICAgICAgICAgICAgICAgOiAwO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDA7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcbn1cblxuLnJlc2V0X2FsaWduX3JlbGF0aXZlIHtcblx0QGluY2x1ZGUgcmVzZXRfYWxpZ25fcmVsYXRpdmU7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgaG9yaXpvbnRhdXggKHgpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIMOgIGdhdWNoZVxuXG5AbWl4aW4geF9zdGFydCB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogZmxleC1zdGFydDtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBmbGV4LXN0YXJ0O1xuXHQtbXMtZmxleC1wYWNrICAgICAgICAgICA6IHN0YXJ0O1xuXHR0ZXh0LWFsaWduICAgICAgICAgICAgICA6IGxlZnQ7XG59XG5cbi54X3N0YXJ0IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB4X3N0YXJ0O1xufVxuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgYXUgY2VudHJlXG5cbkBtaXhpbiB4X2NlbnRlciB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogY2VudGVyO1xuXHQtd2Via2l0LWp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcblx0LW1zLWZsZXgtcGFjayAgICAgICAgICAgOiBjZW50ZXI7XG5cdHRleHQtYWxpZ24gICAgICAgICAgICAgIDogY2VudGVyO1xufVxuXG4ueF9jZW50ZXIge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHhfY2VudGVyO1xufVxuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgw6AgZHJvaXRlXG5cbkBtaXhpbiB4X2VuZCB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogZmxleC1lbmQ7XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50IDogZmxleC1lbmQ7XG5cdC1tcy1mbGV4LXBhY2sgICAgICAgICAgIDogZW5kO1xuXHR0ZXh0LWFsaWduICAgICAgICAgICAgICA6IHJpZ2h0O1xufVxuXG4ueF9lbmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHhfZW5kO1xufVxuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgXCJlc3BhY2UgbGlicmUgZW50cmUgbGVzIGNvbG9ubmVzXCJcblxuQG1peGluIHhfYmV0d2VlbiB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogc3BhY2UtYmV0d2Vlbjtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBzcGFjZS1iZXR3ZWVuO1xuXHQtbXMtZmxleC1wYWNrICAgICAgICAgICA6IGp1c3RpZnk7XG59XG5cbi54X2JldHdlZW4ge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHhfYmV0d2Vlbjtcbn1cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIFwiZXNwYWNlIGxpYnJlIGF1dG91cnMgZGVzIGNvbG9ubmVzXCJcblxuQG1peGluIHhfYXJvdW5kIHtcblx0anVzdGlmeS1jb250ZW50ICAgICAgICAgOiBzcGFjZS1hcm91bmQ7XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50IDogc3BhY2UtYXJvdW5kO1xuXHQtbXMtZmxleC1wYWNrICAgICAgICAgICA6IGRpc3RyaWJ1dGU7XG59XG5cbi54X2Fyb3VuZCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeF9hcm91bmQ7XG59XG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCBcImVzcGFjZSBsaWJyZSDDqWdhbFwiXG5cbkBtaXhpbiB4X2V2ZW5seSB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogc3BhY2UtZXZlbmx5O1xuXHQtd2Via2l0LWp1c3RpZnktY29udGVudCA6IHNwYWNlLWV2ZW5seTtcbn1cblxuLnhfZXZlbmx5IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB4X2V2ZW5seTtcbn1cblxuLyogLSBBbGlnbmVtZW50cyB2ZXJ0aWNhdXggZGVzIGxpZ25lcyBkZSBjb250ZW51ICh5KVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IGVuIGhhdXRcblxuQG1peGluIHlfY29udGVudF9zdGFydCB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IGZsZXgtc3RhcnQ7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IGZsZXgtc3RhcnQ7XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IHN0YXJ0O1xufVxuXG4ueV9jb250ZW50X3N0YXJ0IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2NvbnRlbnRfc3RhcnQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IGF1IG1pbGlldVxuXG5AbWl4aW4geV9jb250ZW50X2NlbnRlciB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IGNlbnRlcjtcblx0LXdlYmtpdC1hbGlnbi1jb250ZW50IDogY2VudGVyO1xuXHQtbXMtZmxleC1saW5lLXBhY2sgICAgOiBjZW50ZXI7XG59XG5cbi55X2NvbnRlbnRfY2VudGVyIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2NvbnRlbnRfY2VudGVyO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBsaWduZXMgZGUgY29udGVudSBlbiBiYXNcblxuQG1peGluIHlfY29udGVudF9lbmQge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBmbGV4LWVuZDtcblx0LXdlYmtpdC1hbGlnbi1jb250ZW50IDogZmxleC1lbmQ7XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IGVuZDtcbn1cblxuLnlfY29udGVudF9lbmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfY29udGVudF9lbmQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IFwiZXNwYWNlIGxpYnJlIGVudHJlIGxlcyBjb2xvbm5lc1wiXG5cbkBtaXhpbiB5X2NvbnRlbnRfYmV0d2VlbiB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IHNwYWNlLWJldHdlZW47XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IHNwYWNlLWJldHdlZW47XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IGp1c3RpZnk7XG59XG5cbi55X2NvbnRlbnRfYmV0d2VlbiB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9jb250ZW50X2JldHdlZW47XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IFwiZXNwYWNlIGxpYnJlIGF1dG91cnMgZGVzIGNvbG9ubmVzXCJcblxuQG1peGluIHlfY29udGVudF9hcm91bmQge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBzcGFjZS1hcm91bmQ7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IHNwYWNlLWFyb3VuZDtcblx0LW1zLWZsZXgtbGluZS1wYWNrICAgIDogZGlzdHJpYnV0ZTtcbn1cblxuLnlfY29udGVudF9hcm91bmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfY29udGVudF9hcm91bmQ7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGxpZ25lcyBkZSBjb250ZW51IGVuIHJlbXBsaXNzYWdlXG5cbkBtaXhpbiB5X2NvbnRlbnRfc3RyZXRjaCB7XG5cdGFsaWduLWNvbnRlbnQgICAgICAgICA6IHN0cmV0Y2g7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IHN0cmV0Y2g7XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IHN0cmV0Y2g7XG59XG5cbi55X2NvbnRlbnRfc3RyZXRjaCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9jb250ZW50X3N0cmV0Y2g7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgdmVydGljYXV4IGRlcyBpdGVtcyAoeSlcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBpdGVtcyBlbiBoYXV0XG5cbkBtaXhpbiB5X2l0ZW1zX3N0YXJ0IHtcblx0YWxpZ24taXRlbXMgICAgICAgICA6IGZsZXgtc3RhcnQ7XG5cdC13ZWJraXQtYWxpZ24taXRlbXMgOiBmbGV4LXN0YXJ0O1xuXHQtbXMtZmxleC1hbGlnbiAgICAgIDogc3RhcnQ7XG59XG5cbi55X2l0ZW1zX3N0YXJ0IHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2l0ZW1zX3N0YXJ0O1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBpdGVtcyBhdSBtaWxpZXVcblxuQG1peGluIHlfaXRlbXNfY2VudGVyIHtcblx0YWxpZ24taXRlbXMgICAgICAgICA6IGNlbnRlcjtcblx0LXdlYmtpdC1hbGlnbi1pdGVtcyA6IGNlbnRlcjtcblx0LW1zLWZsZXgtYWxpZ24gICAgICA6IGNlbnRlcjtcbn1cblxuLnlfaXRlbXNfY2VudGVyIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2l0ZW1zX2NlbnRlcjtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBkZXMgaXRlbXMgZW4gYmFzXG5cbkBtaXhpbiB5X2l0ZW1zX2VuZCB7XG5cdGFsaWduLWl0ZW1zICAgICAgICAgOiBmbGV4LWVuZDtcblx0LXdlYmtpdC1hbGlnbi1pdGVtcyA6IGZsZXgtZW5kO1xuXHQtbXMtZmxleC1hbGlnbiAgICAgIDogZW5kO1xufVxuXG4ueV9pdGVtc19lbmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfaXRlbXNfZW5kO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBpdGVtcyBlbiByZW1wbGlzc2FnZVxuXG5AbWl4aW4geV9pdGVtc19zdHJldGNoIHtcblx0YWxpZ24taXRlbXMgICAgICAgICA6IHN0cmV0Y2g7XG5cdC13ZWJraXQtYWxpZ24taXRlbXMgOiBzdHJldGNoO1xuXHQtbXMtZmxleC1hbGlnbiAgICAgIDogc3RyZXRjaDtcbn1cblxuLnlfaXRlbXNfc3RyZXRjaCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9pdGVtc19zdHJldGNoO1xufVxuXG4vKiAtIEFsaWduZW1lbnRzIHNlbGZzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQWxpZ25lbWVudCBkZSBsJ2l0ZW0gZW4gaGF1dFxuXG5AbWl4aW4geV9zZWxmX3N0YXJ0IHtcblx0YWxpZ24tc2VsZiAgICAgICAgICAgIDogZmxleC1zdGFydDtcblx0LXdlYmtpdC1hbGlnbi1zZWxmICAgIDogZmxleC1zdGFydDtcblx0LW1zLWdyaWQtY29sdW1uLWFsaWduIDogc3RhcnQ7XG59XG5cbi55X3NlbGZfc3RhcnQge1xuXHRAaW5jbHVkZSB5X3NlbGZfc3RhcnQ7XG59XG5cbi8vIEFsaWduZW1lbnQgZGUgbCdpdGVtIGF1IG1pbGlldVxuXG5AbWl4aW4geV9zZWxmX2NlbnRlciB7XG5cdGFsaWduLXNlbGYgICAgICAgICAgICA6IGNlbnRlcjtcblx0LXdlYmtpdC1hbGlnbi1zZWxmICAgIDogY2VudGVyO1xuXHQtbXMtZ3JpZC1jb2x1bW4tYWxpZ24gOiBjZW50ZXI7XG59XG5cbi55X3NlbGZfY2VudGVyIHtcblx0QGluY2x1ZGUgeV9zZWxmX2NlbnRlcjtcbn1cblxuLy8gQWxpZ25lbWVudCBkZSBsJ2l0ZW0gZW4gYmFzXG5cbkBtaXhpbiB5X3NlbGZfZW5kIHtcblx0YWxpZ24tc2VsZiAgICAgICAgICAgIDogZmxleC1lbmQ7XG5cdC13ZWJraXQtYWxpZ24tc2VsZiAgICA6IGZsZXgtZW5kO1xuXHQtbXMtZ3JpZC1jb2x1bW4tYWxpZ24gOiBlbmQ7XG59XG5cbi55X3NlbGZfZW5kIHtcblx0QGluY2x1ZGUgeV9zZWxmX2VuZDtcbn1cblxuLyogLSBBbGlnbmVtZW50cyByZXNwb25zaXZlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0LnhfYWxpZ25fYWJzb2x1dGVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB4X2FsaWduX2Fic29sdXRlO1xuXHRcdFx0fVxuXHRcdFx0LnlfYWxpZ25fYWJzb2x1dGVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB5X2FsaWduX2Fic29sdXRlO1xuXHRcdFx0fVxuXHRcdFx0LmNlbnRlcl9hbGlnbl9hYnNvbHV0ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNlbnRlcl9hbGlnbl9hYnNvbHV0ZTtcblx0XHRcdH1cblx0XHRcdC5yZXNldF9hbGlnbl9hYnNvbHV0ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc2V0X2FsaWduX2Fic29sdXRlO1xuXHRcdFx0fVxuXHRcdFx0LnhfYWxpZ25fZml4ZWRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB4X2FsaWduX2ZpeGVkO1xuXHRcdFx0fVxuXHRcdFx0LnlfYWxpZ25fZml4ZWRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB5X2FsaWduX2ZpeGVkO1xuXHRcdFx0fVxuXHRcdFx0LmNlbnRlcl9hbGlnbl9maXhlZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNlbnRlcl9hbGlnbl9maXhlZDtcblx0XHRcdH1cblx0XHRcdC5yZXNldF9hbGlnbl9maXhlZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc2V0X2FsaWduX2ZpeGVkO1xuXHRcdFx0fVxuXHRcdFx0LnhfYWxpZ25fcmVsYXRpdmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB4X2FsaWduX3JlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0LnlfYWxpZ25fcmVsYXRpdmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB5X2FsaWduX3JlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0LmNlbnRlcl9hbGlnbl9yZWxhdGl2ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNlbnRlcl9hbGlnbl9yZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdC5yZXNldF9hbGlnbl9yZWxhdGl2ZV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc2V0X2FsaWduX3JlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0Lnhfc3RhcnRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfc3RhcnQ7XG5cdFx0XHR9XG5cdFx0XHQueF9jZW50ZXJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0LnhfZW5kXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB4X2VuZDtcblx0XHRcdH1cblx0XHRcdC54X2JldHdlZW5fI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfYmV0d2Vlbjtcblx0XHRcdH1cblx0XHRcdC54X2Fyb3VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeF9hcm91bmQ7XG5cdFx0XHR9XG5cdFx0XHQueF9ldmVubHlfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfZXZlbmx5O1xuXHRcdFx0fVxuXHRcdFx0LnlfY29udGVudF9zdGFydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X3N0YXJ0O1xuXHRcdFx0fVxuXHRcdFx0LnlfY29udGVudF9jZW50ZXJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfY29udGVudF9jZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQueV9jb250ZW50X2VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X2VuZDtcblx0XHRcdH1cblx0XHRcdC55X2NvbnRlbnRfYmV0d2Vlbl8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X2JldHdlZW47XG5cdFx0XHR9XG5cdFx0XHQueV9jb250ZW50X2Fyb3VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X2Fyb3VuZDtcblx0XHRcdH1cblx0XHRcdC55X2NvbnRlbnRfc3RyZXRjaF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9jb250ZW50X3N0cmV0Y2g7XG5cdFx0XHR9XG5cdFx0XHQueV9pdGVtc19zdGFydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9pdGVtc19zdGFydDtcblx0XHRcdH1cblx0XHRcdC55X2l0ZW1zX2NlbnRlcl8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9pdGVtc19jZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQueV9pdGVtc19lbmRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfaXRlbXNfZW5kO1xuXHRcdFx0fVxuXHRcdFx0LnlfaXRlbXNfc3RyZXRjaF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9pdGVtc19zdHJldGNoO1xuXHRcdFx0fVxuXHRcdFx0Lnlfc2VsZl9zdGFydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9zZWxmX3N0YXJ0O1xuXHRcdFx0fVxuXHRcdFx0Lnlfc2VsZl9jZW50ZXJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfc2VsZl9jZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQueV9zZWxmX2VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeV9zZWxmX2VuZDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBEaXNwbGF5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBBZmZpY2hhZ2UgZGVzIMOpbMOpbWVudHNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBOb25lXG5cbkBtaXhpbiBkX25vbmUge1xuXHRkaXNwbGF5IDogbm9uZTtcbn1cblxuLmRfbm9uZSB7XG5cdEBpbmNsdWRlIGRfbm9uZTtcbn1cblxuLy8gSW5saW5lLWJsb2NrXG5cbkBtaXhpbiBkX2liIHtcblx0ZGlzcGxheSA6IGlubGluZS1ibG9jaztcbn1cblxuLmRfaWIge1xuXHRAaW5jbHVkZSBkX2liO1xufVxuXG4vLyBGbGV4XG5cbkBtaXhpbiBkX2ZsZXgge1xuXHRkaXNwbGF5IDogLXdlYmtpdC1ib3g7XG5cdGRpc3BsYXkgOiAtbW96LWJveDtcblx0ZGlzcGxheSA6IC1tcy1mbGV4Ym94O1xuXHRkaXNwbGF5IDogLXdlYmtpdC1mbGV4O1xuXHRkaXNwbGF5IDogZmxleDtcbn1cblxuLmRfZmxleCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcbn1cblxuLy8gUmVzcG9uc2l2ZVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludE1hcCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgIT0gZnVsbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHRcdC5kX25vbmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX25vbmU7XG5cdFx0XHR9XG5cdFx0XHQuZF9pYl8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfaWI7XG5cdFx0XHR9XG5cdFx0XHQuZF9mbGV4XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IE9yZHJlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gRmlyc3Rcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gb3JkZXJfZmlyc3Qge1xuXHRvcmRlciAgICAgICAgICAgICAgOiAtMTtcblx0LXdlYmtpdC1mbGV4LW9yZGVyIDogLTE7XG5cdC1tcy1mbGV4LW9yZGVyICAgICA6IC0xO1xufVxuXG4ub3JkZXJfZmlyc3Qge1xuXHRAaW5jbHVkZSBvcmRlcl9maXJzdDtcbn1cblxuLyogLSBMYXN0XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIG9yZGVyX2xhc3Qge1xuXHRvcmRlciAgICAgICAgICAgICAgOiAxO1xuXHQtd2Via2l0LWZsZXgtb3JkZXIgOiAxO1xuXHQtbXMtZmxleC1vcmRlciAgICAgOiAxO1xufVxuXG4ub3JkZXJfbGFzdCB7XG5cdEBpbmNsdWRlIG9yZGVyX2xhc3Q7XG59XG5cbi8qIC0gT3JkcmUgcmVzcG9uc2l2ZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0Lm9yZGVyX2ZpcnN0XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgb3JkZXJfZmlyc3Q7XG5cdFx0XHR9XG5cdFx0XHQub3JkZXJfbGFzdF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIG9yZGVyX2xhc3Q7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRGlyZWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gUm93XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGRpcmVjdGlvbl94IHtcblx0LXdlYmtpdC1ib3gtb3JpZW50ICAgIDogaG9yaXpvbnRhbDtcblx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uIDogbm9ybWFsO1xuXHQtbXMtZmxleC1kaXJlY3Rpb24gICAgOiByb3c7XG5cdGZsZXgtZGlyZWN0aW9uICAgICAgICA6IHJvdztcbn1cblxuLmRpcmVjdGlvbl94IHtcblx0QGluY2x1ZGUgZGlyZWN0aW9uX3g7XG59XG5cbi8qIC0gUm93IFJldmVydFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBkaXJlY3Rpb25feF9yZXZlcnQge1xuXHQtd2Via2l0LWJveC1vcmllbnQgICAgOiBob3Jpem9udGFsO1xuXHQtd2Via2l0LWJveC1kaXJlY3Rpb24gOiByZXZlcnNlO1xuXHQtbXMtZmxleC1kaXJlY3Rpb24gICAgOiByb3ctcmV2ZXJzZTtcblx0ZmxleC1kaXJlY3Rpb24gICAgICAgIDogcm93LXJldmVyc2U7XG59XG5cbi5kaXJlY3Rpb25feF9yZXZlcnQge1xuXHRAaW5jbHVkZSBkaXJlY3Rpb25feF9yZXZlcnQ7XG59XG5cbi8qIC0gQ29sdW1uXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGRpcmVjdGlvbl95IHtcblx0LXdlYmtpdC1ib3gtb3JpZW50ICAgIDogdmVydGljYWw7XG5cdC13ZWJraXQtYm94LWRpcmVjdGlvbiA6IG5vcm1hbDtcblx0LW1zLWZsZXgtZGlyZWN0aW9uICAgIDogY29sdW1uO1xuXHRmbGV4LWRpcmVjdGlvbiAgICAgICAgOiBjb2x1bW47XG5cdD4gW2NsYXNzXj1cImNvbFwiXSB7XG5cdFx0LW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xuXHR9XG59XG4uZGlyZWN0aW9uX3kge1xuXHRAaW5jbHVkZSBkaXJlY3Rpb25feTtcbn1cblxuLyogLSBDb2x1bW4gUmV2ZXJ0XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGRpcmVjdGlvbl95X3JldmVydCB7XG5cdC13ZWJraXQtYm94LW9yaWVudCAgICA6IHZlcnRpY2FsO1xuXHQtd2Via2l0LWJveC1kaXJlY3Rpb24gOiByZXZlcnNlO1xuXHQtbXMtZmxleC1kaXJlY3Rpb24gICAgOiBjb2x1bW4tcmV2ZXJzZTtcblx0ZmxleC1kaXJlY3Rpb24gICAgICAgIDogY29sdW1uLXJldmVyc2U7XG5cdD4gW2NsYXNzXj1cImNvbFwiXSB7XG5cdFx0LW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xuXHR9XG59XG5cbi5kaXJlY3Rpb25feV9yZXZlcnQge1xuXHRAaW5jbHVkZSBkaXJlY3Rpb25feV9yZXZlcnQ7XG59XG5cbi8qIC0gT3JkcmUgcmVzcG9uc2l2ZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0LmRpcmVjdGlvbl94XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3g7XG5cdFx0XHR9XG5cdFx0XHQuZGlyZWN0aW9uX3hfcmV2ZXJ0XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3hfcmV2ZXJ0O1xuXHRcdFx0fVxuXHRcdFx0LmRpcmVjdGlvbl95XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3k7XG5cdFx0XHR9XG5cdFx0XHQuZGlyZWN0aW9uX3lfcmV2ZXJ0XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZGlyZWN0aW9uX3lfcmV2ZXJ0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IFRhaWxsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIExhcmdldXIgZm9yY8OpZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiB3X2Z1bGwge1xuXHR3aWR0aCA6IDEwMCU7XG59XG5cbi53X2Z1bGwge1xuXHRAaW5jbHVkZSB3X2Z1bGw7XG59XG5cbi8qIC0gSGF1dGV1ciBmb3Jjw6llXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIGhfZnVsbCB7XG5cdGhlaWdodCA6IDEwMCU7XG59XG5cbi5oX2Z1bGwge1xuXHRAaW5jbHVkZSBoX2Z1bGw7XG59XG5cbi8qIC0gVGFpbGxlcyByZXNwb25zaXZlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cdEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcblx0XHRAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdFx0LndfZnVsbF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIHdfZnVsbDtcblx0XHRcdH1cblx0XHRcdC5oX2Z1bGxfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBoX2Z1bGw7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbikge1xuXHQtbW96LXRyYW5zaXRpb24gICAgOiAkdHJhbnNpdGlvbjtcblx0LW8tdHJhbnNpdGlvbiAgICAgIDogJHRyYW5zaXRpb247XG5cdC13ZWJraXQtdHJhbnNpdGlvbiA6ICR0cmFuc2l0aW9uO1xuXHR0cmFuc2l0aW9uICAgICAgICAgOiAkdHJhbnNpdGlvbjtcbn1cblxuQG1peGluIGRlbGF5KCRkZWxheSkge1xuXHQtd2Via2l0LXRyYW5zaXRpb24tZGVsYXkgOiAkZGVsYXk7XG5cdC1tb3otdHJhbnNpdGlvbi1kZWxheSAgICA6ICRkZWxheTtcblx0LW1zLXRyYW5zaXRpb24tZGVsYXkgICAgIDogJGRlbGF5O1xuXHQtby10cmFuc2l0aW9uLWRlbGF5ICAgICAgOiAkZGVsYXk7XG5cdHRyYW5zaXRpb24tZGVsYXkgICAgICAgICA6ICRkZWxheTtcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBBbmltYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uX25hbWUpIHtcblx0QC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbl9uYW1lfSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0QC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbl9uYW1lfSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0Ly9ALW1zLWtleWZyYW1lcyAjeyRhbmltYXRpb25fbmFtZX0ge1xuXHQvLyAgQGNvbnRlbnQ7XG5cdC8vfVxuXHRALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbl9uYW1lfSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0QGtleWZyYW1lcyAjeyRhbmltYXRpb25fbmFtZX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcblx0LXdlYmtpdC1hbmltYXRpb24gOiAjeyRhbmltYXRpb259O1xuXHQtbW96LWFuaW1hdGlvbiAgICA6ICN7JGFuaW1hdGlvbn07XG5cdC1tcy1hbmltYXRpb24gICAgIDogI3skYW5pbWF0aW9ufTtcblx0LW8tYW5pbWF0aW9uICAgICAgOiAjeyRhbmltYXRpb259O1xuXHRhbmltYXRpb24gICAgICAgICA6ICN7JGFuaW1hdGlvbn07XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgVHJhbnNmb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybSkge1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6ICR0cmFuc2Zvcm07XG5cdC1tb3otdHJhbnNmb3JtICAgIDogJHRyYW5zZm9ybTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiAkdHJhbnNmb3JtO1xuXHQtby10cmFuc2Zvcm0gICAgICA6ICR0cmFuc2Zvcm07XG5cdHRyYW5zZm9ybSAgICAgICAgIDogJHRyYW5zZm9ybTtcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBJbnTDqXJhY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBob3ZlciwgZm9jdXMsIGFjdGl2ZSwgdmlzaXRlZFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEhvdmVyXG5cbkBtaXhpbiBob3ZlciB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXIge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGNvbnRlbnRcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGhvdmVyX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdEBjb250ZW50XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBob3Zlcl94X21heCgkYnJlYWtwb2ludCkge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyX3hfbWF4KCRicmVha3BvaW50KSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRAY29udGVudFxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gaG92ZXJfeV9taW4oJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl95X21pbigkYnJlYWtwb2ludCkge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGNvbnRlbnRcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGhvdmVyX3lfbWF4KCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeV9tYXgoJGJyZWFrcG9pbnQpIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdEBjb250ZW50XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvY3VzXG5cbkBtaXhpbiBmb2N1cyB7XG5cdEBtZWRpYSBtZWRpYV9wb2ludGVyIHtcblx0XHQmOmZvY3VzIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9jdXNfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl94X21pbigkYnJlYWtwb2ludCkge1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb2N1c194X21heCgkYnJlYWtwb2ludCkge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyX3hfbWF4KCRicmVha3BvaW50KSB7XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGZvY3VzX3lfbWluKCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeV9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHQmOmZvY3VzIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9jdXNfeV9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl95X21heCgkYnJlYWtwb2ludCkge1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEFjdGl2ZVxuXG5AbWl4aW4gYWN0aXZlIHtcblx0JjphY3RpdmUge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIFZpc2l0ZWRcblxuQG1peGluIHZpc2l0ZWQge1xuXHQmOnZpc2l0ZWQge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgT21icmVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIG9tYnJlKCRvbWJyZSkge1xuXHQtd2Via2l0LWJveC1zaGFkb3cgOiAkb21icmU7XG5cdGJveC1zaGFkb3cgICAgICAgICA6ICRvbWJyZTtcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gcmFkaXVzKCRyYWRpdXMpIHtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcblx0LW1vei1ib3JkZXItcmFkaXVzICAgIDogJHJhZGl1cztcblx0Ym9yZGVyLXJhZGl1cyAgICAgICAgIDogJHJhZGl1cztcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qKiBGb250cyB0ZXh0ICoqL1xuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwJyk7XG5cbkBtaXhpbiBmb250X2ludGVyX2xpZ2h0IHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiAzMDA7XG59XG5cbkBtaXhpbiBmb250X2ludGVyX3JlZ3VsYXIge1xuICAgIGZvbnQtZmFtaWx5IDogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodCA6IDQwMDtcbn1cblxuQG1peGluIGZvbnRfaW50ZXJfbWVkaXVtIHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiA1MDA7XG59XG5cbkBtaXhpbiBmb250X2ludGVyX3NlbWlib2xkIHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiA2MDA7XG59XG5cbkBtaXhpbiBmb250X2ludGVyX2JvbGQge1xuICAgIGZvbnQtZmFtaWx5IDogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodCA6IDcwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHkgIDogJ0hlcm5hbmRlekJyb3NSZWd1bGFyJztcbiAgICBzcmMgICAgICAgICAgOiB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci5lb3QnKTtcbiAgICBzcmMgICAgICAgICAgOiB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vLi4vZm9udHMvSGVybmFuZGV6QnJvcy1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vLi4vZm9udHMvSGVybmFuZGV6QnJvcy1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcuLi8uLi9mb250cy9IZXJuYW5kZXpCcm9zLVJlZ3VsYXIuc3ZnI0hlcm5hbmRlekJyb3MtUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQgIDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGUgICA6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXkgOiBzd2FwO1xufVxuXG5AbWl4aW4gZm9udF9oZXJuYW5kZXpfcmVndWxhciB7XG4gICAgZm9udC1mYW1pbHkgOiAnSGVybmFuZGV6QnJvc1JlZ3VsYXInLCBzZXJpZjtcbiAgICBmb250LXdlaWdodCA6IDQwMDtcbn1cblxuLyoqIFJlU2VlIEZvbnQgaWNvbnMgKiovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5IDogXCJyZXNlZVwiO1xuICAgIHNyYyAgICAgICAgIDogdXJsKFwiLi4vLi4vZm9udHMvcmVzZWUuZW90XCIpO1xuICAgIHNyYyAgICAgICAgIDogdXJsKFwiLi4vLi4vZm9udHMvcmVzZWUuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9yZXNlZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvcmVzZWUudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL3Jlc2VlLnN2ZyNyZXNlZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgZm9udC13ZWlnaHQgOiBub3JtYWw7XG4gICAgZm9udC1zdHlsZSAgOiBub3JtYWw7XG5cbn1cblxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5ICAgICAgICAgICAgIDogXCJyZXNlZVwiICFpbXBvcnRhbnQ7XG4gICAgY29udGVudCAgICAgICAgICAgICAgICAgOiBhdHRyKGRhdGEtaWNvbik7XG4gICAgZm9udC1zdHlsZSAgICAgICAgICAgICAgOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodCAgICAgICAgICAgICA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWFudCAgICAgICAgICAgIDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm0gICAgICAgICAgOiBub25lICFpbXBvcnRhbnQ7XG4gICAgc3BlYWsgICAgICAgICAgICAgICAgICAgOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nICA6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nIDogZ3JheXNjYWxlO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5ICAgICAgICAgICAgIDogXCJyZXNlZVwiICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZSAgICAgICAgICAgICAgOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodCAgICAgICAgICAgICA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWFudCAgICAgICAgICAgIDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm0gICAgICAgICAgOiBub25lICFpbXBvcnRhbnQ7XG4gICAgc3BlYWsgICAgICAgICAgICAgICAgICAgOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nICA6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nIDogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDBcIjtcbn1cbi5pY29uLWNhcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDFcIjtcbn1cbi5pY29uLWNoZXZyb246YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDJcIjtcbn1cbi5pY29uLWNsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDAzXCI7XG59XG4uaWNvbi1jcm9zczpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwNFwiO1xufVxuLmljb24tZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwNVwiO1xufVxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDZcIjtcbn1cbi5pY29uLWdsYXNzOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDA3XCI7XG59XG4uaWNvbi1oZWFydDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwOFwiO1xufVxuLmljb24taW1wb3J0OmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDA5XCI7XG59XG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMGFcIjtcbn1cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDBiXCI7XG59XG4uaWNvbi1waG9uZTpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwY1wiO1xufVxuLmljb24tcmVhLWF1dGhlbnRpYzpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwZFwiO1xufVxuLmljb24tcmVhLWNhbGVuZGFyOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDBlXCI7XG59XG4uaWNvbi1yZWEtcGhvbmU6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMGZcIjtcbn1cbi5pY29uLXJlYS1zZWN1cmVkOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDEwXCI7XG59XG4uaWNvbi1yZWEtc2VsbGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxMVwiO1xufVxuLmljb24tcmVhLXdvcmxkd2lkZTpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxMlwiO1xufVxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxM1wiO1xufVxuLmljb24tdXNlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxNFwiO1xufVxuLmljb24td2hhdHNhcHA6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTVcIjtcbn1cbi5pY29uLXBpbnRlcmVzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxNlwiO1xufVxuLmljb24taGVhcnQtZnVsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxN1wiO1xufVxuLmljb24tbGlzdC12aWV3MTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDE4XCI7XG59XG4uaWNvbi1saXN0LXZpZXcyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMTlcIjtcbn1cbi5pY29uLWxpc3QtdmlldzM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAxYVwiO1xufVxuLmljb24tbGlzdC12aWV3NDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDFiXCI7XG59XG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDFjXCI7XG59XG4uaWNvbi1leWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAxZFwiO1xufVxuLmljb24taG91cmdsYXNzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMWVcIjtcbn1cbi5pY29uLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMWZcIjtcbn1cbi5pY29uLWNhbGVuZGFyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMjBcIjtcbn1cbi5pY29uLWFsZXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMjFcIjtcbn1cbi5pY29uLXdvcmxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMjJcIjtcbn1cbi5pY29uLWJlbGw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwMjNcIjtcbn1cbi5pY29uLWNoZWNrLXJvdW5kOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI0XCI7XG59XG4uaWNvbi1jb250YWN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI1XCI7XG59XG4uaWNvbi1wYWNrYWdlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI2XCI7XG59XG4uaWNvbi1zdGFyczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAyN1wiO1xufVxuLmljb24tcGluOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG59XG4uaWNvbi1sYXVuZHJ5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDY0IDY0JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00zMiAxMmE4IDggMCAwIDEgOCA4YzAgNC40MTgtMy41ODIgOC04IDh2NmwyNCAxNGE0IDQgMCAwIDEtNCA2SDEyYTQgNCAwIDAgMS00LTZsMjQtMTR2LTYnLyUzRSUzQ3BhdGggZD0nTTMyIDEyYTggOCAwIDAgMC04IDgnIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTdweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbn1cbi5pY29uLWJlYXV0aWZpY2F0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDI3XCI7XG59XG5cbi5pY29uLXlvdXR1YmUge1xuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCbWFXeHNQU0lqWm1abE9HUTJJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJQ0IyYVdWM1FtOTRQU0l3SURBZ05UQWdOVEFpSUhkcFpIUm9QU0kxTUhCNElpQm9aV2xuYUhROUlqVXdjSGdpUGp4d1lYUm9JR1E5SWswZ05EUXVPRGs0TkRNNElERTBMalVnUXlBME5DNDFJREV5TGpNd01EYzRNU0EwTWk0Mk1ERTFOak1nTVRBdU5qazVNakU1SURRd0xqTTVPRFF6T0NBeE1DNHhPVGt5TVRrZ1F5QXpOeTR4TURFMU5qTWdPUzQxSURNeElEa2dNalF1TXprNE5ETTRJRGtnUXlBeE55NDRNREEzT0RFZ09TQXhNUzQyTURFMU5qTWdPUzQxSURndU16QXdOemd4SURFd0xqRTVPVEl4T1NCRElEWXVNVEF4TlRZeklERXdMalk1T1RJeE9TQTBMakU1T1RJeE9TQXhNaTR4T1RreU1Ua2dNeTQ0TURBM09ERWdNVFF1TlNCRElETXVNems0TkRNNElERTNJRE1nTWpBdU5TQXpJREkxSUVNZ015QXlPUzQxSURNdU16azRORE00SURNeklETXVPRGs0TkRNNElETTFMalVnUXlBMExqTXdNRGM0TVNBek55NDJPVGt5TVRrZ05pNHhPVGt5TVRrZ016a3VNekF3TnpneElEZ3VNems0TkRNNElETTVMamd3TURjNE1TQkRJREV4TGpnNU9EUXpPQ0EwTUM0MUlERTNMamc1T0RRek9DQTBNU0F5TkM0MUlEUXhJRU1nTXpFdU1UQXhOVFl6SURReElETTNMakV3TVRVMk15QTBNQzQxSURRd0xqWXdNVFUyTXlBek9TNDRNREEzT0RFZ1F5QTBNaTQ0TURBM09ERWdNemt1TXpBd056Z3hJRFEwTGpZNU9USXhPU0F6Tnk0NE1EQTNPREVnTkRVdU1UQXhOVFl6SURNMUxqVWdReUEwTlM0MUlETXpJRFEySURJNUxqTTVPRFF6T0NBME5pNHhNREUxTmpNZ01qVWdReUEwTlM0NE9UZzBNemdnTWpBdU5TQTBOUzR6T1RnME16Z2dNVGNnTkRRdU9EazRORE00SURFMExqVWdXaUJOSURFNUlETXlJRXdnTVRrZ01UZ2dUQ0F6TVM0eE9Ua3lNVGtnTWpVZ1dpSXZQand2YzNablBnPT0nKSA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtcbn1cbiIsIiRtb2xCdXR0b25zTWFwIDogKFxuICAgICcuYnRuX2N0YTpub3QoLmxpbmtfY3RhKScgOiAoXG4gICAgICAgICdoZWlnaHQnOiAoXG4gICAgICAgICAgICA0NnB4LFxuICAgICAgICAgICAgNTBweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1sZWZ0JzogKFxuICAgICAgICAgICAgMTVweCxcbiAgICAgICAgICAgIDIwcHhcbiAgICAgICAgKSxcbiAgICAgICAgJ3BhZGRpbmctcmlnaHQnOiAoXG4gICAgICAgICAgICAxNXB4LFxuICAgICAgICAgICAgMjBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5idG5fY3RhLmJ0bl9zbWFsbDpub3QoLmxpbmtfY3RhKScgOiAoXG4gICAgICAgICdoZWlnaHQnOiAoXG4gICAgICAgICAgICA0MHB4LFxuICAgICAgICAgICAgNDRweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1sZWZ0JzogKFxuICAgICAgICAgICAgMTBweCxcbiAgICAgICAgICAgIDEycHhcbiAgICAgICAgKSxcbiAgICAgICAgJ3BhZGRpbmctcmlnaHQnOiAoXG4gICAgICAgICAgICAxMHB4LFxuICAgICAgICAgICAgMTJweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5idG5fY3RhLmJ0bl9saXR0bGU6bm90KC5saW5rX2N0YSknIDogKFxuICAgICAgICAnaGVpZ2h0JzogKFxuICAgICAgICAgICAgMzJweCxcbiAgICAgICAgICAgIDM1cHhcbiAgICAgICAgKSxcbiAgICAgICAgJ3BhZGRpbmctbGVmdCc6IChcbiAgICAgICAgICAgIDEwcHgsXG4gICAgICAgICAgICAxMnB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JzogKFxuICAgICAgICAgICAgMTBweCxcbiAgICAgICAgICAgIDEycHhcbiAgICAgICAgKSxcbiAgICApLFxuICAgICcuY29udGVudF9saW5rJyA6IChcbiAgICAgICAgJ3BhZGRpbmctdG9wJzogKFxuICAgICAgICAgICAgOHB4LFxuICAgICAgICAgICAgMTJweFxuICAgICAgICApLFxuICAgICAgICAnbWFyZ2luLXRvcCc6IChcbiAgICAgICAgICAgIDE1cHgsXG4gICAgICAgICAgICAyMHB4XG4gICAgICAgICksXG4gICAgKSxcbik7XG5cbkBpbmNsdWRlIGZsdWlkKCRtb2xCdXR0b25zTWFwKTtcblxuLmJ0bl9jdGE6bm90KC5saW5rX2N0YSkge1xuICAgIEBpbmNsdWRlIGRfZmxleDtcbiAgICBkaXNwbGF5ICAgICAgICA6IGlubGluZS1mbGV4O1xuICAgIEBpbmNsdWRlIHlfaXRlbXNfY2VudGVyO1xuICAgIEBpbmNsdWRlIHhfY2VudGVyO1xuICAgIEBpbmNsdWRlIGZvbnRfaW50ZXJfbWVkaXVtO1xuICAgIG1heC13aWR0aCAgICAgIDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kICAgICA6ICRiZWlnZTtcbiAgICBjb2xvciAgICAgICAgICA6ICRibGFjaztcbiAgICBmb250LXNpemUgICAgICA6IDAuODc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgcmFkaXVzKDVweCk7XG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgd2lkdGggICA6IDEwMCU7XG4gICAgfVxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKTtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRiZWlnZTI7XG4gICAgICAgIH1cbiAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGJlaWdlMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bl9ibGFjayB7XG4gICAgICAgIGJhY2tncm91bmQgOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yICAgICAgOiAkd2hpdGU7XG4gICAgICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY3Vyc29yIDogcG9pbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkZ3JleS1kYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRncmV5LWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG5fY3JlYW0ge1xuICAgICAgICBiYWNrZ3JvdW5kIDogI2VhM2IwYztcbiAgICAgICAgY29sb3IgICAgICA6ICR3aGl0ZTtcbiAgICAgICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICNlYTNiMGM7XG4gICAgICAgICAgICAgICAgY29sb3IgICAgICA6ICRiZWlnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAjZWEzYjBjO1xuICAgICAgICAgICAgICAgIGNvbG9yICAgICAgOiAkYmVpZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG5fd2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kIDogJHdoaXRlO1xuICAgICAgICBjb2xvciAgICAgIDogJGJsYWNrO1xuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGdyZXktbGlnaHQyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRncmV5LWxpZ2h0MjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bl9saW5lcyB7XG4gICAgICAgIGJhY2tncm91bmQgOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyICAgICA6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgY29sb3IgICAgICA6ICRibGFjaztcbiAgICAgICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCAgIDogJGdyZXktbGlnaHQyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRncmV5LWxpZ2h0MjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgICA6ICRncmV5LWxpZ2h0MjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgOiAkZ3JleS1saWdodDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG5faWNvbiB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb24gICAgIDogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQgOiAyNHB4O1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHlfYWxpZ25fYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdCAgICAgIDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemUgOiAxLjFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ0bl9kbCB7XG4gICAgICAgIHNwYW46YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQgICAgIDogXCJcXGUwMDlcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5IDogXCJyZXNlZVwiO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6ZGlzYWJsZWQsICYuZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kICAgOiAkZ3JleS1saWdodDIgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yIDogJGdyZXktbGlnaHQyICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yICAgICAgICA6ICRncmV5LWRhcmsgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yICAgICAgIDogZGVmYXVsdDtcbiAgICB9XG59XG5cbi5saW5rX2N0YSB7XG4gICAgQGluY2x1ZGUgZF9mbGV4O1xuICAgIGRpc3BsYXkgICAgICAgIDogaW5saW5lLWZsZXg7XG4gICAgQGluY2x1ZGUgZm9udF9pbnRlcl9tZWRpdW07XG4gICAgbWF4LXdpZHRoICAgICAgOiAxMDAlO1xuICAgIGNvbG9yICAgICAgICAgIDogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZSAgICAgIDogMC44NzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybSA6IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbiAgICAgICA6IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdCAgIDogMjRweDtcbiAgICBvdmVyZmxvdyAgICAgICA6IGhpZGRlbjtcbiAgICBhe1xuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQgICAgICAgICAgIDogJyc7XG4gICAgICAgIHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQgICAgICAgICAgICAgIDogLTI0cHg7XG4gICAgICAgIHRvcCAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgYm90dG9tICAgICAgICAgICAgOiAwO1xuICAgICAgICB3aWR0aCAgICAgICAgICAgICA6IDQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2UgIDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL2NoZXZyb24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdCA6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplICAgOiA1cHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubGlua19iZWlnZSB7XG4gICAgICAgIGNvbG9yIDogJGJlaWdlO1xuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL2NoZXZyb25fYmVpZ2Uuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubGlua193aGl0ZSB7XG4gICAgICAgIGNvbG9yIDogJHdoaXRlO1xuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlIDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL2NoZXZyb25fd2hpdGUuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDEwcHg7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgMzJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgMzJweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCA1NHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuaG92ZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgMzJweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCA1NHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc29mdCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnRfaW50ZXJfbGlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtIDogaW5pdGlhbDtcbiAgICB9XG4gICAgJi5saW5rX25leHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQgIDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodCA6IDI0cHg7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0IDogLTI0cHg7XG4gICAgICAgICAgICBsZWZ0ICA6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciByaWdodCAzMnB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciByaWdodCA1NHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIHJpZ2h0IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIHJpZ2h0IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciByaWdodCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciByaWdodCAzMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYubGlua19iYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udF9pbnRlcl9saWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm0gOiBpbml0aWFsO1xuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCAtMTBweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCA2cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250ZW50X2xpbmsge1xuICAgIGRpc3BsYXkgICAgOiBibG9jaztcbiAgICB0ZXh0LWFsaWduIDogcmlnaHQ7XG4gICAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93ICAgOiBoaWRkZW47XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50ICAgIDogJyc7XG4gICAgICAgIHBvc2l0aW9uICAgOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wICAgICAgICA6IDA7XG4gICAgICAgIGxlZnQgICAgICAgOiAtMTMwJTtcbiAgICAgICAgd2lkdGggICAgICA6IDEwMCU7XG4gICAgICAgIGhlaWdodCAgICAgOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQgOiAkYmxhY2s7XG4gICAgICAgIG9wYWNpdHkgICAgOiAwLjU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25OdWxsKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQgICAgOiAnJztcbiAgICAgICAgcG9zaXRpb24gICA6IGFic29sdXRlO1xuICAgICAgICB0b3AgICAgICAgIDogMDtcbiAgICAgICAgbGVmdCAgICAgICA6IDA7XG4gICAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgICBoZWlnaHQgICAgIDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kIDogJGJsYWNrO1xuICAgICAgICBvcGFjaXR5ICAgIDogMC41O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uTnVsbCk7XG4gICAgfVxuICAgICYuaG92ZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0IDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25TbG93KTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQgOiAxMzAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvblNsb3cpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9naW4ge1xuICAgIC5saW5rX2N0YXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIiRibG9jQnJlYWRjcnVtYnNNYXAgOiAoXG4gICAgJ2JvZHkgbWFpbiAuYmxvY19icmVhZGNydW1icy5icmVhZGNydW1ic19hYnNvbHV0ZScgOiAoXG4gICAgICAgICd0b3AnOiAoXG4gICAgICAgICAgICA3MHB4LCAvLyBWb2lyIC5ibG9jX21haW4uc2NzcyA+IGRhbnMgbWFwIFwibWFpblwiIDogcGFkZGluZyB0b3BcbiAgICAgICAgICAgIDE0MHB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnYm9keSAuaW5mb19iYW5uZXIgKyBoZWFkZXIgKyBtYWluIC5ibG9jX2JyZWFkY3J1bWJzLmJyZWFkY3J1bWJzX2Fic29sdXRlJyA6IChcbiAgICAgICAgJ3RvcCc6IChcbiAgICAgICAgICAgIDEwNXB4LCAvLyBWb2lyIC5ibG9jX21haW4uc2NzcyA+IGRhbnMgbWFwIFwiLmluZm9fYmFubmVyICsgLmhlYWRlciArIG1haW5cIiA6IHBhZGRpbmcgdG9wXG4gICAgICAgICAgICAxODhweFxuICAgICAgICApLFxuICAgICksXG4pO1xuXG5AaW5jbHVkZSBmbHVpZCgkYmxvY0JyZWFkY3J1bWJzTWFwKTtcblxuLmJsb2NfYnJlYWRjcnVtYnMge1xuICAgIHBhZGRpbmcgOiAyMHB4IDA7XG4gICAgbmF2IHtcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgZF9mbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwICAgICAgICAgOiB3cmFwO1xuICAgICAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXAgOiB3cmFwO1xuICAgICAgICAgICAgLW1zLWZsZXgtd3JhcCAgICAgOiB3cmFwO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSA6IDAuODc1ZW07XG4gICAgICAgICAgICAgICAgc3BhbiwgYSwgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3IgICA6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgIDogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQgOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgOiAnLyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB5X2FsaWduX2Fic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQgICA6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJyZWFkY3J1bWJzX2RrX2Fic29sdXRlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfeF9tYXgoJ21kJykge1xuICAgICAgICAgICAgdG9wIDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYV94X21pbignbWQnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdCAgICAgOiAwO1xuICAgICAgICAgICAgcmlnaHQgICAgOiAwO1xuICAgICAgICAgICAgei1pbmRleCAgOiAyO1xuICAgICAgICAgICAgd2lkdGggICAgOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vQGluY2x1ZGUgbWVkaWFfeF9taW4oJ21kJykge1xuLy8gICAgLmJsb2NfYnJlYWRjcnVtYnMge1xuLy8gICAgICAgICYud2hpdGUge1xuLy8gICAgICAgICAgICBuYXYge1xuLy8gICAgICAgICAgICAgICAgb2wge1xuLy8gICAgICAgICAgICAgICAgICAgIGxpIHtcbi8vICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiwgYSwgJjphZnRlciB7XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA6ICR3aGl0ZTtcbi8vICAgICAgICAgICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICAgICAgICAgIH1cbi8vICAgICAgICAgICAgICAgIH1cbi8vICAgICAgICAgICAgfVxuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vfVxuXG5AaW5jbHVkZSBtZWRpYV94X21heCgnbWQnKSB7XG4gICAgLmJsb2NfYnJlYWRjcnVtYnMge1xuICAgICAgICBvcmRlciAgICA6IDk5OTtcbiAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb24gICA6IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wICAgICAgICA6IDA7XG4gICAgICAgICAgICBib3R0b20gICAgIDogLTFweDtcbiAgICAgICAgICAgIGxlZnQgICAgICAgOiAtMjBweDtcbiAgICAgICAgICAgIHJpZ2h0ICAgICAgOiAtMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQgOiAkYmxhY2s7XG4gICAgICAgICAgICB6LWluZGV4ICAgIDogMTtcbiAgICAgICAgfVxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleCAgOiAyO1xuICAgICAgICB9XG4gICAgICAgIG5hdiB7XG4gICAgICAgICAgICBvbCBsaSB7XG4gICAgICAgICAgICAgICAgc3BhbiwgYSwgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yIDogJGJlaWdlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRibG9jVG9wUGFnZU1hcCA6IChcbiAgICAnLmJsb2NfdG9wX3BhZ2UgLmhlYWRlcl9pbWFnZSBpbWcnOiAoXG4gICAgICAgICdtYXgtaGVpZ2h0JzogKFxuICAgICAgICAgICAgMjg1cHgsXG4gICAgICAgICAgICA1NTBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5ibG9jX3RvcF9wYWdlIC5oZWFkZXJfY29udGVudCc6IChcbiAgICAgICAgJ3BhZGRpbmctdG9wJzogKFxuICAgICAgICAgICAgMjRweCxcbiAgICAgICAgICAgIDgwcHhcbiAgICAgICAgKSxcbiAgICApLFxuICAgICcuYmxvY190b3BfcGFnZS5saXR0bGVfcGFkZGluZyAuaGVhZGVyX2NvbnRlbnQnOiAoXG4gICAgICAgICdwYWRkaW5nLXRvcCc6IChcbiAgICAgICAgICAgIDI0cHgsXG4gICAgICAgICAgICA0MHB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmJsb2NfdG9wX3BhZ2UgLmhlYWRlcl9jb250ZW50IC50aXRsZSc6IChcbiAgICAgICAgJ3BhZGRpbmctYm90dG9tJzogKFxuICAgICAgICAgICAgMTJweCxcbiAgICAgICAgICAgIDBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5ibG9jX3RvcF9wYWdlIC5oZWFkZXJfY29udGVudCAuZGVzY3JpcHRpb24nOiAoXG4gICAgICAgICdwYWRkaW5nLXRvcCc6IChcbiAgICAgICAgICAgIDI0cHgsXG4gICAgICAgICAgICAzMnB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmJsb2NfdG9wX3BhZ2UgLmhlYWRlcl9jb250ZW50IC5kZXNjcmlwdGlvbiAuY2stY29udGVudCBwOm5vdCg6ZW1wdHkpICsgcDpub3QoOmVtcHR5KSc6IChcbiAgICAgICAgJ21hcmdpbi10b3AnOiAoXG4gICAgICAgICAgICAxNXB4LFxuICAgICAgICAgICAgMjVweFxuICAgICAgICApLFxuICAgICksXG4pO1xuXG5AaW5jbHVkZSBmbHVpZCgkYmxvY1RvcFBhZ2VNYXApO1xuXG4uYmxvY190b3BfcGFnZSB7XG4gICAgJjpub3QoLm5vX2JvcmRlcikge1xuICAgICAgICAuaGVhZGVyX2NvbnRlbnQge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgICAgICAuY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIC50aXRyZV9oM3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXJfaW1hZ2Uge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgaW1hZ2VGaXQ7XG4gICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfeF9tYXgoJ21kJykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQgIDogLTEycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQgOiAtMTJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyX2NvbnRlbnQge1xuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgLmNrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDZweDtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IDA7XG4gICAgICAgICAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB+IHA6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcCA6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7IFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzEyMTIxMjsgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNTU1OyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBjYWxjKDc2N3B4KSkge1xuLmJsb2NfdG9wX3BhZ2Uge1xuICAgICY6bm90KC5ub19ib3JkZXIpIHtcbiAgICAgICAgLmhlYWRlcl9jb250ZW50IHtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgLmNrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAudGl0cmVfaDN7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyX2NvbnRlbnQge1xuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgLmNrLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDc4cHg7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWVkaWEgKG1heC13aWR0aDogY2FsYyg0MzlweCkpIHtcbiAgICAucGFnZV9wcm9kdWN0X2luZGV4IHtcbiAgICAgICAgLmJsb2NfbGlzdF9wcm9kdWN0cyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5maWx0ZXJzX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/