@charset "UTF-8";
/* Scss Document */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* VARIABLES */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* PATHS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* Couleurs */
/* ----------------------------------------------------- */
/* Specifiques au site */
/* ----------------------------------------------------- */
/* fond */
/* bleu koredge */
/* bleu fonce */
/* rouge */
/* gris moyen */
/* gris clair */
/* jaune */
/* grid fonce */
/* ----------------------------------------------------- */
/* FONTS */
/* ----------------------------------------------------- */
/* Font family des elements */
/* ----------------------------------------------------- */
/* Correspondances couleurs -> texte */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* FONT-SIZES */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TRANSITIONS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* BASES PADDING & MARGIN */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* BORDER RADIUS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CONTAINERS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* HEADER */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SIDEBAR */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* FOOTER */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* BREAKPOINTS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* EASING */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MIXIN.SCSS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* FONT FACE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* KEYFRAMES */
/* ----------------------------------------------------- */
@-webkit-keyframes degradeAnime {
  0% {
    background-position: 0% 51%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

@-moz-keyframes degradeAnime {
  0% {
    background-position: 0% 51%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

@keyframes degradeAnime {
  0% {
    background-position: 0% 51%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

/* ----------------------------------------------------- */
/* CENTRE UNE IMAGE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* PREFIXES : Transition */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* PREFIXES : Transform */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CENTRE UN ELEMENT */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* BASE GRADIENT */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CENTRE UN BACKGROUND QUAND ON LE MET EN INLINE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* OBJECT FIT AVEC DETECTIZR */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TRIANGLES */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* Display flex */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* Object Fit */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* Hexagones */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* FONCTIONS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CONVERSION PX -> EM */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CONVERSION PX -> REM */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CONVERSION PX -> % */
/* ----------------------------------------------------- */
.icn {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icn-facebook:before {
  content: "\e900"; }

.icn-instagram:before {
  content: "\e901"; }

.icn-linkedin:before {
  content: "\e902"; }

.icn-twitter:before {
  content: "\e903"; }

.icn-viadeo:before {
  content: "\e904"; }

.icn-youtube:before {
  content: "\e905"; }

.icn-info:before {
  content: "\e90f"; }

.icn-contact:before {
  content: "\e906"; }

.icn-headset:before {
  content: "\e907"; }

.icn-hexagone:before {
  content: "\e908"; }

.icn-k:before {
  content: "\e909"; }

.icn-mail:before {
  content: "\e90a"; }

.icn-message:before {
  content: "\e90b"; }

.icn-pdf:before {
  content: "\e90c"; }

.icn-people:before {
  content: "\e90d"; }

.icn-phone:before {
  content: "\e90e"; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ANIMATIONS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SCROLLDISC */
/* ----------------------------------------------------- */
@-webkit-keyframes scrollDisc {
  0% {
    top: -30%;
    opacity: 0; }
  20% {
    opacity: 1; }
  80% {
    opacity: 1; }
  100% {
    top: 100%;
    opacity: 0; } }

@-moz-keyframes scrollDisc {
  0% {
    top: -30%;
    opacity: 0; }
  20% {
    opacity: 1; }
  80% {
    opacity: 1; }
  100% {
    top: 100%;
    opacity: 0; } }

@-o-keyframes scrollDisc {
  0% {
    top: -30%;
    opacity: 0; }
  20% {
    opacity: 1; }
  80% {
    opacity: 1; }
  100% {
    top: 100%;
    opacity: 0; } }

/* ----------------------------------------------------- */
/* ONDE */
/* ----------------------------------------------------- */
@-webkit-keyframes onde {
  0% {
    opacity: 0;
    transform: scale(0.9); }
  10% {
    opacity: 1; }
  80% {
    opacity: 0.5; }
  100% {
    opacity: 0;
    transform: scale(1.25); } }

/* ----------------------------------------------------- */
/* BOUNCE */
/* ----------------------------------------------------- */
@keyframes bounce {
  0% {
    opacity: 0;
    transform: scale(0.3); }
  50% {
    opacity: 0.9;
    transform: scale(1.1); }
  80% {
    opacity: 1;
    transform: scale(0.89); }
  100% {
    opacity: 1;
    transform: scale(1); } }

/* ----------------------------------------------------- */
/* BALANCE */
/* ----------------------------------------------------- */
@keyframes balance {
  0%, 100% {
    transform: translateX(0); }
  25% {
    transform: translateX(-20%); }
  75% {
    transform: translateX(20%); } }

/* ----------------------------------------------------- */
/* BALANCE VERTICALE */
/* ----------------------------------------------------- */
@keyframes balancev {
  0%, 100% {
    transform: translateY(0); }
  25% {
    transform: translateY(-20%); }
  75% {
    transform: translateY(20%); } }

@keyframes fleche {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-200%); }
  50.1% {
    transform: translateY(200%); }
  100% {
    transform: translateY(0); } }

/* ----------------------------------------------------- */
/* PULSE */
/* ----------------------------------------------------- */
@keyframes pulse {
  0%, 100% {
    transform: scale(1.1); }
  50% {
    transform: scale(1); } }

/* ----------------------------------------------------- */
/* WAVES */
/* ----------------------------------------------------- */
@keyframes waves {
  0% {
    transform: scale(1);
    transform-origin: 100% 100%;
    opacity: 0; }
  80% {
    transform: scale(1.1);
    transform-origin: 100% 100%;
    opacity: 1; }
  100% {
    transform: scale(1.1);
    transform-origin: 100% 100%;
    opacity: 0; } }

/* ----------------------------------------------------- */
/* RESSORT */
/* ----------------------------------------------------- */
@keyframes ressort {
  0%, 100% {
    transform: translate(-25%, -50%); }
  50% {
    transform: translate(0%, -50%); } }

/* ----------------------------------------------------- */
/* RESSORT VERTICAL */
/* ----------------------------------------------------- */
@keyframes ressortv {
  0%, 100% {
    transform: translateY(-25%); }
  50% {
    transform: translateY(0%); } }

/* ----------------------------------------------------- */
/* BOUNCE */
/* ----------------------------------------------------- */
@keyframes elastic {
  0% {
    transform: scale(1.1);
    opacity: 1; }
  50% {
    transform: scale(1.4);
    opacity: 0.7; }
  60% {
    transform: scale(0.6);
    opacity: 1; }
  80% {
    transform: scale(0.95); }
  100% {
    transform: scale(1); } }

/* ----------------------------------------------------- */
/* FLOAT */
/* ----------------------------------------------------- */
@keyframes float {
  0% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    transform: translatey(0px); }
  50% {
    box-shadow: 0 25px 15px 0px rgba(0, 0, 0, 0.2);
    transform: translatey(-20px); }
  100% {
    box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.6);
    transform: translatey(0px); } }

/* ----------------------------------------------------- */
/* LDS ROLLER */
/* ----------------------------------------------------- */
@keyframes lds-roller {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* ----------------------------------------------------- */
/* BLINK */
/* ----------------------------------------------------- */
@keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* ----------------------------------------------------- */
/* SHAPE */
/* ----------------------------------------------------- */
@keyframes shape {
  0%
100% {
    transform: translate3d(0, 0, 0); }
  25% {
    transform: translate3d(-10ch, 0ch, -10ch); }
  50% {
    transform: translate3d(-10ch, 0ch, 0ch); }
  75% {
    transform: translate3d(0ch, -10ch, 0ch); } }

.loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.65);
  opacity: 0;
  visibility: hidden;
  transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
  z-index: 1001; }
  .loader-container {
    position: relative; }
  .loader.display {
    opacity: 1;
    visibility: visible; }

.lds-roller {
  display: inline-block;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px; }
  .lds-roller div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 32px 32px; }
    .lds-roller div:after {
      content: " ";
      display: block;
      position: absolute;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #000000;
      margin: -3px 0 0 -3px; }
    .lds-roller div:nth-child(1) {
      animation-delay: -0.036s; }
      .lds-roller div:nth-child(1):after {
        top: 50px;
        left: 50px; }
    .lds-roller div:nth-child(2) {
      animation-delay: -0.072s; }
      .lds-roller div:nth-child(2):after {
        top: 54px;
        left: 45px; }
    .lds-roller div:nth-child(3) {
      animation-delay: -0.108s; }
      .lds-roller div:nth-child(3):after {
        top: 57px;
        left: 39px; }
    .lds-roller div:nth-child(4) {
      animation-delay: -0.144s; }
      .lds-roller div:nth-child(4):after {
        top: 58px;
        left: 32px; }
    .lds-roller div:nth-child(5) {
      animation-delay: -0.18s; }
      .lds-roller div:nth-child(5):after {
        top: 57px;
        left: 25px; }
    .lds-roller div:nth-child(6) {
      animation-delay: -0.216s; }
      .lds-roller div:nth-child(6):after {
        top: 54px;
        left: 19px; }
    .lds-roller div:nth-child(7) {
      animation-delay: -0.252s; }
      .lds-roller div:nth-child(7):after {
        top: 50px;
        left: 14px; }
    .lds-roller div:nth-child(8) {
      animation-delay: -0.288s; }
      .lds-roller div:nth-child(8):after {
        top: 45px;
        left: 10px; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LEAFLET */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* DESKTOP : 1200px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLETP : 992px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLET : 768px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLE : 576px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MOBILEP : 480px px */
/* ----------------------------------------------------- */
.card {
  border: none;
  border-radius: 0; }
  .card-header {
    background-color: #ffffff;
    padding: 0.5rem;
    margin-bottom: 0; }
    .card-header .btn {
      text-align: left;
      width: 100%; }
      .card-header .btn > span {
        text-transform: uppercase;
        font-weight: bold;
        color: #E5114D; }
      .card-header .btn > i {
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translate(0, -50%) rotate(180deg);
        -ms-transform: translate(0, -50%) rotate(180deg);
        -o-transform: translate(0, -50%) rotate(180deg);
        transform: translate(0, -50%) rotate(180deg);
        transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
        font-size: 0.375rem;
        color: #E5114D; }
      .card-header .btn.collapsed > i {
        -webkit-transform: translate(0, -50%) rotate(0deg);
        -ms-transform: translate(0, -50%) rotate(0deg);
        -o-transform: translate(0, -50%) rotate(0deg);
        transform: translate(0, -50%) rotate(0deg);
        color: #000000; }
      .card-header .btn.collapsed > span {
        color: #000000; }
  .card-body {
    padding: 0.5rem; }
    .card-body p {
      font-size: 0.875rem; }

/* ----------------------------------------------------- */
/* ACCORDEON */
/* ----------------------------------------------------- */
.accordion > .card .card-header {
  margin-bottom: 0px; }

/* ----------------------------------------------------- */
/* ONGLETS */
/* ----------------------------------------------------- */
.nav-tabs {
  border: none; }
  .nav-tabs .nav-item {
    margin-bottom: 0; }
  .nav-tabs .nav-item.show .nav-link,
  .nav-tabs .nav-link.active {
    color: inherit; }
    .nav-tabs .nav-item.show .nav-link:after,
    .nav-tabs .nav-link.active:after {
      width: 100%; }
  .nav-tabs .nav-link {
    border: none;
    font-weight: bold;
    color: #317586;
    text-transform: uppercase;
    position: relative; }
    .nav-tabs .nav-link:after {
      content: "";
      display: block;
      position: absolute;
      top: 100%;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      -o-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      width: 0;
      height: 3px;
      background-color: #E5114D;
      -webkit-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      -moz-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      -ms-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      -o-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1); }
    .nav-tabs .nav-link:hover:after {
      width: 60%; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
@media (min-width: 576px) {
  .card-header {
    padding: 1rem; }
  .card-body {
    padding: 1rem; } }

/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .nav-tabs .nav-link {
    font-size: 1.375rem; } }

/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
button {
  -webkit-appearance: none;
  background: none;
  border: none; }
  button:focus {
    outline: none; }

.btn {
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 1rem 2rem;
  transition: all 0.4s cubic-bezier(0.14, 0.66, 0.28, 0.93);
  -webkit-appearance: none;
  border: none;
  border-radius: 4px;
  overflow: hidden;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  text-transform: none;
  text-decoration: none;
  /* ----------------------------------------------------- */
  /* EFFET SURVOL DIAGONAL */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* ICON SEULEMENT */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* FULL LARGEUR */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* BOUTONS RONDS */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* DEFAULT */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* DEFAULT OUTLINED */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* DARK */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* DARK OUTLINED */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* LIGHT */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* LIGHT OUTLINED */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* PRIMARY */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* PRIMARY OUTLINED */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* SECONDARY */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* ENTOURE SECONDAIRE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* SOULIGNE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* FACEBOOK */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* GOOGLE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* ANIMATIONS */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* BTN LINK */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* ANIMATION LOADING */
  /* ----------------------------------------------------- */ }
  .btn + .btn {
    margin: 1rem 0 0 0; }
  .btn > i {
    display: inline-block;
    position: relative;
    z-index: 2;
    font-size: 1.125rem; }
    .btn > i.icn-before {
      margin-right: 1.25rem; }
    .btn > i.icn-after {
      margin-left: 1.25rem; }
  .btn.big-icon > i {
    font-size: 2rem; }
  .btn.small {
    font-family: "Montserrat", "Verdana", sans-serif;
    font-weight: 800;
    font-size: 0.75rem;
    padding: 0.5rem 1rem; }
  .btn span {
    display: inline-block;
    position: relative;
    z-index: 3; }
  .btn:after {
    content: '';
    position: absolute;
    top: 0;
    right: -50px;
    bottom: 0;
    left: 0;
    border-right: 50px solid transparent;
    border-bottom: 80px solid rgba(255, 255, 255, 0.2);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    transition: all 0.4s cubic-bezier(0.14, 0.66, 0.28, 0.93);
    pointer-events: none; }
  .btn.icn-only {
    padding: 1rem; }
    .btn.icn-only > i {
      margin: 0; }
  .btn.full-width {
    width: 100%;
    padding: 1rem; }
  .btn.btn-round {
    border-radius: 100rem; }
  .btn.btn-default {
    color: #ffffff;
    border: none;
    background-color: #E5114D; }
  .btn.btn-default-outlined {
    color: #E5114D;
    border: 1px solid #E5114D;
    background-color: #ffffff; }
    .btn.btn-default-outlined:hover {
      color: #E5114D;
      border-color: #E5114D;
      background-color: #ffffff; }
  .btn.btn-dark {
    color: #ffffff;
    border: none;
    background-color: #000000; }
    .btn.btn-dark:hover {
      color: #317586;
      background-color: #000000; }
  .btn.btn-dark-outlined {
    color: #000000;
    border: 1px solid #000000;
    background-color: #ffffff; }
    .btn.btn-dark-outlined:hover {
      color: #E5114D;
      border-color: #E5114D;
      background-color: #ffffff; }
  .btn.btn-light {
    color: #000000;
    border: none;
    background-color: #ffffff; }
    .btn.btn-light:hover {
      color: #317586; }
  .btn.btn-light-outlined {
    color: #ffffff;
    border: 1px solid #ffffff;
    background-color: transparent; }
    .btn.btn-light-outlined:hover {
      color: #000000;
      border-color: #000000;
      background-color: transparent; }
  .btn.btn-primary {
    color: #ffffff;
    border: none;
    background-color: #183B68; }
    .btn.btn-primary:hover {
      background-color: #E5114D; }
  .btn.btn-primary-outlined {
    color: #183B68;
    border: 1px solid #183B68;
    background-color: transparent; }
    .btn.btn-primary-outlined:hover {
      color: #183B68;
      border-color: #183B68;
      background-color: transparent; }
  .btn.btn-secondary {
    color: #3F3F3F;
    border: none;
    background-color: #F6F6F6;
    border: 2px solid #D0D0D0; }
    .btn.btn-secondary:hover {
      color: #E5114D;
      border-color: #E5114D; }
  .btn.btn-secondary-outlined {
    color: #317586;
    border: 1px solid #317586;
    background-color: transparent; }
    .btn.btn-secondary-outlined:hover {
      color: #317586;
      border-color: #317586;
      background-color: #ffffff; }
  .btn.btn-underlined {
    color: #E5114D;
    border-bottom: 2px solid #E5114D; }
    .btn.btn-underlined:hover {
      color: #183B68;
      background-color: transparent;
      border-bottom: 2px solid #183B68; }
  .btn.btn-facebook {
    color: #ffffff;
    background-color: #43619C; }
    .btn.btn-facebook:hover {
      background-color: #344b78; }
  .btn.btn-google {
    color: #ffffff;
    background-color: #D8D8D8; }
    .btn.btn-google:hover {
      background-color: #bfbfbf; }
  .btn.btn-balance:hover > i {
    animation: balance 1s infinite ease-in-out; }
  .btn.btn-balance-vertical:hover > i {
    animation: ressortv 1s infinite both ease-in-out; }
  .btn.btn-link {
    text-transform: none;
    color: #E5114D;
    padding: 0;
    background-color: transparent; }
    .btn.btn-link:after {
      display: none; }
    .btn.btn-link:hover {
      color: #000000; }
    .btn.btn-link.btn-link-default {
      color: #E5114D; }
      .btn.btn-link.btn-link-default:hover {
        color: #E5114D; }
    .btn.btn-link.btn-link-primary {
      color: #183B68; }
      .btn.btn-link.btn-link-primary:hover {
        color: #183B68; }
    .btn.btn-link.btn-link-secondary {
      color: #317586; }
      .btn.btn-link.btn-link-secondary:hover {
        color: #317586; }
  .btn.loading > i {
    animation: lds-roller 2s infinite; }

.button-group .btn {
  background-color: #ffffff;
  padding: 0; }
  .button-group .btn > i,
  .button-group .btn > span {
    padding: 0.25rem 0.375rem; }
  .button-group .btn.btn-default {
    border: 1px solid #E5114D;
    color: #E5114D;
    background-color: #ffffff; }
    .button-group .btn.btn-default > i {
      background-color: #183B68; }
    .button-group .btn.btn-default > span {
      text-transform: uppercase;
      font-weight: bold; }
    .button-group .btn.btn-default:hover {
      color: #E5114D;
      border-color: #E5114D; }

button {
  cursor: pointer; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
@media (min-width: 480px) {
  .btn {
    font-size: 1.125rem; } }

/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .btn {
    padding: 1rem 2rem; }
    .btn.btn-only {
      padding: 1rem; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
@media (min-width: 992px) {
  button,
  .btn {
    -webkit-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
    -moz-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
    -ms-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
    -o-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
    transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
    padding: 1rem 2rem; }
    button.btn-only,
    .btn.btn-only {
      padding: 1rem; }
    button:hover:after,
    .btn:hover:after {
      transform: translateX(0); } }

/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .btn {
    padding: 1rem 2rem; }
    .btn.btn-only {
      padding: 1rem; }
    .button-group .btn > i,
    .button-group .btn > span {
      padding: 0.5rem 1rem; } }

/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* STYLES GENERAUX */
/* ----------------------------------------------------- */
input[type="submit"],
input[type="button"] {
  cursor: pointer; }

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="date"] {
  display: inline-block;
  width: 100%;
  color: #000000;
  background-color: #ffffff;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  text-transform: none;
  -webkit-appearance: none;
  border: 1px solid rgba(0, 0, 0, 0.25);
  padding: 0.75rem; }

input[type="checkbox"] {
  vertical-align: middle;
  margin-right: .25rem; }

select {
  display: inline-block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: #000000;
  background-color: #ffffff;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  text-transform: none;
  border: 1px solid rgba(0, 0, 0, 0.25);
  padding: 0.75rem;
  -webkit-appearance: none; }
  select option {
    color: inherit; }

.select_container {
  position: relative;
  margin-bottom: 0rem; }
  .select_container:after {
    content: "\f0d7";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    pointer-events: none;
    position: absolute;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    font-size: 0.75rem;
    top: 50%;
    right: 0;
    width: 3.125rem;
    height: 100%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%); }
  .select_container select {
    margin: 0;
    padding-right: 3.125rem;
    -webkit-appearance: none; }

input[type="radio"] {
  width: 1.5rem !important;
  height: 1.5rem !important;
  margin: 0 0.625rem 0 0; }

select option {
  color: #E5114D; }

label {
  color: #317586;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  line-height: 1.1875rem;
  font-weight: 600;
  text-align: left;
  text-transform: none;
  vertical-align: middle;
  margin-bottom: 0; }

::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #317586 !important;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  line-height: 1.1875rem;
  font-weight: normal;
  font-style: italic;
  text-align: left;
  text-transform: none;
  opacity: 1; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #317586 !important;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  line-height: 1.1875rem;
  font-weight: normal;
  font-style: italic;
  text-align: left;
  text-transform: none;
  opacity: 1; }

:-ms-input-placeholder {
  /* IE 10+ */
  color: #317586 !important;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  line-height: 1.1875rem;
  font-weight: normal;
  font-style: italic;
  text-align: left;
  text-transform: none;
  opacity: 1; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #317586 !important;
  font-family: "Montserrat", "Verdana", sans-serif;
  font-size: 1rem;
  line-height: 1.1875rem;
  font-weight: normal;
  font-style: italic;
  text-align: left;
  text-transform: none;
  opacity: 1; }

textarea {
  resize: vertical;
  color: #317586; }

.legend {
  font-size: 0.875rem;
  font-style: italic; }

/* ----------------------------------------------------- */
/* MOTEURS DE RECHERCHE DE POSTS */
/* ----------------------------------------------------- */
.form-container {
  text-align: center;
  margin-bottom: 40px; }
  .form-container form {
    display: inline-block;
    text-align: center;
    padding: 15px 40px;
    background-color: #ffffff;
    border-radius: 58px; }
    .form-container form p {
      display: inline-block;
      vertical-align: baseline; }
    .form-container form select {
      line-height: 58px;
      height: 58px;
      background: white;
      padding: 10px;
      font-size: 1em; }
    .form-container form input[type='text'] {
      line-height: 58px;
      height: 58px;
      background: white;
      padding: 10px;
      font-size: 1em;
      border-radius: 6px; }

.form-text {
  margin-top: 0; }

fieldset {
  margin-bottom: 2rem; }
  fieldset .title {
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 1rem; }

.flexform {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch; }

.form-group {
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  vertical-align: top;
  width: 100%; }
  .form-group.form-emphasis {
    padding: 1rem;
    background-color: rgba(170, 20, 81, 0.09); }
  .form-group .form-field {
    position: relative; }
    .form-group .form-field .form-field-icon {
      position: absolute;
      top: 50%;
      right: 1rem;
      transform: translate(0, -50%);
      pointer-events: none; }
  .form-group.form-radio, .form-group.form-checkbox {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center; }
    .form-group.form-radio label,
    .form-group.form-radio .form-field, .form-group.form-checkbox label,
    .form-group.form-checkbox .form-field {
      margin-right: 1rem; }
      .form-group.form-radio label .checkbox__container,
      .form-group.form-radio .form-field .checkbox__container, .form-group.form-checkbox label .checkbox__container,
      .form-group.form-checkbox .form-field .checkbox__container {
        margin-bottom: 0; }
  .form-group .upload {
    padding: .75rem;
    background-color: #ffffff;
    border: 1px solid #317586;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center; }
    .form-group .upload .drag-n-drop {
      display: none;
      font-family: "Montserrat", "Verdana", sans-serif;
      font-weight: 500;
      font-style: italic;
      color: #E5114D;
      margin: 0;
      padding-left: 1rem; }

/* ----------------------------------------------------- */
/* RECAPTCHA */
/* ----------------------------------------------------- */
.grecaptcha-badge {
  visibility: hidden !important; }

/* ----------------------------------------------------- */
/* CHECKBOX / RADIO CUSTOM */
/* ----------------------------------------------------- */
.checkbox__container {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
  cursor: pointer; }
  .checkbox__container > input[type="radio"],
  .checkbox__container > input[type="checkbox"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    margin: 0 !important;
    margin-right: 1rem;
    width: 100% !important;
    height: 100% !important;
    cursor: pointer; }
    .checkbox__container > input[type="radio"]:checked ~ .checkbox__bullet .checkbox__bullet__inner,
    .checkbox__container > input[type="checkbox"]:checked ~ .checkbox__bullet .checkbox__bullet__inner {
      opacity: 1;
      visibility: visible; }
  .checkbox__container .checkbox__bullet {
    display: inline-block;
    width: 1.625rem;
    height: 1.625rem;
    margin-right: .5rem;
    border: 1px solid #183B68;
    background-color: #ffffff;
    padding: 0.3125rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center; }
    .checkbox__container .checkbox__bullet__inner {
      opacity: 0;
      visibility: hidden;
      transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      width: 0.875rem;
      height: 0.875rem;
      background-color: #E5114D; }
  .checkbox__container > input[type="radio"] ~ .checkbox__bullet {
    border-radius: 1.625rem; }
    .checkbox__container > input[type="radio"] ~ .checkbox__bullet .checkbox__bullet__inner {
      border-radius: 0.875rem; }
  .checkbox__container > span {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.875rem; }
  .checkbox__container > .images {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%); }
    .checkbox__container > .images img {
      width: auto;
      height: 1.25rem; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MOBILEP : 480px px */
/* ----------------------------------------------------- */
@media (min-width: 480px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="date"] {
    width: 100%; }
  input[type="submit"] {
    width: 100%; }
  .form-group .upload .drag-n-drop {
    display: block; } }

/* ----------------------------------------------------- */
/* TABLE : 576px px */
/* ----------------------------------------------------- */
@media (min-width: 576px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="date"] {
    min-height: 2.5rem; }
  .form-group .upload .drag-n-drop {
    display: none; } }

/* ----------------------------------------------------- */
/* TABLET : 768px px */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="date"] {
    min-height: 3rem; }
  .form-group.form-half {
    width: 48%;
    padding-right: 2%; }
  .form-group .upload .drag-n-drop {
    display: block; } }

/* ----------------------------------------------------- */
/* TABLETP : 992px px */
/* ----------------------------------------------------- */
@media (min-width: 992px) {
  .form-group .upload .drag-n-drop {
    display: none; } }

/* ----------------------------------------------------- */
/* DESKTOP : 1200px px */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .form-group .upload .drag-n-drop {
    display: block; } }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CARTE INTERACTIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ACCUEIL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* PAGE CARTE */
/* ----------------------------------------------------- */
#map {
  height: 50vh; }

/* Conteneur Map */
/* ----------------------------------------------------- */
.content-map {
  position: relative;
  /* On cache la barre de partage */
  /* ----------------------------------------------------- */
  /* Conteneur Map */
  /* ----------------------------------------------------- */
  /* Filtres */
  /* ----------------------------------------------------- */ }
  .content-map .sharedaddy {
    display: none; }
  .content-map #map {
    height: 80vh; }
  .content-map .map-filtres {
    position: absolute;
    top: 0px;
    right: 0;
    width: 25%;
    background: #183B68;
    max-width: 350px;
    padding: 30px 50px;
    border-radius: 0px 0 0px 45px;
    color: #ffffff;
    font-size: 2rem;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
    text-align: center;
    z-index: 29; }
    .content-map .map-filtres p {
      border-bottom: 1px solid white;
      padding-bottom: 20px;
      margin-top: 0; }
    .content-map .map-filtres .form-group {
      display: block;
      margin-bottom: 16px; }
      .content-map .map-filtres .form-group label {
        font-size: 0.875em; }
      .content-map .map-filtres .form-group select {
        display: block;
        width: 100%;
        height: 58px;
        line-height: 58px;
        background-color: rgba(255, 255, 255, 0.25);
        color: #ffffff;
        font-size: 0.875em;
        border: none; }
        .content-map .map-filtres .form-group select option {
          font-size: 0.875em;
          color: #ffffff; }

/* ----------------------------------------------------- */
/* INFOWINDOW / POPUP */
/* ----------------------------------------------------- */
/* GOOGLE */
/* ----------------------------------------------------- */
.gm-style-iw {
  padding: 16px; }
  .gm-style-iw .title {
    padding: 16px 0;
    background-color: #ffffff;
    color: #317586;
    font-size: 1.75rem;
    font-weight: bold;
    text-align: center; }
  .gm-style-iw .image {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    min-height: 140px;
    position: relative;
    overflow: hidden; }
    .gm-style-iw .image img {
      position: absolute;
      width: 100%;
      height: auto;
      position: absolute;
      left: 50%;
      top: 50%;
      width: 100%;
      height: auto;
      transform: translate(-50%, -50%); }
  .gm-style-iw .content {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    padding-top: 16px;
    font-size: 1.25rem !important;
    color: #317586; }
  .gm-style-iw .link {
    text-align: right; }
    .gm-style-iw .link .btn {
      padding: 10px 20px; }

/* OSM / IGN / LEAFLET */
/* ----------------------------------------------------- */
.leaflet-popup-content {
  margin: 16px;
  padding: 0; }
  .leaflet-popup-content-wrapper {
    background-color: #ffffff;
    border-radius: 0px; }
  .leaflet-popup-content .map_popup_content {
    font-family: "Montserrat", "Verdana", sans-serif; }
    .leaflet-popup-content .map_popup_content_titre {
      font-family: "Montserrat", "Verdana", sans-serif;
      color: #E5114D;
      font-size: 1.125rem;
      font-weight: bold;
      text-align: left;
      margin: 0;
      padding: 0 0 0 0; }
    .leaflet-popup-content .map_popup_content_image {
      display: inline-block;
      vertical-align: top;
      width: 100%;
      min-height: 20vh;
      position: relative;
      overflow: hidden; }
      .leaflet-popup-content .map_popup_content_image img {
        position: absolute;
        width: 100%;
        height: auto;
        position: absolute;
        left: 50%;
        top: 50%;
        width: 100%;
        height: auto;
        transform: translate(-50%, -50%); }
    .leaflet-popup-content .map_popup_content_type {
      position: absolute;
      top: 0;
      left: 0;
      text-transform: uppercase; }
      .leaflet-popup-content .map_popup_content_type .btn {
        color: #ffffff;
        text-transform: uppercase; }
    .leaflet-popup-content .map_popup_content_texte {
      display: inline-block;
      vertical-align: top;
      width: 100%;
      font-size: 1rem;
      color: #317586;
      padding: 0; }
      .leaflet-popup-content .map_popup_content_texte .comites {
        font-size: 0.875rem;
        color: #00A8E7;
        margin-bottom: 2rem; }
      .leaflet-popup-content .map_popup_content_texte .disciplines,
      .leaflet-popup-content .map_popup_content_texte .adresse,
      .leaflet-popup-content .map_popup_content_texte .contact,
      .leaflet-popup-content .map_popup_content_texte .telephone {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: 1rem; }
        .leaflet-popup-content .map_popup_content_texte .disciplines .icon,
        .leaflet-popup-content .map_popup_content_texte .adresse .icon,
        .leaflet-popup-content .map_popup_content_texte .contact .icon,
        .leaflet-popup-content .map_popup_content_texte .telephone .icon {
          flex-basis: 2.5rem; }
          .leaflet-popup-content .map_popup_content_texte .disciplines .icon > i,
          .leaflet-popup-content .map_popup_content_texte .adresse .icon > i,
          .leaflet-popup-content .map_popup_content_texte .contact .icon > i,
          .leaflet-popup-content .map_popup_content_texte .telephone .icon > i {
            font-size: 1.5rem;
            color: #0078A8; }
        .leaflet-popup-content .map_popup_content_texte .disciplines .text .label,
        .leaflet-popup-content .map_popup_content_texte .adresse .text .label,
        .leaflet-popup-content .map_popup_content_texte .contact .text .label,
        .leaflet-popup-content .map_popup_content_texte .telephone .text .label {
          font-size: 0.875rem;
          font-weight: bold;
          color: #ffffff; }
        .leaflet-popup-content .map_popup_content_texte .disciplines .text .value,
        .leaflet-popup-content .map_popup_content_texte .adresse .text .value,
        .leaflet-popup-content .map_popup_content_texte .contact .text .value,
        .leaflet-popup-content .map_popup_content_texte .telephone .text .value {
          font-size: 0.875rem;
          font-weight: normal;
          color: #ffffff; }
          .leaflet-popup-content .map_popup_content_texte .disciplines .text .value a,
          .leaflet-popup-content .map_popup_content_texte .adresse .text .value a,
          .leaflet-popup-content .map_popup_content_texte .contact .text .value a,
          .leaflet-popup-content .map_popup_content_texte .telephone .text .value a {
            color: #ffffff; }
      .leaflet-popup-content .map_popup_content_texte .btn_bar {
        color: #E5114D; }
        .leaflet-popup-content .map_popup_content_texte .btn_bar:hover {
          color: #ffffff; }
          .leaflet-popup-content .map_popup_content_texte .btn_bar:hover:before {
            background-color: #ffffff; }
      .leaflet-popup-content .map_popup_content_texte p {
        padding: 0;
        margin: 0;
        font-size: 0.875rem; }
    .leaflet-popup-content .map_popup_content .poi-links .btn + .leaflet-popup-content .map_popup_content .poi-links .btn {
      margin-bottom: 0; }
    .leaflet-popup-content .map_popup_content .poi-horaires-titre {
      font-weight: bold; }

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background-color: #ffffff; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CONTROLS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
@media (min-width: 576px) {
  .map_popup {
    padding: 1rem; } }

/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .leaflet-top {
    top: 0 !important; }
  .map_popup {
    padding: 0rem; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SECTIONS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
section {
  overflow: hidden; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* FOOTER */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.site__footer {
  position: relative;
  /* ----------------------------------------------------- */
  /* TITRE DES COLONNES */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* "MODULES" */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* LOGO */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* Reseaux sociaux */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* Mentions / Koredge */
  /* ----------------------------------------------------- */ }
  .site__footer__top {
    position: relative;
    padding: 1rem 0;
    background-color: #183B68; }
  .site__footer__middle {
    padding: 1rem 0;
    position: relative; }
  .site__footer__bottom {
    color: #317586;
    background-color: #317586;
    padding: 0.5rem 0;
    min-height: 3.75rem; }
  .site__footer__container {
    border-top: 1px solid #979797;
    border-bottom: 1px solid #979797;
    padding: 3rem 0; }
    .site__footer__container__right {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: flex-start; }
  .site__footer__title {
    position: relative;
    font-family: var(--ff1);
    font-weight: bold;
    font-size: 1.125em;
    text-align: left;
    color: #000000;
    margin-bottom: 1rem;
    text-transform: none; }
  .site__footer__logo {
    text-align: center;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center; }
    .site__footer__logo img {
      width: auto;
      height: auto;
      margin: 0 0.5rem; }
  .site__footer__networks {
    padding: 0;
    margin: 2rem 0; }
    .site__footer__networks ul {
      list-style: none;
      padding: 0;
      margin: 0;
      text-align: center; }
      .site__footer__networks ul li {
        list-style: none;
        display: inline-block;
        vertical-align: top;
        font-weight: normal;
        margin: 0 0.5rem; }
        .site__footer__networks ul li a {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: row;
          flex-wrap: nowrap;
          justify-content: center;
          align-items: center;
          color: #ffffff;
          border: 2px solid #ffffff;
          width: 2.5rem;
          height: 2.5rem;
          border-radius: 100rem;
          background-color: transparent; }
          .site__footer__networks ul li a i {
            font-size: 1.25rem; }
        .site__footer__networks ul li:last-child {
          margin-right: 0; }
  .site__footer__mentions {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center; }
    .site__footer__mentions__koredge {
      text-align: center; }
    .site__footer__mentions__links {
      text-align: center; }
    .site__footer__mentions ul {
      display: block;
      padding: 0;
      margin: 0;
      list-style: none; }
      .site__footer__mentions ul li {
        display: inline-block;
        vertical-align: middle;
        font-family: "Montserrat", "Verdana", sans-serif;
        color: #ffffff;
        font-weight: normal;
        font-size: 0.875rem;
        text-align: center; }
        .site__footer__mentions ul li a {
          color: inherit; }
          .site__footer__mentions ul li a i {
            font-size: 1.25rem;
            vertical-align: middle;
            margin-bottom: 0.5rem;
            display: block; }
  .site__footer__fixe {
    position: fixed;
    z-index: 2001;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #ffffff; }
    .site__footer__fixe .footer__menu__list {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-items: stretch;
      height: 5rem;
      list-style: none;
      margin: 0;
      padding: 0; }
      .site__footer__fixe .footer__menu__list__item {
        list-style: none;
        width: calc(100% / 3);
        position: relative;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center; }
        .site__footer__fixe .footer__menu__list__item:before {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          height: 0;
          background-color: #E5114D;
          transition: all 0.4s cubic-bezier(0.14, 0.66, 0.28, 0.93); }
        .site__footer__fixe .footer__menu__list__item:after {
          content: '';
          display: block;
          position: absolute;
          top: 50%;
          right: 0;
          width: 1px;
          height: 70%;
          background-color: #E2E0DB;
          transform: translateY(-50%); }
        .site__footer__fixe .footer__menu__list__item__link {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          flex-direction: column;
          flex-wrap: nowrap;
          justify-content: center;
          align-items: center; }
          .site__footer__fixe .footer__menu__list__item__link i {
            font-size: 1.5rem;
            margin-bottom: 4px;
            color: #E5114D; }
          .site__footer__fixe .footer__menu__list__item__link span {
            text-transform: uppercase;
            color: #183B68;
            font-size: 0.75rem;
            font-weight: 600; }
        .site__footer__fixe .footer__menu__list__item.active:before {
          height: 3px; }
        .site__footer__fixe .footer__menu__list__item:last-child:after {
          display: none; }
		.site__footer__fixe .footer__menu__list__item__link .ecowatt {
            width: 1.9rem;
            height: 1.6rem;
            margin-bottom: 4px;
            background-color: #E5114D;
            -webkit-mask: url(/images/lightbulb-on-thin.svg) no-repeat center;
            -webkit-mask-size: contain;
            mask: url(/images/lightbulb-on-thin.svg) no-repeat center;
            mask-size: contain;
            }
			
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* Scroll to Top */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.scrolltotop {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.14, 0.66, 0.28, 0.93);
  bottom: 0rem;
  right: 0rem;
  z-index: 1100; }
  .scrolltotop.visible {
    opacity: 1;
    visibility: visible; }
  .scrolltotop button {
    -webkit-appearance: none;
    width: 60px;
    height: 60px;
    cursor: pointer; }
    .scrolltotop button i {
      font-size: 1.5rem; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MailChimp Messages */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.mc4wp-alert p {
  font-family: "Montserrat", "Verdana", sans-serif;
  font-weight: normal;
  font-size: 1em;
  color: #000000; }
  .mc4wp-alert p a {
    color: inherit;
    text-decoration: underline; }

.mc4wp-alert.mc4wp-error p {
  color: #FF0000; }

/* ---------------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------- */
/* RESPONSIVE                                                                                                 */
/* ---------------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLE : 576px px */
/* ----------------------------------------------------- */
@media (min-width: 576px) {
  .site__footer__logo img {
    margin: 0 1rem; } }

/* ----------------------------------------------------- */
/* TABLET : 768px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLETP : 992px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* DESKTOP : 1200px px */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .site__footer__top, .site__footer__middle {
    padding: 3rem 0; }
  .site__footer__paiement__title {
    font-size: 2rem; }
  .site__footer__paiement__content .btn {
    font-size: 1.25rem; }
  .site__footer__links {
    justify-content: space-between; }
    .site__footer__links .btn {
      margin: 0; }
  .site__footer__menu__list__item {
    text-align: left;
    padding-bottom: 1rem; } }

/* ----------------------------------------------------- */
/* DESKTOP : 1200px px */
/* ----------------------------------------------------- */
@media (min-width: 1600px) {
  .site__footer__top, .site__footer__middle {
    padding: 4rem 0; } }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MAIN */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
main[role="document"] {
  position: relative;
  z-index: 3;
  background-image: url("/images/background/hexagone6.svg"), url("/images/background/hexagone7.svg"), url("/images/background/hexagone8.svg");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: 50vw auto, 50vw auto, 50vw auto;
  background-position: 0 25%, 0 75%, 100% 60%;
  /* ----------------------------------------------------- */
  /* SECTION ROUGE "ESPACE LOCATAIRE" */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* SECTION JAUNE "EN CAS D'URGENCE" */
  /* ----------------------------------------------------- */ }
  main[role="document"] .espace_locataire {
    padding: 2rem 1rem;
    background-color: #E5114D;
    background-image: url("/images/background/espace.svg");
    background-repeat: no-repeat;
    background-position: right bottom;
    color: #ffffff; }
    main[role="document"] .espace_locataire__text {
      margin-bottom: 0.75rem; }
      main[role="document"] .espace_locataire__text p {
        text-transform: uppercase;
        font-weight: 500;
        color: #ffffff; }
        main[role="document"] .espace_locataire__text p strong {
          font-size: 1.875rem;
          vertical-align: middle;
          font-weight: bold; }
  main[role="document"] .urgence {
    background-color: #FAB82F;
    padding: 2rem 1rem; }
    main[role="document"] .urgence__text {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: flex-start; }
      main[role="document"] .urgence__text p {
        margin: 0;
        font-weight: bold;
        color: #183B68;
        font-size: 1.25rem; }
        main[role="document"] .urgence__text p i {
          font-size: 2rem;
          margin-right: 0.8125rem; }
        main[role="document"] .urgence__text p .btn {
          margin-top: 0.5rem; }
          main[role="document"] .urgence__text p .btn i {
            font-size: 1rem; }
    main[role="document"] .urgence__legend {
      margin-top: 1rem; }
      main[role="document"] .urgence__legend p {
        font-size: 0.6875rem;
        font-weight: 500;
        color: #3F3F3F; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
@media (min-width: 480px) {
  main[role="document"] {
    background-size: 25vw auto, 25vw auto, 25vw auto; } }

/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  main[role="document"] .espace_locataire__text p {
    font-size: 2rem; }
  main[role="document"] .urgence__text p {
    font-size: 1.5rem; }
    main[role="document"] .urgence__text p i {
      font-size: 4rem; }
  main[role="document"] .urgence__legend p {
    text-align: center; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* FLASHDATA MESSAGES ADMIN */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.admin_message {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: black;
  background: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.9) 50%);
  background: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.9) 50%);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.9) 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
  z-index: 999;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center; }
  .admin_message p {
    padding: 2rem;
    border-radius: 1.25rem; }
  .admin_message.error p {
    background-color: #AA1451;
    color: #ffffff; }
  .admin_message.success p {
    background-color: #0CBB77;
    color: #ffffff; }
  .admin_message.warning p {
    background-color: #F68402;
    color: #ffffff; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* HOMEPAGE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.hexagone__bienvenue {
  color: #ffffff;
  padding: 12vh 0; }
  .hexagone__bienvenue__inner {
    position: relative;
    width: 70vw;
    height: 80vw;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    background: url("/images/background/hexagone1.svg") no-repeat center center;
    background-size: 100% auto; }
  .hexagone__bienvenue__content {
    padding: 5px; }
  .hexagone__bienvenue p {
    color: #ffffff;
    font-weight: bold;
    margin: 0;
    text-align: center;
    font-size: 7vw; }

.votre__immeuble {
  padding: 0 4vw 4vw 4vw;
  border-radius: 0.375rem;
  overflow: hidden; }
  .votre__immeuble__header {
    background-color: #183B68;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0.5rem 0;
    font-size: 1.25rem;
    border-radius: 0.375rem 0.375rem 0 0; }
  .votre__immeuble__body {
    padding: 0.5rem;
    background-color: #F6F6F6;
    color: #000000;
    text-align: center;
    font-weight: bold;
    border-radius: 0 0 0.375rem 0.375rem; }
    .votre__immeuble__body p {
      margin: 0; }
  .votre__immeuble__batiment {
    margin-bottom: 0.5rem; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .votre__immeuble__header {
    padding: 1rem 0; }
  .votre__immeuble__body {
    padding: 1rem; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* PAGE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.page {
  /* ----------------------------------------------------- */
  /* DATE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* TITLE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* CATEGORY */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* EXCERPT */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* THUMBNAIL */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* PARTAGE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* CONTENU */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* ONGLETS DE SOUS-CONTENU */
  /* ----------------------------------------------------- */ }
  .page__date {
    color: #317586;
    text-align: left;
    font-weight: bold;
    margin-bottom: 0.5rem; }
  .page__title {
    position: relative;
    text-align: center;
    padding: 4.375rem 0 2.125rem 0; }
  .page__category .page__categories {
    list-style: none;
    margin: 2rem 0;
    padding: 0; }
  .page__category .page__categorie {
    display: inline-block;
    vertical-align: top;
    list-style: none;
    margin: 0 0.25rem 0 0; }
    .page__category .page__categorie .btn {
      font-style: italic;
      text-transform: none; }
    .page__category .page__categorie span {
      padding: 0.5rem 1rem;
      background-color: #183B68;
      color: #ffffff;
      font-family: "Montserrat", "Verdana", sans-serif;
      font-weight: 800;
      font-style: italic; }
  .page__intro, .page__excerpt {
    margin-bottom: 1rem; }
    .page__intro p, .page__excerpt p {
      color: #000000;
      font-family: "Montserrat", "Verdana", sans-serif;
      font-size: 0.75rem;
      text-align: left; }
  .page__thumbnail img {
    filter: grayscale(1); }
  .page-share {
    padding: 0 1rem 2rem 1rem; }
    .page-share_title {
      color: #000000;
      font-family: Arial;
      font-size: 1.375rem;
      letter-spacing: 1.47px;
      font-weight: bold;
      text-transform: uppercase; }
    .page-share_list {
      list-style: none;
      padding: 0;
      margin: 0; }
      .page-share_list-item {
        display: inline-block;
        vertical-align: top;
        margin-right: 0.5rem; }
        .page-share_list-item:last-child {
          margin-right: 0; }
        .page-share_list-item > a {
          display: block;
          width: 2.75rem;
          height: 2.75rem;
          line-height: 2.75rem;
          text-align: center;
          border: 1px solid #E5114D;
          background-color: #ffffff;
          border-radius: 10em;
          color: #E5114D; }
          .page-share_list-item > a:hover {
            color: #183B68;
            border-color: #183B68; }
  .page__content {
    padding: 0 0 2.5rem; }
  .page__tabs .tabs {
    padding: 0;
    margin: 0;
    list-style: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-end; }
    .page__tabs .tabs.tabs-count-1 .tab {
      flex-basis: calc(100% / 1); }
    .page__tabs .tabs.tabs-count-2 .tab {
      flex-basis: calc(100% / 2); }
    .page__tabs .tabs.tabs-count-3 .tab {
      flex-basis: calc(100% / 3); }
    .page__tabs .tabs.tabs-count-4 .tab {
      flex-basis: calc(100% / 4); }
    .page__tabs .tabs.tabs-count-5 .tab {
      flex-basis: calc(100% / 5); }
    .page__tabs .tabs.tabs-count-6 .tab {
      flex-basis: calc(100% / 6); }
    .page__tabs .tabs.tabs-count-7 .tab {
      flex-basis: calc(100% / 7); }
    .page__tabs .tabs.tabs-count-8 .tab {
      flex-basis: calc(100% / 8); }
    .page__tabs .tabs.tabs-count-9 .tab {
      flex-basis: calc(100% / 9); }
    .page__tabs .tabs.tabs-count-10 .tab {
      flex-basis: calc(100% / 10); }
    .page__tabs .tabs .tab {
      list-style: none;
      background-color: #317586;
      transition: all 1.4s cubic-bezier(0.12, 0.9, 0.79, 1);
      position: relative;
      padding: 1.25rem 1rem; }
      .page__tabs .tabs .tab:not(:first-child) {
        border-left: 1px solid #000000; }
      .page__tabs .tabs .tab:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 0;
        -webkit-transition: all 1.4s cubic-bezier(0.12, 0.9, 0.79, 1);
        -moz-transition: all 1.4s cubic-bezier(0.12, 0.9, 0.79, 1);
        -ms-transition: all 1.4s cubic-bezier(0.12, 0.9, 0.79, 1);
        -o-transition: all 1.4s cubic-bezier(0.12, 0.9, 0.79, 1);
        transition: all 1.4s cubic-bezier(0.12, 0.9, 0.79, 1);
        background-color: rgba(0, 0, 0, 0.35); }
      .page__tabs .tabs .tab:hover {
        background-color: #317586; }
      .page__tabs .tabs .tab.tab-profile {
        background-color: #E5114D; }
        .page__tabs .tabs .tab.tab-profile:hover {
          background-color: #E5114D; }
      .page__tabs .tabs .tab.tab-indicators {
        background-color: #183B68; }
        .page__tabs .tabs .tab.tab-indicators:hover {
          background-color: #183B68; }
      .page__tabs .tabs .tab.tab-stakeholders {
        background-color: #E5114D; }
        .page__tabs .tabs .tab.tab-stakeholders:hover {
          background-color: #E5114D; }
      .page__tabs .tabs .tab a {
        display: block;
        color: #ffffff;
        width: 100%;
        text-align: center; }
        .page__tabs .tabs .tab a i {
          font-size: 1.5rem;
          vertical-align: middle; }
        .page__tabs .tabs .tab a span {
          text-transform: uppercase;
          display: none; }
      .page__tabs .tabs .tab.tab-active {
        padding: 1.875rem 1rem; }
        .page__tabs .tabs .tab.tab-active:before {
          height: 0.5rem; }
  .page__tabs.page-anchors .tabs {
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch; }
    .page__tabs.page-anchors .tabs .tab a i {
      display: none; }
    .page__tabs.page-anchors .tabs .tab a span {
      display: block; }
  .page__documents {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: stretch; }
    .page__documents .btn + .btn {
      margin: 0.5rem 0rem 0rem 0rem; }
    .page__documents .btn i {
      font-size: 1rem; }
    .page__documents .btn span {
      font-size: 0.75rem; }

/* ----------------------------------------------------- */
/* CONTENU DES TABS */
/* ----------------------------------------------------- */
.tab-content {
  padding: 0.5rem;
  position: relative; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
@media (min-width: 480px) {
  .page__intro, .page__excerpt {
    font-size: 1rem; } }

/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
@media (min-width: 576px) {
  .page__title {
    text-align: left; } }

/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .page__intro, .page__excerpt {
    margin: 0; }
    .page__intro p, .page__excerpt p {
      font-size: 0.875rem; }
  .page__tabs .tabs .tab {
    padding: 1.25rem 1rem; }
    .page__tabs .tabs .tab a i {
      font-size: 2.0rem;
      margin-bottom: 1.375rem;
      display: block; }
    .page__tabs .tabs .tab a span {
      display: inline; }
    .page__tabs .tabs .tab.tab-active, .page__tabs .tabs .tab:hover {
      padding: 1.875rem 1rem; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
@media (min-width: 992px) {
  .page__title {
    /* Titre avec icon */
    /* ----------------------------------------------------- */ }
    .page__title-icon {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: center; }
      .page__title-icon .icon-container {
        margin-bottom: 0;
        margin-right: 1rem; }
  .page__intro p, .page__excerpt p {
    font-size: 1rem; }
  .page__thumbnail img {
    transition: all 0.1s, filter 1s linear; }
    .page__thumbnail img:hover {
      filter: grayscale(0);
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); }
  .page__tabs .tabs .tab a i {
    font-size: 2.5rem; }
  .page__tabs.page-anchors .tabs {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end; } }

/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .page__intro, .page__excerpt {
    font-size: 1.5rem; }
  .tab-content {
    padding: 4rem 0; } }

/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SINGLES */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.single {
  /* ----------------------------------------------------- */
  /* IMAGE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* TITLE */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* TAGS */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* SHARE (partage sur les reseaux sociaux) */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* DESCRIPTION */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* CONTACT */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* TABS */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* POST */
  /* ----------------------------------------------------- */
  /* ----------------------------------------------------- */
  /* EVENT */
  /* ----------------------------------------------------- */ }
  .single .details {
    position: relative; }
    .single .details:before {
      content: url("/images/illustration_1.svg");
      display: block;
      position: absolute;
      bottom: 4rem;
      right: 0;
      width: 30%;
      max-width: 433px;
      -webkit-transform: translate(50%, 0);
      -ms-transform: translate(50%, 0);
      -o-transform: translate(50%, 0);
      transform: translate(50%, 0);
      z-index: 0;
      opacity: .5; }
  .single__image {
    height: 100%; }
    .single__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .single__title {
    padding: 1rem 0; }
    .single__title .page-title {
      color: #E5114D;
      font-family: "Montserrat", "Verdana", sans-serif;
      font-size: 45px;
      font-weight: bold; }
  .single__tags {
    margin: 0 0 1rem 0; }
    .single__tags .tag {
      display: inline-block;
      vertical-align: middle;
      margin: 0 10px 0 0;
      border-radius: 4px;
      padding: 6px;
      background: #183B68;
      color: #ffffff; }
  .single__share {
    color: #8F8F8F;
    font-family: "Montserrat", "Verdana", sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    padding-bottom: 1rem;
    border-bottom: 1px solid #8F8F8F;
    margin: 1rem 0; }
    .single__share a {
      color: #8F8F8F; }
    .single__share > div {
      display: inline-block;
      vertical-align: middle; }
      .single__share > div:not(:last-child) {
        margin-right: 2.5rem; }
    .single__share .share {
      position: relative; }
      .single__share .share__platforms {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        text-align: center;
        background: #ffffff;
        padding: 1rem;
        list-style: none;
        box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
        -moz-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
        -ms-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
        -o-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
        transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
        margin: 0; }
        .single__share .share__platforms li {
          list-style: none; }
          .single__share .share__platforms li a {
            font-size: 2rem; }
      .single__share .share-toggle:hover ~ .share__platforms, .single__share .share-toggle:focus ~ .share__platforms, .single__share .share-toggle:active ~ .share__platforms {
        opacity: 1;
        visibility: visible; }
  .single__description {
    margin-bottom: 3rem; }
  .single__contact .section_title {
    font-size: 2.25rem;
    margin-bottom: 1.125rem; }
  .single__contact_name {
    font-weight: bold; }
  .single__contact_website {
    margin-top: 3rem; }
  .single__contact_socials {
    text-align: center; }
    .single__contact_socials .btn {
      width: 2.75rem;
      height: 2.75rem;
      border: 2px solid #E5114D;
      color: #E5114D;
      padding: 0;
      line-height: 2.5rem; }
      .single__contact_socials .btn > i {
        margin-right: 0; }
  .single__tabs .tabs {
    list-style: none;
    padding: 0;
    margin: 0; }
    .single__tabs .tabs .tab {
      list-style: none; }
      .single__tabs .tabs .tab-button {
        background-color: #ffffff;
        color: #E5114D;
        text-transform: uppercase;
        font-family: "Montserrat", "Verdana", sans-serif;
        font-weight: bold;
        padding: 2rem;
        text-align: center;
        display: block;
        border: 1px solid #D8D8D8; }
      .single__tabs .tabs .tab.tab-active .tab-button {
        background-color: #E5114D;
        color: #ffffff; }
    .single__tabs .tabs .tab-content-mobile {
      max-height: 0rem;
      padding: 0rem 1rem;
      -webkit-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      -moz-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      -ms-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      -o-transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      transition: all 2s cubic-bezier(0.12, 0.9, 0.79, 1);
      overflow: hidden; }
      .single__tabs .tabs .tab-content-mobile.tab-content-active {
        max-height: 100rem;
        padding: 2rem 1rem; }
  .single__tabs .tab-contents {
    display: none;
    padding: 2rem 0; }
  .single__post {
    overflow: hidden;
    /* Other titles */
    /* ----------------------------------------------------- */
    /* Mediatheques  des posts */
    /* ----------------------------------------------------- */
    /* Evenements suggeres */
    /* ----------------------------------------------------- */ }
    .single__post__back {
      margin-left: 1.875rem; }
    .single__post__date__image {
      padding: 1rem;
      color: #ffffff;
      position: relative; }
      .single__post__date__image:after {
        content: "";
        display: none;
        position: absolute;
        top: -1px;
        bottom: -1px;
        right: -1px;
        width: 20%;
        background-color: #ffffff;
        -webkit-transform: skewX(-15deg);
        -moz-transform: skewX(-15deg);
        -ms-transform: skewX(-15deg);
        -o-transform: skewX(-15deg);
        transform: skewX(-15deg);
        transform-origin: bottom left; }
    .single__post__content__date {
      font-size: 3rem;
      color: rgba(255, 255, 255, 0.3);
      font-weight: bold; }
    .single__post__title {
      font-size: 1.125rem; }
    .single__post__subtitle {
      margin: 1rem 0; }
    .single__post__image {
      display: none; }
    .single__post__details ul {
      list-style: none;
      padding: 0;
      margin: 0; }
      .single__post__details ul li {
        list-style: none;
        padding: 0;
        margin: 0; }
        .single__post__details ul li span {
          display: inline-block;
          vertical-align: top;
          background-color: #ffffff;
          margin: .25rem 0;
          padding: .25rem;
          font-size: 0.5625rem;
          text-transform: uppercase;
          font-family: "Montserrat", "Verdana", sans-serif; }
    .single__post__sections {
      background-color: #F2F5F8; }
    .single__post__contenu {
      background-color: #F2F5F8; }
    .single__post__attachments {
      padding: 0; }
      .single__post__attachments .post__container.post-grid {
        overflow: hidden; }
        .single__post__attachments .post__container.post-grid.post-grid-1 {
          grid-template-rows: repeat(2, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-2 {
          grid-template-rows: repeat(3, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-3 {
          grid-template-rows: repeat(4, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-4 {
          grid-template-rows: repeat(5, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-5 {
          grid-template-rows: repeat(6, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-6 {
          grid-template-rows: repeat(7, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-7 {
          grid-template-rows: repeat(8, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-8 {
          grid-template-rows: repeat(9, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-9 {
          grid-template-rows: repeat(10, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid.post-grid-10 {
          grid-template-rows: repeat(11, minmax(20vh, 30vh)); }
        .single__post__attachments .post__container.post-grid .item {
          padding: 0; }
          .single__post__attachments .post__container.post-grid .item__content {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            padding: .5rem !important;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: flex-end;
            align-items: flex-start; }
            .single__post__attachments .post__container.post-grid .item__content__tags {
              list-style: none;
              padding: 0;
              margin: 0; }
              .single__post__attachments .post__container.post-grid .item__content__tags .tag {
                list-style: none;
                display: inline-block;
                vertical-align: middle;
                padding: 0.5rem 1rem;
                background-color: #ffffff;
                text-transform: uppercase;
                color: #317586;
                font-family: "Montserrat", "Verdana", sans-serif;
                font-size: 0.75rem;
                margin-right: 0.25rem;
                margin-bottom: 0.25rem; }
    .single__post__others {
      margin-top: 3rem;
      padding-top: 3rem;
      border-top: 1px solid rgba(0, 0, 0, 0.5); }
      .single__post__others .other_posts h3 {
        margin-bottom: 3rem; }
  .single__event__contenu p {
    font-size: .875rem; }
    .single__event__contenu p a {
      color: #E5114D;
      font-weight: bold; }
  .single__event__contenu .contenu {
    padding: 1rem; }
  .single__event__contenu .details {
    background-color: #F2F5F8;
    padding: 1rem; }
    .single__event__contenu .details .single__event__details__title {
      font-weight: bold; }
    .single__event__contenu .details .single__event__details__programme {
      margin-bottom: 1rem; }
    .single__event__contenu .details .single__event__details__circulaire {
      margin-bottom: 1rem; }
    .single__event__contenu .details .single__event__details__contact .nom,
    .single__event__contenu .details .single__event__details__contact .telephone,
    .single__event__contenu .details .single__event__details__contact .email,
    .single__event__contenu .details .single__event__details__contact .website {
      display: block; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
@media (min-width: 576px) {
  .single {
    /* CONTACT */
    /* ----------------------------------------------------- */
    /* ----------------------------------------------------- */
    /* POST */
    /* ----------------------------------------------------- */ }
    .single__contact_website-networks {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-items: flex-end; }
    .single__title .page-title {
      text-align: left; }
    .single__post__date__image {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: center; }
      .single__post__date__image:after {
        display: block; }
    .single__post__content {
      flex-basis: 50%;
      padding-right: 1rem; }
    .single__post__image {
      position: relative;
      z-index: 2;
      flex-basis: 50%;
      display: block;
      padding-left: 1rem; }
      .single__post__image img {
        border: 3px solid white;
        display: block;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5); }
    .single__event .single__post__image {
      padding-left: 0;
      padding-right: 1rem;
      position: relative;
      z-index: 5; }
    .single__event .single__post__content {
      padding-left: 1rem;
      padding-right: 0;
      position: relative;
      z-index: 5; }
      .single__event .single__post__content__date {
        color: #bac2d7; }
    .single__event .single__post__title {
      color: #153776; }
    .single__event .single__post__date__image:after {
      width: 80%;
      z-index: 3; }
    .single__event__contenu {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: stretch; }
      .single__event__contenu .contenu,
      .single__event__contenu .details {
        flex-basis: 50%; } }

/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .single__post__sections, .single__post__contenu {
    padding: 1rem; }
  .single__post__content__date {
    font-size: 5rem; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
@media (min-width: 992px) {
  .single__tabs .tabs {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center; }
    .single__tabs .tabs .tab-content-mobile {
      display: none; }
  .single__tabs .tab-contents {
    display: block; }
  .single__post {
    overflow: visible; }
    .single__post__back {
      display: block;
      margin-bottom: 2rem; }
    .single__post__date__image {
      padding: 3rem 1rem; }
      .single__post__date__image:before {
        content: "";
        display: block;
        position: absolute;
        z-index: 1;
        width: 1000%;
        height: 100%;
        top: 0;
        right: 20%; }
    .single__post__content {
      position: relative;
      z-index: 2; }
    .single__post__title {
      font-size: 2rem;
      margin-bottom: 2rem; }
    .single__post__image {
      padding-left: 0; }
    .single__post__attachments {
      margin-top: 3rem; }
  .single__event__contenu p a:hover {
    color: #183B68; } }

/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .single__event__contenu .contenu,
  .single__event__contenu .details {
    padding: 3rem 2rem; }
    .single__event__contenu .contenu p,
    .single__event__contenu .details p {
      font-size: 1rem; } }

/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
@media (min-width: 1600px) {
  .single__post__content__date {
    font-size: 9rem; } }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CARTE INTERACTIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* Conteneur de map */
/* ----------------------------------------------------- */
#map {
  width: 100%; }

/* ----------------------------------------------------- */
/* Surcharge du style Leaflet */
/* ----------------------------------------------------- */
.leaflet-left .leaflet-control {
  margin-top: 10px !important; }

.leaflet-bar a {
  background-color: #183B68 !important;
  color: #ffffff !important; }
  .leaflet-bar a:hover {
    background-color: #E5114D !important; }

.leaflet-container a.leaflet-popup-close-button {
  overflow: hidden;
  color: #000000;
  width: 1.5rem;
  height: 1.5rem;
  top: 10px;
  right: 10px;
  font-size: 1.5rem;
  font-weight: bold; }

/* ----------------------------------------------------- */
/* Page map */
/* ----------------------------------------------------- */
.page-map {
  margin: 2rem 0 2.5rem 0; }
  .page-map .categories-title {
    font-size: 2em;
    background-color: #183B68;
    color: #ffffff;
    font-family: "Montserrat", "Verdana", sans-serif;
    text-align: left;
    padding: 1rem; }
  .page-map .categories-list {
    list-style: none;
    padding: 1em;
    background-color: rgba(54, 55, 89, 0.15);
    margin: 0; }
    .page-map .categories-list-item {
      list-style: none;
      display: block; }
  .page-map .categories .category_filter > i {
    display: inline-block;
    text-align: center;
    line-height: 2.5rem;
    color: #ffffff;
    margin-bottom: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 2.5rem;
    margin-right: 1rem;
    transition: all 0.4s cubic-bezier(0.14, 0.66, 0.28, 0.93); }
  .page-map .categories .category_filter.active > i {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }

/* ----------------------------------------------------- */
/* GRILLE */
/* ----------------------------------------------------- */
.poi-grid {
  margin: 2rem 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch; }
  .poi-grid .item-poi {
    flex-basis: 100%;
    margin-bottom: 1rem; }
    .poi-grid .item-poi > a {
      box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: stretch; }
    .poi-grid .item-poi-image {
      flex-basis: 25%; }
      html.objectfit .poi-grid .item-poi-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
      html:not(.objectfit) .poi-grid .item-poi-image img {
        width: 100%;
        height: auto; }
    .poi-grid .item-poi-content {
      flex-basis: 75%;
      padding: 1rem; }
    .poi-grid .item-poi-title p {
      font-family: "Montserrat", "Verdana", sans-serif;
      font-size: 1.125rem;
      color: #317586;
      margin: 0; }
    .poi-grid .item-poi-categories ul {
      list-style: none;
      color: #000000;
      font-family: "Montserrat", "Verdana", sans-serif;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0;
      margin: 0; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
@media (min-width: 576px) {
  .col_filters {
    margin: 2rem 0; }
  body.single-association .post-image img {
    max-width: 100%;
    flex-basis: 100%; } }

/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .page-map .categories-list {
    padding: 2rem 1rem; }
  /* GRILLE */
  /* ----------------------------------------------------- */
  .poi-grid .item-poi {
    flex-basis: 50%;
    padding-right: 1rem; }
    .poi-grid .item-poi > a {
      box-shadow: none; }
      .poi-grid .item-poi > a:hover {
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); } }

/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* CONTACT */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SERVICE RELATIONS CLIENTS */
/* ----------------------------------------------------- */
.relation {
  color: #ffffff;
  padding: 1.25rem 0;
  text-align: center;
  position: relative;
  background-color: #183B68;
  background-image: url("/images/background/message.svg");
  background-repeat: no-repeat;
  background-position: right bottom; }
  .relation h2 {
    color: #ffffff;
    text-transform: uppercase;
    font-weight: normal;
    text-align: center;
    margin-bottom: 0.8125rem; }
  .relation__buttons {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center; }
    .relation__buttons .btn {
      width: 90%;
      max-width: 18.75rem; }
      .relation__buttons .btn + .btn {
        margin-right: 0.5rem; }

/* ----------------------------------------------------- */
/* INTERLOCUTEURS */
/* ----------------------------------------------------- */
.interlocuteurs {
  padding: 2.5rem 0; }
  .interlocuteurs h2 {
    position: relative;
    text-align: center;
    color: #E5114D;
    font-size: 1.6875rem; }
    .interlocuteurs h2:after {
      content: '';
      display: block;
      width: 5rem;
      height: 4px;
      border-radius: 8px;
      background-color: #E5114D;
      margin: 4px auto; }
  .interlocuteurs__item {
    text-align: center;
    margin-bottom: 1.75rem; }
    .interlocuteurs__item__label {
      font-weight: 500; }
    .interlocuteurs__item__category {
      font-weight: 500;
      text-transform: uppercase;
      margin-bottom: 0.375rem; }
    .interlocuteurs__item__container {
      margin: 0.5rem 0;
      border-radius: 0.375rem;
      padding: 1rem;
      border: 2px solid; }
      .interlocuteurs__item__container.yellow {
        border-color: #FAB82F;
        background-color: rgba(250, 184, 47, 0.05); }
        .interlocuteurs__item__container.yellow .interlocuteurs__item__category {
          color: #FAB82F; }
      .interlocuteurs__item__container.red {
        border-color: #E5114D;
        background-color: rgba(229, 17, 77, 0.05); }
        .interlocuteurs__item__container.red .interlocuteurs__item__category {
          color: #E5114D; }
      .interlocuteurs__item__container.blue {
        border-color: #183B68;
        background-color: rgba(24, 59, 104, 0.05); }
        .interlocuteurs__item__container.blue .interlocuteurs__item__category {
          color: #183B68; }

/* ----------------------------------------------------- */
/* AGENCE */
/* ----------------------------------------------------- */
.agence h2 {
  position: relative;
  text-align: center;
  color: #E5114D;
  font-size: 1.6875rem; }
  .agence h2:after {
    content: '';
    display: block;
    width: 5rem;
    height: 4px;
    border-radius: 8px;
    background-color: #E5114D;
    margin: 4px auto; }

.agence__horaires {
  padding: 0 0vw 4vw 0vw;
  border-radius: 0.375rem;
  overflow: hidden; }
  .agence__horaires__header {
    background-color: #183B68;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0.5rem 0;
    font-size: 1.25rem;
    border-radius: 0.375rem 0.375rem 0 0; }
  .agence__horaires__body {
    padding: 0.5rem;
    background-color: #F6F6F6;
    color: #000000;
    text-align: center;
    font-weight: bold;
    border-radius: 0 0 0.375rem 0.375rem; }
    .agence__horaires__body__label {
      font-weight: bold;
      margin-bottom: .5rem; }
    .agence__horaires__body__text p {
      margin: 0; }

.agence__coords {
  padding: 0 0vw 4vw 0vw;
  border-radius: 0.375rem;
  overflow: hidden; }
  .agence__coords__header {
    background-color: #183B68;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0.5rem 0;
    font-size: 1.25rem;
    border-radius: 0.375rem 0.375rem 0 0; }
  .agence__coords__body {
    padding: 0.5rem;
    background-color: #F6F6F6;
    color: #000000;
    text-align: center;
    font-weight: bold;
    border-radius: 0 0 0.375rem 0.375rem; }
    .agence__coords__body__label {
      font-weight: bold;
      margin-bottom: .5rem; }
    .agence__coords__body__text p {
      margin: 0;
      margin-bottom: .5rem; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* DESKTOP : 1200px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLETP : 992px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLET : 768px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* TABLE : 576px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* MOBILEP : 480px px */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* PRESTATAIRES */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.prestataire {
  /* ----------------------------------------------------- */
  /* ITEM */
  /* ----------------------------------------------------- */ }
  .prestataire__item {
    margin: 0 0 1rem 0;
    border-radius: 0.375rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); }
    .prestataire__item__header {
      background-color: #183B68;
      color: #ffffff;
      text-align: center;
      font-weight: bold;
      text-transform: uppercase;
      padding: 0.5rem 0;
      font-size: 1.25rem;
      border-radius: 0.375rem 0.375rem 0 0; }
    .prestataire__item__body {
      padding: 0.5rem;
      background-color: #F6F6F6;
      color: #000000;
      text-align: center;
      font-weight: bold;
      border-radius: 0 0 0.375rem 0.375rem; }
      .prestataire__item__body p {
        margin: 0; }
    .prestataire__item__text {
      font-weight: normal; }
    .prestataire__item__link {
      margin-top: 0.625rem; }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .prestataire__items {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start; }
  .prestataire__item {
    width: calc(50% - 1rem);
    margin: 0 .5rem 1rem .5rem; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .prestataire__items {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start; }
  .prestataire__item {
    width: calc(100% / 3 - 1rem);
    margin: 0 .5rem 1rem .5rem; } }

/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* PRESTATAIRES */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
.document {
  /* ----------------------------------------------------- */
  /* ITEM */
  /* ----------------------------------------------------- */ }
  .document__item {
    margin: 0 0 1rem 0;
    border-radius: 0.375rem;
    border: 2px solid;
    /* Communs : bleus */
    /* ----------------------------------------------------- */
    /* Spécifiques : rouges */
    /* ----------------------------------------------------- */ }
    .document__item__body {
      padding: 0.5rem;
      text-align: center;
      font-weight: bold;
      border-radius: 0 0 0.375rem 0.375rem; }
      .document__item__body__label {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start; }
        .document__item__body__label i {
          font-size: 1.5rem;
          margin-right: 0.6875rem; }
        .document__item__body__label p {
          font-size: 1rem;
          text-align: left;
          color: inherit; }
          .document__item__body__label p .nom {
            font-weight: bold; }
      .document__item__body p {
        margin: 0; }
    .document__item__links {
      margin-top: 0.625rem;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: flex-end;
      align-items: flex-start; }
      .document__item__links .btn {
        font-size: 0.8125rem;
        margin: 0 0.25rem;
        padding: 1rem;
        text-transform: uppercase; }
    .document__item.commun {
      border-color: #183B68;
      color: #183B68; }
      .document__item.commun .document__item__body {
        background-color: rgba(24, 59, 104, 0.1); }
    .document__item.specifique {
      border-color: #E5114D;
      color: #E5114D; }
      .document__item.specifique .document__item__body {
        background-color: rgba(229, 17, 77, 0.1); }

/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* RESPONSIVE */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XXS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* XS */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* SM */
/* ----------------------------------------------------- */
@media (min-width: 768px) {
  .document__items {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start; }
  .document__item {
    width: calc(50% - 1rem);
    margin: 0 .5rem 1rem .5rem; } }

/* ----------------------------------------------------- */
/* MD */
/* ----------------------------------------------------- */
/* ----------------------------------------------------- */
/* LG */
/* ----------------------------------------------------- */
@media (min-width: 1200px) {
  .document__items {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start; }
  .document__item {
    width: calc( 100% / 3 - 1rem); } }

/* ----------------------------------------------------- */
/* XL */
/* ----------------------------------------------------- */
@media print {
  header,
  footer {
    display: none; }
  .page__breadcrumbs,
  .only-members,
  .btn.print,
  .resultats__documents,
  .agenda__single__next,
  .agenda__single__prev,
  .scrolltotop {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiYmFzZS9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL19taXhpbi5zY3NzIiwiY3JpdGljL19pY29tb29uLnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL19sb2FkZXIuc2NzcyIsImxpYnMvbGVhZmxldC9fbGVhZmxldC5zY3NzIiwiY29tcG9uZW50L19ib290c3RyYXAuc2NzcyIsImNvbXBvbmVudC9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50L19mb3JtLnNjc3MiLCJjb21wb25lbnQvX21hcC5zY3NzIiwiY29tbW9uL19zZWN0aW9ucy5zY3NzIiwiY29tbW9uL19mb290ZXIuc2NzcyIsImNvbW1vbi9fY29udGVudC5zY3NzIiwiY29tbW9uL19tZXNzYWdlcy5zY3NzIiwicGFnZXMvX2hvbWUuc2NzcyIsInBhZ2VzL19wYWdlLnNjc3MiLCJwYWdlcy9fc2luZ2xlLnNjc3MiLCJwYWdlcy9fbWFwLnNjc3MiLCJwYWdlcy9fY29udGFjdC5zY3NzIiwicGFnZXMvX3ByZXN0YXRhaXJlLnNjc3MiLCJwYWdlcy9fZG9jdW1lbnQuc2NzcyIsIl9wcmludC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFNjc3MgRG9jdW1lbnQgKi9cbkBjaGFyc2V0IFwidXRmLThcIjtcblxuQGltcG9ydCBcImJhc2UvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYmFzZS9taXhpblwiO1xuQGltcG9ydCBcImNyaXRpYy9pY29tb29uXCI7XG5cbkBpbXBvcnQgXCJiYXNlL2FuaW1hdGlvbnNcIjtcbkBpbXBvcnQgXCJiYXNlL2xvYWRlclwiO1xuXG4vLyBMaWJyYWlyaWVzIGV4dGVybmVzXG5AaW1wb3J0IFwibGlicy9sZWFmbGV0L2xlYWZsZXRcIjtcbi8vIEBpbXBvcnQgXCJsaWJzL2NoZWNrYnJvd3NlclwiO1xuXG4vLyBDb21wb3NhbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50L2Jvb3RzdHJhcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudC9idXR0b25zXCI7XG4vLyBAaW1wb3J0IFwiY29tcG9uZW50L2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50L2Zvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnQvbWFwXCI7XG4vLyBAaW1wb3J0IFwiY29tcG9uZW50L3NlYXJjaFwiO1xuLy8gQGltcG9ydCBcImNvbXBvbmVudC9zaXRlbWFwXCI7XG4vLyBAaW1wb3J0IFwiY29tcG9uZW50L3NvbW1haXJlXCI7XG4vLyBAaW1wb3J0IFwiY29tcG9uZW50L3NsaWRlcnNcIjtcbi8vIEBpbXBvcnQgXCJjb21wb25lbnQvc29jaWFsd2FsbFwiO1xuLy8gQGltcG9ydCBcImNvbXBvbmVudC9mbGF0cGlja3JcIjtcbi8vIEBpbXBvcnQgXCJjb21wb25lbnQvZ2FsbGVyeVwiO1xuLy8gQGltcG9ydCBcImNvbXBvbmVudC9wb3B1cFwiO1xuLy8gQGltcG9ydCBcImNvbXBvbmVudC90YWJsZVwiO1xuLy8gQGltcG9ydCBcImNvbXBvbmVudC9jYXJ0XCI7XG4vLyBAaW1wb3J0IFwiY29tcG9uZW50L2FjY291bnRcIjtcblxuLy8gQ29tbXVuXG5AaW1wb3J0IFwiY29tbW9uL3NlY3Rpb25zXCI7XG4vLyBAaW1wb3J0IFwiY29tbW9uL21vZHVsZXNcIjtcbkBpbXBvcnQgXCJjb21tb24vZm9vdGVyXCI7XG5AaW1wb3J0IFwiY29tbW9uL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21tb24vbWVzc2FnZXNcIjtcblxuLy8gUGFnZXNcbkBpbXBvcnQgXCJwYWdlcy9ob21lXCI7XG5AaW1wb3J0IFwicGFnZXMvcGFnZVwiO1xuQGltcG9ydCBcInBhZ2VzL3NpbmdsZVwiO1xuQGltcG9ydCBcInBhZ2VzL21hcFwiO1xuQGltcG9ydCBcInBhZ2VzL2NvbnRhY3RcIjtcbkBpbXBvcnQgXCJwYWdlcy9wcmVzdGF0YWlyZVwiO1xuQGltcG9ydCBcInBhZ2VzL2RvY3VtZW50XCI7XG4vLyBAaW1wb3J0IFwicGFnZXMvYWNjZXNcIjtcbi8vIEBpbXBvcnQgXCJwYWdlcy9ncmlkXCI7XG4vLyBAaW1wb3J0IFwicGFnZXMvZ2FsbGVyeVwiO1xuXG4vLyBJdGVtcyBnZW5lcmlxdWVzXG4vLyBAaW1wb3J0IFwicG9zdHMvaXRlbXNcIjtcbi8vIEBpbXBvcnQgXCJwb3N0cy9wYWdpbmF0aW9uXCI7XG5cbi8vIEl0ZW1zIHNwZWNpZmlxdWVzXG4vLyBAaW1wb3J0IFwicG9zdHMvbmV3c1wiO1xuLy8gQGltcG9ydCBcInBvc3RzL2V2ZW50XCI7XG4vLyBAaW1wb3J0IFwicG9zdHMvcmVzdWx0YXRzXCI7XG4vLyBAaW1wb3J0IFwicG9zdHMvYWN0ZXVyXCI7XG4vLyBAaW1wb3J0IFwicG9zdHMvY291cnNcIjtcblxuLy8gUHJpbnRcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWQVJJQUJMRVMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUEFUSFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kdGhlbWVQYXRoOiBcIi9cIjtcbiRmb250UGF0aDogJHRoZW1lUGF0aCArIFwiYXNzZXRzL2ZvbnRzL1wiO1xuJGltYWdlUGF0aDogJHRoZW1lUGF0aCArIFwiYXNzZXRzL2ltYWdlcy9cIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvdWxldXJzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGxpZ2h0OiAjZmZmZmZmO1xuJGRhcms6ICMwMDAwMDA7XG5cbi8qIFNwZWNpZmlxdWVzIGF1IHNpdGUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIGZvbmQgKi9cbiRjb2wxOiAjMzE3NTg2OyAvKiBibGV1IGtvcmVkZ2UgKi9cbiRjb2wyOiAjMTgzQjY4OyAvKiBibGV1IGZvbmNlICovXG4kY29sMzogI0U1MTE0RDsgLyogcm91Z2UgKi9cbiRjb2w0OiAjRTJFMERCOyAvKiBncmlzIG1veWVuICovXG4kY29sNTogI0Y2RjZGNjsgLyogZ3JpcyBjbGFpciAqL1xuJGNvbDY6ICNGQUI4MkY7IC8qIGphdW5lICovXG4kY29sNzogIzNGM0YzRjsgLyogZ3JpZCBmb25jZSAqL1xuXG5cbiRzdWNjZXNzOiAjMENCQjc3O1xuJGRhbmdlcjogI0FBMTQ1MTtcbiR3YXJuaW5nOiAjRjY4NDAyO1xuXG4kY29sLWZhY2Vib29rOiAjNDM2MTlDO1xuJGNvbC1nb29nbGU6ICNEOEQ4RDg7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGT05UUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRmZjE6ICdNb250c2VycmF0JywgJ1ZlcmRhbmEnLCBzYW5zLXNlcmlmO1xuJGZmMjogJGZmMTtcbiRmZjM6ICRmZjE7XG4kZmY0OiAkZmYxO1xuXG4kZmZpY29uOiBcImljb21vb25cIjtcbiRmZmE6IFwiRm9udEF3ZXNvbWVcIjtcblxuLyogRm9udCBmYW1pbHkgZGVzIGVsZW1lbnRzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGZmaDE6ICRmZjE7XG4kZmZoMjogJGZmMTtcbiRmZmgzOiAkZmYxO1xuJGZmaDQ6ICRmZjE7XG4kZmZoNTogJGZmMTtcbiRmZmg2OiAkZmYxO1xuXG4kZmZ0ZXh0OiAkZmYyO1xuJGZmbGlzdDogJGZmMjtcblxuJGZmbGluazogJGZmMztcbiRmZmxpbmtfaDogJGZmMztcblxuLyogQ29ycmVzcG9uZGFuY2VzIGNvdWxldXJzIC0+IHRleHRlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGNvbGgxOiAkY29sMztcbiRjb2xoMjogJGNvbDI7XG4kY29saDM6ICRjb2wyO1xuJGNvbGg0OiAkY29sMjtcbiRjb2xoNTogJGNvbDI7XG4kY29saDY6ICRjb2wyO1xuXG4kY29sdGV4dDogJGRhcms7XG4kY29sbGlzdDogJGRhcms7XG5cbiRjb2xsaW5rOiAkY29sMztcbiRjb2xsaW5rX2g6ICRjb2wzO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRk9OVC1TSVpFUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRmejogMTZweDtcbiRmel94eHM6IDE2cHg7XG4kZnpfeHM6IDE2cHg7XG4kZnpfc206IDE2cHg7XG4kZnpfbWQ6IDE2cHg7XG4kZnpfbGc6IDE2cHg7XG4kZnpfeGw6IDE2cHg7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUUkFOU0lUSU9OUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRjdWJpY3RyYW5zOiBjdWJpYy1iZXppZXIoMC4xMiwgMC45LCAwLjc5LCAxKTtcbiRjdWJpYzogYWxsIDEuNHMgJGN1YmljdHJhbnM7XG5cbiRjdWJpYzJ0cmFuczogY3ViaWMtYmV6aWVyKDAuMTQsIDAuNjYsIDAuMjgsIDAuOTMpO1xuJGN1YmljMjogYWxsIDAuNHMgJGN1YmljMnRyYW5zO1xuXG4kdHJhbnM6IGFsbCAycyBjdWJpYy1iZXppZXIoMC4xMiwgMC45LCAwLjc5LCAxKTtcbiRlbHRyYW5zOiBhbGwgMnMgY3ViaWMtYmV6aWVyKDAuMTIsIDAuOSwgMC43OSwgMSksIG9wYWNpdHkgMnMgbGluZWFyO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQkFTRVMgUEFERElORyAmIE1BUkdJTiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRiYXNlLXBhZGRpbmc6IDE2cHg7XG4kYmFzZS1tYXJnaW46IDIwcHg7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCT1JERVIgUkFESVVTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJGJkcnM6IDRweDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENPTlRBSU5FUlMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kY29udGFpbmVyLXdpZHRoOiAxMzgwcHg7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIRUFERVIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRoZHItaDogNzVweDtcbiRoZHItaF94czogNzVweDtcbiRoZHItaF9zbTogMTIwcHg7XG4kaGRyLWhfbWQ6IDEyMHB4O1xuJGhkci1oX2xnOiAxMjBweDtcbiRoZHItcmVkdWNlZC1oOiAxMjBweDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNJREVCQVIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRhc2RfaDogNjBweDtcbiRhc2RfaF94bDogODVweDtcbiRhc2Rfd19tZDogMjh2aDtcbiRhc2Rfd19sZzogMzIwcHg7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGT09URVIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRmdHJfYmc6ICRjb2wxO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQlJFQUtQT0lOVFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kc2NyZWVuLXh4czogNDgwcHg7XG4kc2NyZWVuLXhzOiA1NzZweDtcbiRzY3JlZW4tc206IDc2OHB4O1xuJHNjcmVlbi1tZDogOTkycHg7XG4kc2NyZWVuLWxnOiAxMjAwcHg7XG4kc2NyZWVuLXhsOiAxNjAwcHg7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFQVNJTkcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kZWFzZUluU2luZTogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZU91dFNpbmU6IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuJGVhc2VJbk91dFNpbmU6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG4kZWFzZUluUXVhZDogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTtcbiRlYXNlT3V0UXVhZDogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuJGVhc2VJbk91dFF1YWQ6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbiRlYXNlSW5DdWJpYzogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4kZWFzZU91dEN1YmljOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiRlYXNlSW5PdXRDdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuJGVhc2VJblF1YXJ0OiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiRlYXNlT3V0UXVhcnQ6IGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4kZWFzZUluT3V0UXVhcnQ6IGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4kZWFzZUluUXVpbnQ6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuJGVhc2VPdXRRdWludDogY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuJGVhc2VJbk91dFF1aW50OiBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG4kZWFzZUluRXhwbzogY3ViaWMtYmV6aWVyKDAuOTUsIDAuMDUsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZU91dEV4cG86IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiRlYXNlSW5PdXRFeHBvOiBjdWJpYy1iZXppZXIoMSwgMCwgMCwgMSk7XG4kZWFzZUluQ2lyYzogY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpO1xuJGVhc2VPdXRDaXJjOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiRlYXNlSW5PdXRDaXJjOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1LCAwLjg2KTtcbiRlYXNlSW5CYWNrOiBjdWJpYy1iZXppZXIoMC42LCAtMC4yOCwgMC43MzUsIDAuMDQ1KTtcbiRlYXNlT3V0QmFjazogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuJGVhc2VJbk91dEJhY2s6IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNSVhJTi5TQ1NTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZPTlQgRkFDRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRmaWxlLCAkd2VpZ2h0LCAkc3R5bGUpIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRuYW1lO1xuICAgICAgICBzcmM6IHVybChcIiN7JGZpbGV9LmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoXCIjeyRmaWxlfS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRmaWxlfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGZpbGV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiI3skZmlsZX0uc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBLRVlGUkFNRVMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGRlZ3JhZGVBbmltZSgkdHlwZSwgJGFuZ2xlLCAkZHVyYXRpb24pIHtcblxuICAgIC8vIEBpZiAkdHlwZSA9PSBibGV1IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlLCAkY29sMiAwJSwgcmdiYSgxNyw0MywxMDIsMSkgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gYmxldWJydWl0IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2VQYXRoICsgJ25vaXNlLnBuZycpLCByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwgJGNvbDIgMCUsIHJnYmEoMTcsNDMsMTAyLDEpIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IGJsZXV0cmFuc3BhcmVudCB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkY29sMiwxKSAwJSwgcmdiYSgkY29sMiwwKSAxMDAlKTtcbiAgICAvLyB9XG5cbiAgICAvLyBAZWxzZSBpZiAkdHlwZSA9PSByb3VnZSB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wzO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkY29sMyAwJSwgZGFya2VuKCRjb2wzLCAyMCUpIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IHJvdWdlYnJ1aXQge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMztcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZVBhdGggKyAnbm9pc2UucG5nJyksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRjb2wzIDAlLCByZ2JhKDE3MCwwLDYsMSkgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gcm91Z2V0cmFuc3BhcmVudCB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkY29sMywxKSAwJSwgcmdiYSgkY29sMywwKSAxMDAlKTtcbiAgICAvLyB9XG5cbiAgICAvLyBAZWxzZSBpZiAkdHlwZSA9PSB2ZXJ0dHJhbnNwYXJlbnQge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGNvbDIsMSkgMCUsIHJnYmEoJGNvbDIsMCkgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gbm9pcnRyYW5zcGFyZW50IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRkYXJrLDEpIDAlLCByZ2JhKCRkYXJrLDApIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IGJsZXVibGV1IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2wyIDAlLCAkY29sMiAzMCUsICRjb2wzIDgwJSwgJGNvbDMgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gYmxldXJvdWdlIHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2wyIDAlLCAkY29sMiAzMCUsICRjb2wzIDgwJSwgJGNvbDMgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gYmxldXJvdWdlYnJ1aXQge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ZmbHV0dGUvY29udGVudC90aGVtZXMvZmZsdXR0ZS9hc3NldHMvaW1hZ2VzL25vaXNlLnBuZ1wiKSwgbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbDIgMCUsICRjb2wyIDMwJSwgJGNvbDMgODAlLCAkY29sMyAxMDAlKTtcbiAgICAvLyB9XG5cbiAgICAvLyBAZWxzZSBpZiAkdHlwZSA9PSByb3VnZWJsZXUge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbDMgMCUsICRjb2wzIDMwJSwgJGNvbDIgODAlLCAkY29sMiAxMDAlKTtcbiAgICAvLyB9XG5cbiAgICAvLyBAZWxzZSBpZiAkdHlwZSA9PSByb3VnZWJsZXVicnVpdCB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wyO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZmZsdXR0ZS9jb250ZW50L3RoZW1lcy9mZmx1dHRlL2Fzc2V0cy9pbWFnZXMvbm9pc2UucG5nXCIpLCBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sMyAwJSwgJGNvbDMgMzAlLCAkY29sMiA4MCUsICRjb2wyIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIGJhY2tncm91bmQtc2l6ZTogMjAwJSAyMDAlO1xuICAgIC8vIC13ZWJraXQtYW5pbWF0aW9uOiBkZWdyYWRlQW5pbWUgJGR1cmF0aW9uIGVhc2UgaW5maW5pdGU7XG4gICAgLy8gLW1vei1hbmltYXRpb246IGRlZ3JhZGVBbmltZSAkZHVyYXRpb24gZWFzZSBpbmZpbml0ZTtcbiAgICAvLyBhbmltYXRpb246IGRlZ3JhZGVBbmltZSAkZHVyYXRpb24gZWFzZSBpbmZpbml0ZTtcblxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoZGVncmFkZUFuaW1lKSB7XG4gICAgMCV7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUxJTtcbiAgICB9XG4gICAgNTAle1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgICB9XG4gICAgMTAwJXtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlO1xuICAgIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ0VOVFJFIFVORSBJTUFHRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBpbWdDZW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUFJFRklYRVMgOiBUcmFuc2l0aW9uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zKSB7XG4gICAgLW1zLXRyYW5zaXRpb246ICR0cmFucztcbiAgICAtby10cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUFJFRklYRVMgOiBUcmFuc2Zvcm0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2YpIHtcbiAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmO1xuICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZjtcbiAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZjtcbiAgICB0cmFuc2Zvcm06ICR0cmFuc2Y7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDRU5UUkUgVU4gRUxFTUVOVCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBjZW50ZXJFbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQkFTRSBHUkFESUVOVCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBkZWdyYWRlKCR0eXBlLCAkYW5nbGU6IDkwZGVnKSB7XG4gICAgLy8gQGlmICR0eXBlID09IGJsZXUge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsICRjb2wyIDAlLCByZ2JhKDE3LDQzLDEwMiwxKSAxMDAlKTtcbiAgICAvLyB9XG5cbiAgICAvLyBAZWxzZSBpZiAkdHlwZSA9PSBibGV1dHJhbnNwYXJlbnQge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCByZ2JhKCRjb2wyLDEpIDAlLCByZ2JhKCRjb2wyLDApIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IGJsZXVicnVpdCB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wyO1xuICAgIC8vICAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlUGF0aCArICdub2lzZS5wbmcnKSwgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsICRjb2wyIDAlLCByZ2JhKDE3LDQzLDEwMiwxKSAxMDAlKTtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZVBhdGggKyAnbm9pc2UucG5nJyksIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlLCAkY29sMiAwJSwgcmdiYSgzLDIzLDY3LDEpIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IHJvdWdlIHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRjb2wzIDAlLCByZ2JhKDE3MCwwLDYsMSkgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gcm91Z2V0cmFuc3BhcmVudCB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wzO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCByZ2JhKCRjb2wzLDEpIDAlLCByZ2JhKCRjb2wzLDApIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IHJvdWdlYnJ1aXQge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMztcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZVBhdGggKyAnbm9pc2UucG5nJyksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRjb2wzIDAlLCByZ2JhKDE3MCwwLDYsMSkgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gYmxldXJvdWdlIHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbDIgMCUsICRjb2wzIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IGJsZXVyb3VnZWJydWl0IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9mZmx1dHRlL2NvbnRlbnQvdGhlbWVzL2ZmbHV0dGUvYXNzZXRzL2ltYWdlcy9ub2lzZS5wbmdcIiksIGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2wyIDAlLCAkY29sMyAxMDAlKTtcbiAgICAvLyB9XG5cbiAgICAvLyBAZWxzZSBpZiAkdHlwZSA9PSByb3VnZWJsZXUge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbDMgMCUsICRjb2wyIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIEBlbHNlIGlmICR0eXBlID09IGJsZXVibGV1IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2wyIDAlLCAkY29sMiAzMCUsICRjb2wzIDgwJSwgJGNvbDMgMTAwJSk7XG4gICAgLy8gfVxuXG4gICAgLy8gQGVsc2UgaWYgJHR5cGUgPT0gcm91Z2VibGV1YnJ1aXQge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ZmbHV0dGUvY29udGVudC90aGVtZXMvZmZsdXR0ZS9hc3NldHMvaW1hZ2VzL25vaXNlLnBuZ1wiKSwgbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbDMgMCUsICRjb2wyIDEwMCUpO1xuICAgIC8vIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENFTlRSRSBVTiBCQUNLR1JPVU5EIFFVQU5EIE9OIExFIE1FVCBFTiBJTkxJTkUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gY2VudGVyQkcge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBPQkpFQ1QgRklUIEFWRUMgREVURUNUSVpSICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIG9iakZpdCB7XG4gICAgaHRtbC5vYmplY3RmaXQgJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgaHRtbDpub3QoLm9iamVjdGZpdCkgJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVFJJQU5HTEVTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHRyaWFuZ2xlKCRvcmllbnRhdGlvbiwgJGNvbG9yLCAkd2lkdGgsICRoZWlnaHQpIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBAaWYgJG9yaWVudGF0aW9uID09IFwidG9wXCIge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSk7XG4gICAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBAaWYgJG9yaWVudGF0aW9uID09IFwicmlnaHRcIiB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMXB4O1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTUwJSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAtNTAlKTtcbiAgICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAkb3JpZW50YXRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcbiAgICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkY29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIEBpZiAkb3JpZW50YXRpb24gPT0gXCJsZWZ0XCIge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSk7XG4gICAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaXNwbGF5IGZsZXggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gZmxleCgkZmxleDogZmxleCwgJGRpcmVjdGlvbjogcm93LCAkd3JhcDogbm93cmFwLCAkamM6IGZsZXgtc3RhcnQsICRhaTogZmxleC1zdGFydCkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtI3skZmxleH07XG4gICAgZGlzcGxheTogLW1vei0jeyRmbGV4fTtcbiAgICBkaXNwbGF5OiAtbXMtI3skZmxleH07XG4gICAgZGlzcGxheTogLW8tI3skZmxleH07XG4gICAgZGlzcGxheTogI3skZmxleH07XG4gICAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgZmxleC13cmFwOiAkd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqYztcbiAgICBhbGlnbi1pdGVtczogJGFpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogT2JqZWN0IEZpdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBvYmpmaXQoJGZpdDogY292ZXIsICRwb3M6IGNlbnRlcikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiAkZml0O1xuICAgIG9iamVjdC1wb3NpdGlvbjogJHBvcztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhleGFnb25lcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBoZXgoJHN2Zykge1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZVBhdGggKyAkc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRk9OQ1RJT05TICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENPTlZFUlNJT04gUFggLT4gRU0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AZnVuY3Rpb24gcHRlKCRweCwgJGZ6KSB7XG4gICAgQHJldHVybiAkcHggLyAkZnogKiAxZW07XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDT05WRVJTSU9OIFBYIC0+IFJFTSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBmdW5jdGlvbiBwdHIoJHB4LCAkZnopIHtcbiAgICBAcmV0dXJuICRweCAvICRmeiAqIDFyZW07XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDT05WRVJTSU9OIFBYIC0+ICUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AZnVuY3Rpb24gcHRwKCRsZywgJGN0KSB7XG4gICAgQHJldHVybiAkY3QgLyAxMDAlICogJGxnO1xufVxuIiwiICAuaWNuIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY24taW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG4uaWNuLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNuLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY24tdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNuLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY24taW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZlwiO1xufVxuLmljbi1jb250YWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNuLWhlYWRzZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cbi5pY24taGV4YWdvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cbi5pY24tazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOVwiO1xufVxuLmljbi1tYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG4uaWNuLW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGJcIjtcbn1cbi5pY24tcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG4uaWNuLXBlb3BsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljbi1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZVwiO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBTklNQVRJT05TICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNDUk9MTERJU0MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2Nyb2xsRGlzYyB7XG4gIDAlIHtcbiAgICB0b3A6IC0zMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRvcDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBzY3JvbGxEaXNjIHtcbiAgMCUge1xuICAgIHRvcDogLTMwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQC1vLWtleWZyYW1lcyBzY3JvbGxEaXNjIHtcbiAgMCUge1xuICAgIHRvcDogLTMwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE9OREUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgb25kZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCT1VOQ0UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODkpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCQUxBTkNFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGtleWZyYW1lcyBiYWxhbmNlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQkFMQU5DRSBWRVJUSUNBTEUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIGJhbGFuY2V2IHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMCUpO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAlKTtcbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgZmxlY2hlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xuICAgIH1cbiAgICA1MC4xJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBVTFNFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdBVkVTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGtleWZyYW1lcyB3YXZlcyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJFU1NPUlQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIHJlc3NvcnQge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1JSwgLTUwJSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUkVTU09SVCBWRVJUSUNBTCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBrZXlmcmFtZXMgcmVzc29ydHYge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCT1VOQ0UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIGVsYXN0aWMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRkxPQVQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIGZsb2F0IHtcbiAgMCUge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzogMCAyNXB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgwcHgpO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMRFMgUk9MTEVSICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGtleWZyYW1lcyBsZHMtcm9sbGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQkxJTksgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcblxuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU0hBUEUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIHNoYXBlIHtcbiAgMCVcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwY2gsIDBjaCwgLTEwY2gpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBjaCwgMGNoLCAwY2gpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwY2gsIC0xMGNoLCAwY2gpO1xuICB9XG59XG5cbiIsIi5sb2FkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGlnaHQsIDAuNjUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIFxuICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuZGlzcGxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxufVxuXG4ubGRzLXJvbGxlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgQGluY2x1ZGUgY2VudGVyRWw7XG5cbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG5cbiAgICBkaXYge1xuICAgICAgICBhbmltYXRpb246IGxkcy1yb2xsZXIgMS4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjUsIDEpIGluZmluaXRlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAzMnB4IDMycHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcms7XG4gICAgICAgICAgICBtYXJnaW46ICgtM3B4KSAwIDAgLTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMDM2cztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjA3MnM7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogNTRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xMDhzO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0b3A6IDU3cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMzlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTQ0cztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiA1OHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCg1KSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE4cztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiA1N3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjIxNnM7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogNTRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNykge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4yNTJzO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMjg4cztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiA0NXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExFQUZMRVQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8gLmxlYWZsZXQtdG9wLmxlYWZsZXQtcmlnaHRcbi8vIFx0cG9zaXRpb246IGFic29sdXRlXG4vLyBcdGJvcmRlcjogMFxuLy8gXHRib3JkZXItcmFkaXVzOiAwXG4vLyBcdHJpZ2h0OiAwXG4vLyBcdHRvcDogMFxuLy8gXHRtYXJnaW46IDBcbi8vIFx0cGFkZGluZzogNjBweCA1MHB4XG4vLyBcdGhlaWdodDogMTAwJVxuLy8gXHR3aWR0aDogMjAlXG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodFxuXG4vLyAubGVhZmxldC1jb250cm9sLWxheWVyc1xuLy8gXHRsYWJlbFxuLy8gXHRcdGRpc3BsYXk6IGJsb2NrXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUkVTUE9OU0lWRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBERVNLVE9QIDogI3skc2NyZWVuLWxnfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLWxnKSB7fVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVEFCTEVUUCA6ICN7JHNjcmVlbi1tZH0gcHggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge31cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRBQkxFVCA6ICN7JHNjcmVlbi1zbX0gcHggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAvLyAubGVhZmxldC10b3BcbiAgLy8gXHQmLmxlYWZsZXQtcmlnaHRcbiAgLy8gXHRcdHRvcDogYXV0b1xuICAvLyBcdFx0Ym90dG9tOiAwXG4gIC8vIFx0XHRsZWZ0OiAwXG4gIC8vIFx0XHRyaWdodDogMFxuICAvLyBcdFx0d2lkdGg6IGF1dG9cbiAgLy8gXHRcdGhlaWdodDogYXV0b1xuICAvLyBcdFx0cGFkZGluZzogMWVtXG5cbiAgLy8gLmxlYWZsZXQtY29udHJvbC1sYXllcnNcbiAgLy8gXHRsYWJlbFxuICAvLyBcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrXG4gIC8vIFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wXG4gIC8vIFx0XHRwYWRkaW5nLXJpZ2h0OiAxZW1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRBQkxFIDogI3skc2NyZWVuLXhzfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzKSB7fVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTU9CSUxFUCA6ICN7JHNjcmVlbi14eHN9IHB4ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHhzKSB7fVxuIiwiLmNhcmQge1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0Ji1oZWFkZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcblx0XHRwYWRkaW5nOiAwLjVyZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdC5idG4ge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Y29sb3I6ICRjb2wzO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IGkge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuXHRcdFx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKSByb3RhdGUoMTgwZGVnKTtcblx0XHRcdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKSByb3RhdGUoMTgwZGVnKTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKSByb3RhdGUoMTgwZGVnKTtcblx0XHRcdFx0dHJhbnNpdGlvbjogJHRyYW5zO1xuXHRcdFx0XHRmb250LXNpemU6IHB0cig2cHgsICRmeik7XG5cdFx0XHRcdGNvbG9yOiAkY29sMztcblx0XHRcdH1cblxuXHRcdFx0Ji5jb2xsYXBzZWQge1xuXHRcdFx0XHQ+IGkge1xuXHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKSByb3RhdGUoMGRlZyk7XG5cdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSkgcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSkgcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSkgcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdGNvbG9yOiAkZGFyaztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0Y29sb3I6ICRkYXJrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji1ib2R5IHtcblx0XHRwYWRkaW5nOiAwLjVyZW07XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogcHRyKDE0cHgsICRmeik7XG5cdFx0fVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBQ0NPUkRFT04gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWNjb3JkaW9uIHtcblx0Pi5jYXJkIHtcblx0XHQuY2FyZC1oZWFkZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdH1cblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogT05HTEVUUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uYXYtdGFicyB7XG5cdGJvcmRlcjogbm9uZTtcblxuXHQubmF2LWl0ZW0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH0gXG5cblx0Lm5hdi1pdGVtLnNob3cgLm5hdi1saW5rLFxuXHQubmF2LWxpbmsuYWN0aXZlIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Lm5hdi1saW5rIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6ICRjb2wxO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XG5cdFx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcblx0XHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsMCk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLDApO1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2wzO1xuXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnM7XG5cdFx0XHQtbW96LXRyYW5zaXRpb246ICR0cmFucztcblx0XHRcdC1tcy10cmFuc2l0aW9uOiAkdHJhbnM7XG5cdFx0XHQtby10cmFuc2l0aW9uOiAkdHJhbnM7XG5cdFx0XHR0cmFuc2l0aW9uOiAkdHJhbnM7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUkVTUE9OU0lWRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcblxuXHRcblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG5cblx0LmNhcmQge1xuXHRcdCYtaGVhZGVyIHtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0fVxuXG5cdFx0Ji1ib2R5IHtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0fVxuXHR9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU00gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXG5cdFxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1EICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblxuXHRcblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMRyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG5cblx0Lm5hdi10YWJzIHtcblx0XHQubmF2LWxpbmsge1xuXHRcdFx0Zm9udC1zaXplOiBwdHIoMjJweCwgJGZ6X21kKTtcblx0XHR9XG5cdH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYTCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG5cblx0XG5cbn1cblxuIiwiYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbi5idG4ge1xuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBmbGV4KGlubGluZS1mbGV4LCByb3csIG5vd3JhcCwgY2VudGVyLCBjZW50ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiBwdHIoMTZweCwgJGZ6KSBwdHIoMzJweCwgJGZ6KTtcbiAgICB0cmFuc2l0aW9uOiAkY3ViaWMyO1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYmRycztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmZjE7XG4gICAgZm9udC1zaXplOiBwdHIoMTZweCwgJGZ6KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gICAgfVxuXG4gICAgPiBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGZvbnQtc2l6ZTogcHRyKDE4cHgsICRmeik7XG5cbiAgICAgICAgJi5pY24tYmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcHRyKDIwcHgsICRmeik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljbi1hZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcHRyKDIwcHgsICRmeik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJpZy1pY29uIHtcbiAgICAgICAgPiBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgICBmb250LWZhbWlseTogJGZmMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgZm9udC1zaXplOiBwdHIoMTJweCwgJGZ6KTtcbiAgICAgICAgcGFkZGluZzogcHRyKDhweCwgJGZ6KSBwdHIoMTZweCwgJGZ6KTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBFRkZFVCBTVVJWT0wgRElBR09OQUwgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtNTBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDgwcHggc29saWQgcmdiYSgkbGlnaHQsIC4yKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiAkY3ViaWMyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIElDT04gU0VVTEVNRU5UICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmLmljbi1vbmx5IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICA+IGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBGVUxMIExBUkdFVVIgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYuZnVsbC13aWR0aCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogQk9VVE9OUyBST05EUyAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJi5idG4tcm91bmQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDByZW07XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBERUZBVUxUICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmLmJ0bi1kZWZhdWx0IHtcbiAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMztcbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIERFRkFVTFQgT1VUTElORUQgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYuYnRuLWRlZmF1bHQtb3V0bGluZWQge1xuICAgICAgICBjb2xvcjogJGNvbDM7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2wzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbDM7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2wzO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBEQVJLICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmLmJ0bi1kYXJrIHtcbiAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBEQVJLIE9VVExJTkVEICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmLmJ0bi1kYXJrLW91dGxpbmVkIHtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2wzO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sMztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogTElHSFQgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYuYnRuLWxpZ2h0IHtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogTElHSFQgT1VUTElORUQgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYuYnRuLWxpZ2h0LW91dGxpbmVkIHtcbiAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcms7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogUFJJTUFSWSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJi5idG4tcHJpbWFyeSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogUFJJTUFSWSBPVVRMSU5FRCAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJi5idG4tcHJpbWFyeS1vdXRsaW5lZCB7XG4gICAgICAgIGNvbG9yOiAkY29sMjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbDI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2wyO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sMjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBTRUNPTkRBUlkgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYuYnRuLXNlY29uZGFyeSB7XG4gICAgICAgIGNvbG9yOiAkY29sNztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sNTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0QwRDBEMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sMztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIEVOVE9VUkUgU0VDT05EQUlSRSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJi5idG4tc2Vjb25kYXJ5LW91dGxpbmVkIHtcbiAgICAgICAgY29sb3I6ICRjb2wxO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbDE7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2wxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBTT1VMSUdORSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJi5idG4tdW5kZXJsaW5lZCB7XG4gICAgICAgIGNvbG9yOiAkY29sMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2wzO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2wyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIEZBQ0VCT09LICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmLmJ0bi1mYWNlYm9vayB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wtZmFjZWJvb2s7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbC1mYWNlYm9vaywgMTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBHT09HTEUgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYuYnRuLWdvb2dsZSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wtZ29vZ2xlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2wtZ29vZ2xlLCAxMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBBTklNQVRJT05TICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmLmJ0bi1iYWxhbmNlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogYmFsYW5jZSAxcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLWJhbGFuY2UtdmVydGljYWwge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiByZXNzb3J0diAxcyBpbmZpbml0ZSBib3RoIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBCVE4gTElOSyAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJi5idG4tbGluayB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBjb2xvcjogJGNvbDM7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5idG4tbGluay1kZWZhdWx0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sMztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2wzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5idG4tbGluay1wcmltYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sMjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2wyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5idG4tbGluay1zZWNvbmRhcnkge1xuICAgICAgICAgICAgY29sb3I6ICRjb2wxO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIEFOSU1BVElPTiBMT0FESU5HICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmLmxvYWRpbmcge1xuICAgICAgICA+IGkge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBsZHMtcm9sbGVyIDJzIGluZmluaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgXG59XG5cbi5idXR0b24tZ3JvdXAge1xuICAgIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgPiBpLFxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjM3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnRuLWRlZmF1bHQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbDM7XG4gICAgICAgICAgICBjb2xvcjogJGNvbDM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG5cbiAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2wzO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJFU1BPTlNJVkUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFhTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG5cbiAgICAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiBwdHIoMThweCwgJGZ6KTtcbiAgICB9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuXG4gICAgXG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU00gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXG4gICAgLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcblxuICAgICAgICAmLmJ0bi1vbmx5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTUQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuXG4gICAgYnV0dG9uLFxuICAgIC5idG4ge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFucztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFucztcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG5cbiAgICAgICAgJi5idG4tb25seSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTEcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuXG4gICAgLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcblxuICAgICAgICAmLmJ0bi1vbmx5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLWdyb3VwICYge1xuICAgICAgICAgICAgPiBpLFxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYTCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG5cbiAgICBcblxufVxuXG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU1RZTEVTIEdFTkVSQVVYICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBjb2xvcjogJGNvbDE7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcbiAgICBmb250LWZhbWlseTogJGZmMTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZGFyaywgMC4yNSk7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1yaWdodDogLjI1cmVtO1xufVxuXG5zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8vIGNvbG9yOiAkY29sMTtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMTtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkZmYxO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGRhcmssIDAuMjUpO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgLy8gbWFyZ2luOiAwIDAgMC44MTI1ZW0gMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBvcHRpb24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbi5zZWxlY3RfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LCByb3csIG5vd3JhcCwgY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICBmb250LXNpemU6IHB0cigxMnB4LCAkZnopO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiBwdHIoNTBweCwgJGZ6KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHB0cig1MHB4LCAkZnopO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHdpZHRoOiBwdHIoMjRweCwgJGZ6KSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogcHRyKDI0cHgsICRmeikgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgcHRyKDEwcHgsICRmeikgMCAwO1xufVxuXG5zZWxlY3Qge1xuICAgIG9wdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkY29sMztcbiAgICB9XG59XG5cbmxhYmVsIHtcbiAgICBjb2xvcjogJGNvbDE7XG4gICAgZm9udC1mYW1pbHk6ICRmZjI7XG4gICAgZm9udC1zaXplOiBwdHIoMTZweCwgJGZ6KTtcbiAgICBsaW5lLWhlaWdodDogcHRyKDE5cHgsICRmeik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICBjb2xvcjogJGNvbDEgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICRmZjI7XG4gIGZvbnQtc2l6ZTogcHRyKDE2cHgsICRmeik7XG4gIGxpbmUtaGVpZ2h0OiBwdHIoMTlweCwgJGZ6KTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbn1cbjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiAkY29sMSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJGZmMjtcbiAgZm9udC1zaXplOiBwdHIoMTZweCwgJGZ6KTtcbiAgbGluZS1oZWlnaHQ6IHB0cigxOXB4LCAkZnopO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBvcGFjaXR5OiAxO1xufVxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuICBjb2xvcjogJGNvbDEgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICRmZjI7XG4gIGZvbnQtc2l6ZTogcHRyKDE2cHgsICRmeik7XG4gIGxpbmUtaGVpZ2h0OiBwdHIoMTlweCwgJGZ6KTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbn1cbjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgY29sb3I6ICRjb2wxICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAkZmYyO1xuICBmb250LXNpemU6IHB0cigxNnB4LCAkZnopO1xuICBsaW5lLWhlaWdodDogcHRyKDE5cHgsICRmeik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIGNvbG9yOiAkY29sMTtcbn1cblxuLmxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiBwdHIoMTRweCwgJGZ6KTtcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNT1RFVVJTIERFIFJFQ0hFUkNIRSBERSBQT1NUUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mb3JtLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1OHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uZm9ybS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG5maWVsZHNldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcHRyKDE4cHgsICRmeik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbn1cblxuLmZsZXhmb3JtIHtcbiAgICBAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgd3JhcCwgZmxleC1zdGFydCwgc3RyZXRjaCk7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBmbGV4KGlubGluZS1mbGV4LCBjb2x1bW4sIG5vd3JhcCwgZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAmLmZvcm0taGFsZiB7XG4gICAgICAgIC8vIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgJi5mb3JtLWVtcGhhc2lzIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzAsMjAsODEsMC4wOSk7XG4gICAgfVxuXG4gICAgLmZvcm0tZmllbGQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmZvcm0tZmllbGQtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZm9ybS1yYWRpbyxcbiAgICAmLmZvcm0tY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgbm93cmFwLCBmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuXG4gICAgICAgIGxhYmVsLFxuICAgICAgICAuZm9ybS1maWVsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgIC5jaGVja2JveF9fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVwbG9hZCB7XG4gICAgICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sMTtcbiAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LCByb3csIG5vd3JhcCwgZmxleC1zdGFydCwgY2VudGVyKTtcblxuICAgICAgICAuZHJhZy1uLWRyb3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmYxO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGNvbG9yOiAkY29sMztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUkVDQVBUQ0hBICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ0hFQ0tCT1ggLyBSQURJTyBDVVNUT00gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY2hlY2tib3hfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgZGlzcGxheTogLW8tZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICA+IGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6Y2hlY2tlZCB+IC5jaGVja2JveF9fYnVsbGV0IHtcbiAgICAgICAgICAgIC5jaGVja2JveF9fYnVsbGV0X19pbm5lciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrYm94X19idWxsZXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBwdHIoMjZweCwgJGZ6KTtcbiAgICAgICAgaGVpZ2h0OiBwdHIoMjZweCwgJGZ6KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbDI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcbiAgICAgICAgcGFkZGluZzogcHRyKDVweCwgJGZ6KTs7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgICAgICAgd2lkdGg6IHB0cigxNHB4LCAkZnopO1xuICAgICAgICAgICAgaGVpZ2h0OiBwdHIoMTRweCwgJGZ6KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiBpbnB1dFt0eXBlPVwicmFkaW9cIl0gfiAuY2hlY2tib3hfX2J1bGxldCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHB0cigyNnB4LCAkZnopO1xuXG4gICAgICAgIC5jaGVja2JveF9fYnVsbGV0X19pbm5lciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBwdHIoMTRweCwgJGZ6KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgID4gLmltYWdlcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBwdHIoMjBweCwgJGZ6KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSRVNQT05TSVZFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1PQklMRVAgOiAjeyRzY3JlZW4teHhzfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgLnVwbG9hZCB7XG4gICAgICAgICAgICAuZHJhZy1uLWRyb3Age1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmZvcm0tZmllbGQge1xuICAgIC8vICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUQUJMRSA6ICN7JHNjcmVlbi14c30gcHggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAudXBsb2FkIHtcbiAgICAgICAgICAgIC5kcmFnLW4tZHJvcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRBQkxFVCA6ICN7JHNjcmVlbi1zbX0gcHggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl17XG4gICAgICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiA0JTtcbiAgICAgICAgJi5mb3JtLWhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAudXBsb2FkIHtcbiAgICAgICAgICAgIC5kcmFnLW4tZHJvcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRBQkxFVFAgOiAjeyRzY3JlZW4tbWR9IHB4ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAudXBsb2FkIHtcbiAgICAgICAgICAgIC5kcmFnLW4tZHJvcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERFU0tUT1AgOiAjeyRzY3JlZW4tbGd9IHB4ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcblxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAudXBsb2FkIHtcbiAgICAgICAgICAgIC5kcmFnLW4tZHJvcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cblxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDQVJURSBJTlRFUkFDVElWRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBQ0NVRUlMICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUEFHRSBDQVJURSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNtYXAge1xuICAgIGhlaWdodDogNTB2aDtcbn1cblxuLyogQ29udGVuZXVyIE1hcCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb250ZW50LW1hcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLyogT24gY2FjaGUgbGEgYmFycmUgZGUgcGFydGFnZSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnNoYXJlZGFkZHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIENvbnRlbmV1ciBNYXAgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICNtYXAge1xuICAgICAgICBoZWlnaHQ6IDgwdmg7XG4gICAgfVxuXG4gICAgLyogRmlsdHJlcyAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLm1hcC1maWx0cmVzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2wyO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDUwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwIDBweCA0NXB4O1xuICAgICAgICBjb2xvcjogJGxpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoJGRhcmssIDAuMyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXBhZGRpbmc7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGxpZ2h0LCAwLjI1KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBvcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSU5GT1dJTkRPVyAvIFBPUFVQICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBHT09HTEUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZ20tc3R5bGUtaXcge1xuICAgIHBhZGRpbmc6ICRiYXNlLXBhZGRpbmc7XG5cbiAgICAudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAkYmFzZS1wYWRkaW5nIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcbiAgICAgICAgY29sb3I6ICRjb2wxO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMjBweFxuIFxuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBpbWdDZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkYmFzZS1wYWRkaW5nO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2wxO1xuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIE9TTSAvIElHTiAvIExFQUZMRVQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubGVhZmxldC1wb3B1cC1jb250ZW50IHtcbiAgICBtYXJnaW46ICRiYXNlLXBhZGRpbmc7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIH1cblxuICAgIC5tYXBfcG9wdXBfY29udGVudCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmYxO1xuXG4gICAgICAgICZfdGl0cmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmZjE7XG4gICAgICAgICAgICBjb2xvcjogJGNvbDM7XG4gICAgICAgICAgICBmb250LXNpemU6IHB0cigxOHB4LCAkZnopO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjB2aDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGltZ0NlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfdHlwZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl90ZXh0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAuY29taXRlcyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwdHIoMTRweCwgJGZ6KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwQThFNztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGlzY2lwbGluZXMsXG4gICAgICAgICAgICAuYWRyZXNzZSxcbiAgICAgICAgICAgIC5jb250YWN0LFxuICAgICAgICAgICAgLnRlbGVwaG9uZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LCByb3csIG5vd3JhcCwgZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogcHRyKDQwcHgsICRmeik7XG5cbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDc4QTg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB0cigxNHB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHRyKDE0cHgsICRmeik7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuX2JhciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2wzO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB0cigxNHB4LCAkZnopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBvaSB7XG4gICAgICAgICAgICAmLWFkcmVzc2Uge31cblxuICAgICAgICAgICAgJi1saW5rcyB7XG4gICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaG9yYWlyZXMge1xuICAgICAgICAgICAgICAgICYtdGl0cmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlcixcbi5sZWFmbGV0LXBvcHVwLXRpcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENPTlRST0xTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8vIC5sZWFmbGV0IHtcbi8vICAgICAmLXRvcCB7XG4vLyAgICAgICAgIHRvcDogNTBweCAhaW1wb3J0YW50O1xuLy8gICAgIH1cbi8vIH1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJFU1BPTlNJVkUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFhTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7fVxuXG4gICAgXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG5cbiAgICAubWFwX3BvcHVwIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICB9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU00gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXG4gICAgLmxlYWZsZXQtdG9wIHtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1hcF9wb3B1cCB7XG4gICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgfVxuXG59XG5cbiAgICBcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1EICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblxufVxuXG4gICAgXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMRyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7fVxuXG4gICAgXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYTCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7fVxuXG4gICAgXG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNFQ1RJT05TICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSRVNQT05TSVZFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuXG4gICAgXG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuXG4gICAgXG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU00gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXG4gICAgc2VjdGlvbiB7XG4gICAgfVxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1EICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblxuICAgIHNlY3Rpb24ge31cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTEcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuXG4gICAgc2VjdGlvbiB7XG4gICAgfVxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhMICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcblxuICAgIFxuXG59XG5cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRk9PVEVSICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlX19mb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX3RvcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICB9XG5cbiAgICAmX19taWRkbGUge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBjb2xvcjogJGNvbDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wxO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgbWluLWhlaWdodDogcHRyKDYwcHgsICRmeik7XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDA7XG5cbiAgICAgICAgJl9fcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LCByb3csIG5vd3JhcCwgZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIFRJVFJFIERFUyBDT0xPTk5FUyAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZjEpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiBwdGUoMThweCwgJGZ6KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogXCJNT0RVTEVTXCIgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIExPR08gKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICZfX2xvZ28ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtOyBcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBSZXNlYXV4IHNvY2lhdXggKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICZfX25ldHdvcmtzIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgbm93cmFwLCBjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB0cig0MHB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB0cig0MHB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDByZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogTWVudGlvbnMgLyBLb3JlZGdlICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmX19tZW50aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleCwgY29sdW1uLCBub3dyYXAsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgICAmX19rb3JlZGdlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmtzIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZmMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwdHIoMTRweCwgJGZ6KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpeGUge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDIwMDE7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcblxuICAgICAgICAuZm9vdGVyX19tZW51IHtcbiAgICAgICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIHNwYWNlLWJldHdlZW4sIHN0cmV0Y2gpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHRyKDgwcHgsICRmeik7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LCBjb2x1bW4sIG5vd3JhcCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRjdWJpYzI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleCwgY29sdW1uLCBub3dyYXAsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBwdHIoMjRweCwgJGZ6KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2wzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB0cigxMnB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIC5mb290ZXJfX21lbnVfX2xpc3RfX2l0ZW1fX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGksXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTY3JvbGwgdG8gVG9wICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNjcm9sbHRvdG9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogJGN1YmljMjtcbiAgICBib3R0b206IDByZW07XG4gICAgcmlnaHQ6IDByZW07XG4gICAgei1pbmRleDogMTEwMDtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB3aWR0aDogJGFzZF9oO1xuICAgICAgICBoZWlnaHQ6ICRhc2RfaDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAvLyBwYWRkaW5nOiAwO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMztcbiAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogMTAwZW07XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHB0cigyNHB4LCAkZnopO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1haWxDaGltcCBNZXNzYWdlcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5tYzR3cC1hbGVydCB7XG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmYxO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubWM0d3AtZXJyb3Ige1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkYwMDAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSRVNQT05TSVZFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUQUJMRSA6ICN7JHNjcmVlbi14c30gcHggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuXG4gICAgLnNpdGVfX2Zvb3RlciB7XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVEFCTEVUIDogI3skc2NyZWVuLXNtfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cbiAgICAuc2l0ZV9fZm9vdGVyIHtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRBQkxFVFAgOiAjeyRzY3JlZW4tbWR9IHB4ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblxuICAgIC5zaXRlX19mb290ZXIge1xuICAgIH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBERVNLVE9QIDogI3skc2NyZWVuLWxnfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG5cbiAgICAuc2l0ZV9fZm9vdGVyIHtcblxuICAgICAgICAmX190b3AsXG4gICAgICAgICZfX21pZGRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wYWllbWVudCB7XG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmtzIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGFjdCB7XG4gICAgICAgICAgICAvLyBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWVudSB7XG4gICAgICAgICAgICAvLyBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBERVNLVE9QIDogI3skc2NyZWVuLWxnfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG5cbiAgICAuc2l0ZV9fZm9vdGVyIHtcbiAgICAgICAgJl9fdG9wLFxuICAgICAgICAmX19taWRkbGUge1xuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNQUlOICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbm1haW5bcm9sZT1cImRvY3VtZW50XCJdIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAzO1xuXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJGltYWdlUGF0aCArICdiYWNrZ3JvdW5kL2hleGFnb25lNi5zdmcnKSwgdXJsKCAkaW1hZ2VQYXRoICsgJ2JhY2tncm91bmQvaGV4YWdvbmU3LnN2ZycpLCB1cmwoICRpbWFnZVBhdGggKyAnYmFja2dyb3VuZC9oZXhhZ29uZTguc3ZnJyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cdGJhY2tncm91bmQtc2l6ZTogNTB2dyBhdXRvLCA1MHZ3IGF1dG8sIDUwdncgYXV0bztcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAyNSUsIDAgNzUlLCAxMDAlIDYwJTtcblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBTRUNUSU9OIFJPVUdFIFwiRVNQQUNFIExPQ0FUQUlSRVwiICovXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdC5lc3BhY2VfbG9jYXRhaXJlIHtcblx0XHRwYWRkaW5nOiAycmVtIDFyZW07XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAkaW1hZ2VQYXRoICsgJ2JhY2tncm91bmQvZXNwYWNlLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuXHRcdGNvbG9yOiAkbGlnaHQ7XG5cblx0XHQmX190ZXh0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHB0cigxMnB4LCAkZnopO1xuXG5cdFx0XHRwIHtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Y29sb3I6ICRsaWdodDtcblxuXHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcHRyKDMwcHgsICRmeik7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0fVxuXHR9XG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0LyogU0VDVElPTiBKQVVORSBcIkVOIENBUyBEJ1VSR0VOQ0VcIiAqL1xuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQudXJnZW5jZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbDY7XG5cdFx0cGFkZGluZzogMnJlbSAxcmVtO1xuXG5cdFx0Jl9fdGV4dCB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgbm93cmFwLCBmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcblxuXHRcdFx0cCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGNvbG9yOiAkY29sMjtcblx0XHRcdFx0Zm9udC1zaXplOiBwdHIoMjBweCwgJGZ6KTtcblxuXHRcdFx0XHRpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHB0cigzMnB4LCAkZnopO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogcHRyKDEzcHgsICRmeik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYnRuIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cblx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19sZWdlbmQge1xuXHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IHB0cigxMXB4LCAkZnopO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRjb2xvcjogIzNGM0YzRjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSRVNQT05TSVZFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuXG5cdG1haW5bcm9sZT1cImRvY3VtZW50XCJdIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDI1dncgYXV0bywgMjV2dyBhdXRvLCAyNXZ3IGF1dG87XG5cdH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNNICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblxuXHRtYWluW3JvbGU9XCJkb2N1bWVudFwiXSB7XG5cdFx0LmVzcGFjZV9sb2NhdGFpcmUge1xuXHRcdFx0Jl9fdGV4dCB7XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC51cmdlbmNlIHtcblx0XHRcdCZfX3RleHQge1xuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHB0cigyNHB4LCAkZnopO1xuXG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHB0cig2NHB4LCAkZnopO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmX19sZWdlbmQge1xuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNRCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExHICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWEwgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xufVxuXG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZMQVNIREFUQSBNRVNTQUdFUyBBRE1JTiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWRtaW5fbWVzc2FnZSB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRiYWNrZ3JvdW5kOiByZ2IoMCwwLDApO1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsMCwwLDAuNikgMCUsIHJnYmEoMCwwLDAsMC45KSA1MCUpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsMCwwLDAuNikgMCUsIHJnYmEoMCwwLDAsMC45KSA1MCUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLDAsMCwwLjYpIDAlLCByZ2JhKDAsMCwwLDAuOSkgNTAlKTtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiMwMDAwMDBcIixlbmRDb2xvcnN0cj1cIiMwMDAwMDBcIixHcmFkaWVudFR5cGU9MSk7XG5cdHotaW5kZXg6IDk5OTtcblx0QGluY2x1ZGUgZmxleChmbGV4LCByb3csIG5vd3JhcCwgY2VudGVyLCBjZW50ZXIpO1xuXG5cdHAge1xuXHRcdHBhZGRpbmc6IDJyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogcHRyKDIwcHgsICRmeik7XG5cdH1cblxuXHQmLmVycm9yIHAge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cdFx0Y29sb3I6ICRsaWdodDtcblx0fVxuXG5cdCYuc3VjY2VzcyBwIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcztcblx0XHRjb2xvcjogJGxpZ2h0O1xuXHR9XG5cblx0Ji53YXJuaW5nIHAge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nO1xuXHRcdGNvbG9yOiAkbGlnaHQ7XG5cdH1cblxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSE9NRVBBR0UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhleGFnb25lX19iaWVudmVudWUge1xuXHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMztcblx0Y29sb3I6ICRsaWdodDtcblx0cGFkZGluZzogMTJ2aCAwO1xuXG5cdCZfX2lubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDcwdnc7XG5cdFx0aGVpZ2h0OiA4MHZ3O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIGNlbnRlciwgY2VudGVyKTtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoICRpbWFnZVBhdGggKyAnYmFja2dyb3VuZC9oZXhhZ29uZTEuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRwYWRkaW5nOiA1cHg7XG5cdH1cblxuXHRwIHtcblx0XHRjb2xvcjogJGxpZ2h0O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdG1hcmdpbjogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiA3dnc7XG5cdH1cbn1cblxuLnZvdHJlX19pbW1ldWJsZSB7XG5cdHBhZGRpbmc6IDAgNHZ3IDR2dyA0dnc7XG5cdGJvcmRlci1yYWRpdXM6IHB0cig2cHgsICRmeik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Jl9faGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcblx0XHRjb2xvcjogJGxpZ2h0O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHBhZGRpbmc6IHB0cig4cHgsICRmeikgMDtcblx0XHRmb250LXNpemU6IHB0cigyMHB4LCAkZnopO1xuXHRcdGJvcmRlci1yYWRpdXM6IHB0cig2cHgsICRmeikgcHRyKDZweCwgJGZ6KSAwIDA7XG5cdH1cblxuXHQmX19ib2R5IHtcblx0XHRwYWRkaW5nOiBwdHIoOHB4LCAkZnopO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2w1O1xuXHRcdGNvbG9yOiAkZGFyaztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAwIHB0cig2cHgsICRmeikgcHRyKDZweCwgJGZ6KTtcblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2JhdGltZW50IHtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSRVNQT05TSVZFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuXG5cdFxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcblxuXHRcblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTTSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cblx0LnZvdHJlX19pbW1ldWJsZSB7XG5cdFx0Jl9faGVhZGVyIHtcblx0XHRcdHBhZGRpbmc6IDFyZW0gMDtcblx0XHR9XG5cblx0XHQmX19ib2R5IHtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0fVxuXHR9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTUQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuXG5cdFxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExHICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcblxuXHRcblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYTCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG5cblx0XG5cbn1cblxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQQUdFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWdlIHtcblxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBEQVRFICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmX19kYXRlIHtcbiAgICAgICAgY29sb3I6ICRjb2wxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogVElUTEUgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHB0cig3MHB4LCAkZnopIDAgcHRyKDM0cHgsICRmeikgMDtcbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIENBVEVHT1JZICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmX19jYXRlZ29yeSB7XG4gICAgICAgIC5wYWdlIHtcbiAgICAgICAgICAgICZfX2NhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fY2F0ZWdvcmllIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBwdHIoNHB4LCAkZnopIDAgMDtcblxuICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBwdHIoOHB4LCAkZnopIHB0cigxNnB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmZjE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBFWENFUlBUICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmX19pbnRybyxcbiAgICAmX19leGNlcnB0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZmMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHRyKDEycHgsICRmeik7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAvKiBUSFVNQk5BSUwgKi9cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogUEFSVEFHRSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJi1zaGFyZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAycmVtIDFyZW07XG5cbiAgICAgICAgJl90aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IHB0cigyMnB4LCAkZnopO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNDdweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfbGlzdCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHB0cig0NHB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB0cig0NHB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcHRyKDQ0cHgsICRmeik7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbDM7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2wzO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2wyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLyogQ09OVEVOVSAqL1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCBwdHIoNDBweCwgJGZ6KTtcbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC8qIE9OR0xFVFMgREUgU09VUy1DT05URU5VICovXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmX190YWJzIHtcbiAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgbm93cmFwLCBjZW50ZXIsIGZsZXgtZW5kKTtcblxuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgICAgICAgICAgICAgJi50YWJzLWNvdW50LSN7JGl9IHtcbiAgICAgICAgICAgICAgICAgICAgLnRhYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyAjeyRpfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWIge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDE7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGN1YmljO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBwdHIoMjBweCwgJGZ6KSBwdHIoMTZweCwgJGZ6KTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGFyaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkY3ViaWM7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogJGN1YmljO1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogJGN1YmljO1xuICAgICAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiAkY3ViaWM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRjdWJpYztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFyaywgMC4zNSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIENvdWxldXJzIHNwZWNpZmlxdWVzXG4gICAgICAgICAgICAgICAgJi50YWItcHJvZmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wzO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnRhYi1pbmRpY2F0b3JzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYudGFiLXN0YWtlaG9sZGVycyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wzO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0YWIgYWN0aWZcbiAgICAgICAgICAgICAgICAmLnRhYi1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBwdHIoMzBweCwgJGZ6KSBwdHIoMTZweCwgJGZ6KTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB0cig4cHgsICRmeik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhZ2UtYW5jaG9ycyB7XG4gICAgICAgICAgICAudGFicyB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICAgICAgICAgLnRhYiB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kb2N1bWVudHMge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGZsZXgsIGNvbHVtbiwgbm93cmFwLCBmbGV4LWVuZCwgc3RyZXRjaCk7XG5cbiAgICAgICAgLmJ0biArIC5idG4ge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMHJlbSAwcmVtIDByZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHRyKDEycHgsICRmeik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ09OVEVOVSBERVMgVEFCUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50YWItY29udGVudCB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUkVTUE9OU0lWRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAucGFnZSB7XG4gICAgICAgICZfX2ludHJvLFxuICAgICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHRyKDE2cHgsICRmel94eHMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuXG4gICAgLnBhZ2Uge1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU00gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgIC5wYWdlIHtcbiAgICAgICAgJl9faW50cm8sXG4gICAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB0cigxNHB4LCAkZnopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGFicyB7XG5cbiAgICAgICAgICAgIC50YWJzIHtcbiAgICAgICAgICAgICAgICAudGFiIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcHRyKDIwcHgsICRmeikgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4wcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB0cigyMnB4LCAkZnopO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi50YWItYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHB0cigzMHB4LCAkZnopIDFyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNRCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgLnBhZ2Uge1xuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIC8qIFRpdHJlIGF2ZWMgaWNvbiAqL1xuICAgICAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LCByb3csIG5vd3JhcCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAgICAgICAgICAgLmljb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ludHJvLFxuICAgICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHRyKDE2cHgsICRmeik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190aHVtYm5haWwge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcywgZmlsdGVyIDFzIGxpbmVhcjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoJGRhcmssIC4yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190YWJzIHtcbiAgICAgICAgICAgIC50YWJzIHtcbiAgICAgICAgICAgICAgICAudGFiIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLnBhZ2UtYW5jaG9ycyB7XG4gICAgICAgICAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExHICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcblxuICAgIC5wYWdlIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW50cm8sXG4gICAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwdHIoMjRweCwgJGZ6X2xnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWItY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhMICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teGwpIHt9XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNJTkdMRVMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2luZ2xlIHtcblxuXHQuZGV0YWlscyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogdXJsKCRpbWFnZVBhdGggKyAnaWxsdXN0cmF0aW9uXzEuc3ZnJyk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogNHJlbTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDMwJTtcblx0XHRcdG1heC13aWR0aDogNDMzcHg7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgMCk7XG5cdFx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcblx0XHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgMCk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDApO1xuXHRcdFx0ei1pbmRleDogMDtcblx0XHRcdG9wYWNpdHk6IC41O1xuXHRcdH1cblx0fVxuXG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0LyogSU1BR0UgKi9cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0Jl9faW1hZ2Uge1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRcdGltZyB7XG5cdFx0XHRAaW5jbHVkZSBvYmpmaXQoKTtcblx0XHR9XG5cdH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBUSVRMRSAqL1xuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQmX190aXRsZSB7XG5cdFx0cGFkZGluZzogMXJlbSAwO1xuXG5cdFx0LnBhZ2UtdGl0bGUge1xuXHRcdFx0Y29sb3I6ICRjb2wzO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmZjI7XG5cdFx0XHRmb250LXNpemU6IDQ1cHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cdH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBUQUdTICovXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdCZfX3RhZ3Mge1xuXHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblxuXHRcdC50YWcge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdG1hcmdpbjogMCAxMHB4IDAgMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRcdHBhZGRpbmc6IDZweDtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2wyO1xuXHRcdFx0Y29sb3I6ICRsaWdodDtcblx0XHR9XG5cdH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBTSEFSRSAocGFydGFnZSBzdXIgbGVzIHJlc2VhdXggc29jaWF1eCkgKi9cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0Jl9fc2hhcmUge1xuXHRcdGNvbG9yOiAjOEY4RjhGO1xuXHRcdGZvbnQtZmFtaWx5OiAkZmYyO1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0cGFkZGluZy1ib3R0b206IDFyZW07XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4RjhGOEY7XG5cdFx0bWFyZ2luOiAxcmVtIDA7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjOEY4RjhGO1xuXHRcdH1cblx0XHRcblx0XHQ+IGRpdiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHB0cig0MHB4LCAkZnopO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cblx0XHQuc2hhcmUge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmX19wbGF0Zm9ybXMge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMTAwJTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0YmFja2dyb3VuZDogJGxpZ2h0O1xuXHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsMCwwLDAuMik7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnM7XG5cdFx0XHRcdC1tb3otdHJhbnNpdGlvbjogJHRyYW5zO1xuXHRcdFx0XHQtbXMtdHJhbnNpdGlvbjogJHRyYW5zO1xuXHRcdFx0XHQtby10cmFuc2l0aW9uOiAkdHJhbnM7XG5cdFx0XHRcdHRyYW5zaXRpb246ICR0cmFucztcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYtdG9nZ2xlIHtcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRcdCYgfiAuc2hhcmVfX3BsYXRmb3JtcyB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0LyogREVTQ1JJUFRJT04gKi9cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0Jl9fZGVzY3JpcHRpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IHB0cig0OHB4LCAkZnopO1xuXHR9XG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0LyogQ09OVEFDVCAqL1xuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQmX19jb250YWN0IHtcblxuXHRcdC5zZWN0aW9uX3RpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogcHRyKDM2cHgsICRmeik7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBwdHIoMThweCwgJGZ6KTtcblx0XHR9XG5cblx0XHQmX25hbWUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXG5cdFx0Jl93ZWJzaXRlIHtcblx0XHRcdG1hcmdpbi10b3A6IHB0cig0OHB4LCAkZnopO1xuXHRcdH1cblxuXHRcdCZfc29jaWFscyB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdC5idG4ge1xuXHRcdFx0XHR3aWR0aDogcHRyKDQ0cHgsICRmeik7XG5cdFx0XHRcdGhlaWdodDogcHRyKDQ0cHgsICRmeik7XG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRjb2wzO1xuXHRcdFx0XHRjb2xvcjogJGNvbDM7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBwdHIoNDBweCwgJGZ6KTtcblxuXHRcdFx0XHQ+IGkge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdC8qIFRBQlMgKi9cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0Jl9fdGFicyB7XG5cblx0XHQudGFicyB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LnRhYiB7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFxuXHRcdFx0XHQmLWJ1dHRvbiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xuXHRcdFx0XHRcdGNvbG9yOiAkY29sMztcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkZmYyO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDJyZW07XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNEOEQ4RDg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnRhYi1hY3RpdmUge1xuXHRcdFx0XHRcdC50YWItYnV0dG9uIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2wzO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRsaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnRhYi1jb250ZW50LW1vYmlsZSB7XG5cdFx0XHRcdC8vIHRhYi1jb250ZW50LWFjdGl2ZVxuXHRcdFx0XHRtYXgtaGVpZ2h0OiAwcmVtO1xuXHRcdFx0XHRwYWRkaW5nOiAwcmVtIDFyZW07XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zO1xuXHRcdFx0XHQtbW96LXRyYW5zaXRpb246ICR0cmFucztcblx0XHRcdFx0LW1zLXRyYW5zaXRpb246ICR0cmFucztcblx0XHRcdFx0LW8tdHJhbnNpdGlvbjogJHRyYW5zO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiAkdHJhbnM7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0Ji50YWItY29udGVudC1hY3RpdmUge1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDEwMHJlbTtcblx0XHRcdFx0XHRwYWRkaW5nOiAycmVtIDFyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQudGFiLWNvbnRlbnRzIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAycmVtIDA7XG5cdFx0fVxuXG5cdH1cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBQT1NUICovXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdCZfX3Bvc3Qge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XG5cblx0XHQmX19iYWNrIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcblx0XHR9XG5cblx0XHQmX19kYXRlX19pbWFnZSB7XG5cdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0Y29sb3I6ICRsaWdodDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdEBpbmNsdWRlIGRlZ3JhZGUoYmxldWJydWl0KTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogLTFweDtcblx0XHRcdFx0Ym90dG9tOiAtMXB4O1xuXHRcdFx0XHRyaWdodDogLTFweDtcblx0XHRcdFx0d2lkdGg6IDIwJTtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTVkZWcpO1xuXHRcdFx0XHQtbW96LXRyYW5zZm9ybTogc2tld1goLTE1ZGVnKTtcblx0XHRcdFx0LW1zLXRyYW5zZm9ybTogc2tld1goLTE1ZGVnKTtcblx0XHRcdFx0LW8tdHJhbnNmb3JtOiBza2V3WCgtMTVkZWcpO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHNrZXdYKC0xNWRlZyk7XG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0Jl9fZGF0ZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogM3JlbTtcblx0XHRcdFx0Y29sb3I6IHJnYmEoJGxpZ2h0LCAuMyk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogcHRyKDE4cHgsICRmeik7XG5cdFx0fVxuXG5cblx0XHQvKiBPdGhlciB0aXRsZXMgKi9cblx0XHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcdCZfX3N1YnRpdGxlIHtcblx0XHRcdG1hcmdpbjogMXJlbSAwO1xuXHRcdH1cblxuXHRcdCZfX2ltYWdlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jl9fZGV0YWlscyB7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcblx0XHRcdFx0XHRcdG1hcmdpbjogLjI1cmVtIDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAuMjVyZW07XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHB0cig5cHgsICRmeik7XG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmZjE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fc2VjdGlvbnMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0YyRjVGODtcblx0XHR9XG5cblx0XHQmX19jb250ZW51IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGMkY1Rjg7XG5cdFx0fVxuXG5cdFx0LyogTWVkaWF0aGVxdWVzICBkZXMgcG9zdHMgKi9cblx0XHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcdCZfX2F0dGFjaG1lbnRzIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdC5wb3N0X19jb250YWluZXIucG9zdC1ncmlkIHtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcblx0XHRcdFx0XHQmLnBvc3QtZ3JpZC0jeyRpfSB7XG5cdFx0XHRcdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCggJGkrMSwgbWlubWF4KDIwdmgsIDMwdmgpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuaXRlbSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0XHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogLjVyZW0gIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGRlZ3JhZGUoJ2JsZXV0cmFuc3BhcmVudCcpO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZmxleChmbGV4LCBjb2x1bW4sIG5vd3JhcCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuXG5cdFx0XHRcdFx0XHQmX190YWdzIHtcblx0XHRcdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdFx0XHRcdC50YWcge1xuXHRcdFx0XHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogcHRyKDhweCwgJGZ6KSBwdHIoMTZweCwgJGZ6KTtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbDE7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmZjE7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiBwdHIoMTJweCwgJGZ6KTtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHB0cig0cHgsICRmeik7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcHRyKDRweCwgJGZ6KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8qIEV2ZW5lbWVudHMgc3VnZ2VyZXMgKi9cblx0XHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcdCZfX290aGVycyB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzcmVtO1xuXHRcdFx0cGFkZGluZy10b3A6IDNyZW07XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkZGFyaywgLjUpO1xuXG5cdFx0XHQub3RoZXJfcG9zdHMge1xuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0LyogRVZFTlQgKi9cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0Jl9fZXZlbnQge1xuXHRcdCZfX2NvbnRlbnUge1xuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjg3NXJlbTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogJGNvbDM7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNvbnRlbnUge1xuXHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQuZGV0YWlscyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGMkY1Rjg7XG5cdFx0XHRcdHBhZGRpbmc6IDFyZW07XG5cblx0XHRcdFx0LnNpbmdsZV9fZXZlbnRfX2RldGFpbHMge1xuXHRcdFx0XHRcdCZfX3RpdGxlIHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCZfX3Byb2dyYW1tZSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCZfX2NpcmN1bGFpcmUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmX19jb250YWN0IHtcblx0XHRcdFx0XHRcdC5ub20sXG5cdFx0XHRcdFx0XHQudGVsZXBob25lLFxuXHRcdFx0XHRcdFx0LmVtYWlsLFxuXHRcdFx0XHRcdFx0LndlYnNpdGUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJFU1BPTlNJVkUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFhTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG5cblx0XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuXG5cdC5zaW5nbGUge1xuXHRcdC8qIENPTlRBQ1QgKi9cblx0XHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcdCZfX2NvbnRhY3Qge1xuXG5cdFx0XHQmX3dlYnNpdGUtbmV0d29ya3Mge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgbm93cmFwLCBzcGFjZS1iZXR3ZWVuLCBmbGV4LWVuZCk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQmX190aXRsZSB7XG5cdFx0XHQucGFnZS10aXRsZSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XHQvKiBQT1NUICovXG5cdFx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XHQmX19wb3N0IHtcblx0XHRcdCZfX2RhdGVfX2ltYWdlIHtcblx0XHRcdFx0QGluY2x1ZGUgZmxleChmbGV4LCByb3csIG5vd3JhcCwgZmxleC1zdGFydCwgY2VudGVyKTtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmX19jb250ZW50IHtcblx0XHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19pbWFnZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0Ym9yZGVyOiAzcHggc29saWQgd2hpdGU7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoJGRhcmssMC41KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2V2ZW50IHtcblxuXHRcdFx0LnNpbmdsZV9fcG9zdCB7XG5cdFx0XHRcdCZfX2ltYWdlIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0ei1pbmRleDogNTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR6LWluZGV4OiA1O1xuXG5cdFx0XHRcdFx0Jl9fZGF0ZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogI2JhYzJkNztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmX190aXRsZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICMxNTM3NzY7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHQuc2luZ2xlX19wb3N0X19kYXRlX19pbWFnZTphZnRlciB7XG5cdFx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRcdHotaW5kZXg6IDM7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2NvbnRlbnUge1xuXHRcdFx0XHRAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgbm93cmFwLCBmbGV4LXN0YXJ0LCBzdHJldGNoKTtcblxuXHRcdFx0XHQuY29udGVudSxcblx0XHRcdFx0LmRldGFpbHMge1xuXHRcdFx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU00gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXG5cdC5zaW5nbGUge1xuXHRcdCZfX3Bvc3Qge1xuXHRcdFx0Jl9fc2VjdGlvbnMsXG5cdFx0XHQmX19jb250ZW51IHtcblx0XHRcdFx0cGFkZGluZzogMXJlbTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fY29udGVudCB7XG5cdFx0XHRcdCZfX2RhdGUge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1EICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblxuXHQuc2luZ2xlIHtcblxuXHRcdCZfX3RhYnMge1xuXG5cdFx0XHQudGFicyB7XG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIGZsZXgtc3RhcnQsIGNlbnRlcik7XG5cblx0XHRcdFx0LnRhYi1jb250ZW50LW1vYmlsZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudGFiLWNvbnRlbnRzIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcG9zdCB7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblxuXHRcdFx0Jl9fYmFjayB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0fVxuXHRcdFx0Jl9fZGF0ZV9faW1hZ2Uge1xuXHRcdFx0XHRwYWRkaW5nOiAzcmVtIDFyZW07XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDIwJTtcblx0XHRcdFx0XHRAaW5jbHVkZSBkZWdyYWRlKGJsZXVicnVpdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jl9fY29udGVudCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdH1cblxuXHRcdFx0Jl9fdGl0bGUge1xuXHRcdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHR9XG5cblx0XHRcdCZfX2ltYWdlIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19hdHRhY2htZW50cyB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDNyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fZXZlbnQge1xuXHRcdFx0Jl9fY29udGVudSB7XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29sMjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExHICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcblxuXHQuc2luZ2xlIHtcblx0XHQmX19ldmVudCB7XG5cdFx0XHQmX19jb250ZW51IHtcblx0XHRcdFx0LmNvbnRlbnUsXG5cdFx0XHRcdC5kZXRhaWxzIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAzcmVtIDJyZW07XG5cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYTCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG5cblx0LnNpbmdsZSB7XG5cdFx0Jl9fcG9zdCB7XG5cdFx0XHQmX19jb250ZW50IHtcblx0XHRcdFx0Jl9fZGF0ZSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA5cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cblxuXG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENBUlRFIElOVEVSQUNUSVZFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvbnRlbmV1ciBkZSBtYXAgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jbWFwIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdXJjaGFyZ2UgZHUgc3R5bGUgTGVhZmxldCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5sZWFmbGV0LWxlZnQge1xuXHQubGVhZmxldC1jb250cm9sIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmxlYWZsZXQtYmFyIHtcblx0YSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbDIgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJGxpZ2h0ICFpbXBvcnRhbnQ7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2wzICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG5cdGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Y29sb3I6ICRkYXJrO1xuXHRcdC8vIEBleHRlbmQgLmljbjtcblx0XHQvLyBAZXh0ZW5kIC5pY24tY3Jvc3M7XG5cdFx0d2lkdGg6IHB0cigyNHB4LCAkZnopO1xuXHRcdGhlaWdodDogcHRyKDI0cHgsICRmeik7XG5cdFx0dG9wOiAxMHB4O1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHRcdGZvbnQtc2l6ZTogcHRyKDI0cHgsICRmeik7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XG5cdH1cbn1cblxuLmxlYWZsZXQtbWFya2VyLXBhbmUge1xuXHRcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhZ2UgbWFwICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBhZ2UtbWFwIHtcblx0bWFyZ2luOiBwdHIoMzJweCwgJGZ6KSAwIHB0cig0MHB4LCAkZnopIDA7XG5cblx0LmNhdGVnb3JpZXMge1xuXHRcdCYtdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcblx0XHRcdGNvbG9yOiAkbGlnaHQ7XG5cdFx0XHRmb250LWZhbWlseTogJGZmMjtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdH1cblxuXHRcdCYtbGlzdCB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogMWVtO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgNTUsIDg5LCAwLjE1KTtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0Ji1pdGVtIHtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNhdGVnb3J5X2ZpbHRlciB7XG5cdFx0XHQ+IGkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHB0cig0MHB4LCAkZnopO1xuXHRcdFx0XHRjb2xvcjogJGxpZ2h0O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0XHR3aWR0aDogcHRyKDQwcHgsICRmeik7XG5cdFx0XHRcdGhlaWdodDogcHRyKDQwcHgsICRmeik7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IHB0cig0MHB4LCAkZnopO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHRcdHRyYW5zaXRpb246ICRjdWJpYzI7XG5cdFx0XHR9XG5cblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0PiBpIHtcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0XHRcdFx0XHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0XHRcdFx0XHQtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHRcdFx0XHRcdC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdSSUxMRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wb2ktZ3JpZCB7XG5cdG1hcmdpbjogMnJlbSAwO1xuXG5cdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCB3cmFwLCBmbGV4LXN0YXJ0LCBzdHJldGNoKTtcblxuXHQuaXRlbS1wb2kge1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXHRcdD4gYSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoJGRhcmssIDAuMSk7XG5cblx0XHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIGZsZXgtc3RhcnQsIHN0cmV0Y2gpO1xuXHRcdH1cblxuXHRcdCYtaW1hZ2Uge1xuXHRcdFx0ZmxleC1iYXNpczogMjUlO1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRAaW5jbHVkZSBvYmpGaXQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji1jb250ZW50IHtcblx0XHRcdGZsZXgtYmFzaXM6IDc1JTtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0fVxuXG5cdFx0Ji10aXRsZSB7XG5cdFx0XHRwIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmZjI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcHRyKDE4cHgsICRmeik7XG5cdFx0XHRcdGNvbG9yOiAkY29sMTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtY2F0ZWdvcmllcyB7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdGNvbG9yOiAkZGFyaztcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmZjE7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcHRyKDE0cHgsICRmeik7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUkVTUE9OU0lWRSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHt9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG5cdC5jb2xfZmlsdGVycyB7XG5cdFx0bWFyZ2luOiAycmVtIDA7XG5cdH1cblxuXHRib2R5LnNpbmdsZS1hc3NvY2lhdGlvbiB7XG5cdFx0LnBvc3Qge1xuXHRcdFx0Ji1pbWFnZSB7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNNICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHt9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNRCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7fVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTEcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuXHQucGFnZS1tYXAge1xuXHRcdC5jYXRlZ29yaWVzIHtcblx0XHRcdCYtbGlzdCB7XG5cdFx0XHRcdHBhZGRpbmc6IDJyZW0gMXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKiBHUklMTEUgKi9cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0LnBvaS1ncmlkIHtcblx0XHQuaXRlbS1wb2kge1xuXHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcblxuXHRcdFx0PiBhIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoJGRhcmssIDAuMSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhMICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teGwpIHt9XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENPTlRBQ1QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTRVJWSUNFIFJFTEFUSU9OUyBDTElFTlRTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnJlbGF0aW9uIHtcblx0Y29sb3I6ICRsaWdodDtcblx0cGFkZGluZzogcHRyKDIwcHgsICRmeikgMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2wyO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICRpbWFnZVBhdGggKyAnYmFja2dyb3VuZC9tZXNzYWdlLnN2ZycpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG5cblx0aDIge1xuXHRcdGNvbG9yOiAkbGlnaHQ7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiBwdHIoMTNweCwgJGZ6KTtcblx0fVxuXG5cdCZfX2J1dHRvbnMge1xuXHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgY29sdW1uLCBub3dyYXAsIGZsZXgtc3RhcnQsIGNlbnRlcik7XG5cblx0XHQuYnRuIHtcblx0XHRcdHdpZHRoOiA5MCU7XG5cdFx0XHRtYXgtd2lkdGg6IHB0cigzMDBweCwgJGZ6KTtcblxuXHRcdFx0JiArIC5idG4ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIElOVEVSTE9DVVRFVVJTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmludGVybG9jdXRldXJzIHtcblx0cGFkZGluZzogcHRyKDQwcHgsICRmeikgMDtcblxuXHRoMiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogJGNvbDM7XG5cdFx0Zm9udC1zaXplOiBwdHIoMjdweCwgJGZ6KTtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiBwdHIoODBweCwgJGZ6KTtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG5cdFx0XHRtYXJnaW46IDRweCBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiBwdHIoMjhweCwgJGZ6KTtcblxuXHRcdCZfX2xhYmVsIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0fVxuXG5cdFx0Jl9fY2F0ZWdvcnkge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBwdHIoNnB4LCAkZnopO1xuXHRcdH1cblxuXHRcdCZfX2NvbnRhaW5lciB7XG5cdFx0XHRtYXJnaW46IHB0cig4cHgsICRmeikgMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHB0cig2cHgsICRmeik7XG5cdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQ7XG5cblx0XHRcdCYueWVsbG93IHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sNjtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sNiwgMC4wNSk7XG5cblx0XHRcdFx0LmludGVybG9jdXRldXJzX19pdGVtX19jYXRlZ29yeSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRjb2w2O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLnJlZCB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbDM7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbDMsIDAuMDUpO1xuXG5cdFx0XHRcdC5pbnRlcmxvY3V0ZXVyc19faXRlbV9fY2F0ZWdvcnkge1xuXHRcdFx0XHRcdGNvbG9yOiAkY29sMztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5ibHVlIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sMjtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sMiwgMC4wNSk7XG5cblx0XHRcdFx0LmludGVybG9jdXRldXJzX19pdGVtX19jYXRlZ29yeSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRjb2wyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBR0VOQ0UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWdlbmNlIHtcblxuXHRoMiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogJGNvbDM7XG5cdFx0Zm9udC1zaXplOiBwdHIoMjdweCwgJGZ6KTtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiBwdHIoODBweCwgJGZ6KTtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbDM7XG5cdFx0XHRtYXJnaW46IDRweCBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdCZfX2hvcmFpcmVzIHtcblx0XHRwYWRkaW5nOiAwIDB2dyA0dncgMHZ3O1xuXHRcdGJvcmRlci1yYWRpdXM6IHB0cig2cHgsICRmeik7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdCZfX2hlYWRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sMjtcblx0XHRcdGNvbG9yOiAkbGlnaHQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRwYWRkaW5nOiBwdHIoOHB4LCAkZnopIDA7XG5cdFx0XHRmb250LXNpemU6IHB0cigyMHB4LCAkZnopO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogcHRyKDZweCwgJGZ6KSBwdHIoNnB4LCAkZnopIDAgMDtcblx0XHR9XG5cblx0XHQmX19ib2R5IHtcblx0XHRcdHBhZGRpbmc6IHB0cig4cHgsICRmeik7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sNTtcblx0XHRcdGNvbG9yOiAkZGFyaztcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwIHB0cig2cHgsICRmeikgcHRyKDZweCwgJGZ6KTtcblxuXHRcdFx0Jl9fbGFiZWwge1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0XHR9XG5cblx0XHRcdCZfX3RleHQge1xuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblx0fVxuXG5cdCZfX2Nvb3JkcyB7XG5cdFx0cGFkZGluZzogMCAwdncgNHZ3IDB2dztcblx0XHRib3JkZXItcmFkaXVzOiBwdHIoNnB4LCAkZnopO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQmX19oZWFkZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbDI7XG5cdFx0XHRjb2xvcjogJGxpZ2h0O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0cGFkZGluZzogcHRyKDhweCwgJGZ6KSAwO1xuXHRcdFx0Zm9udC1zaXplOiBwdHIoMjBweCwgJGZ6KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHB0cig2cHgsICRmeikgcHRyKDZweCwgJGZ6KSAwIDA7XG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRwYWRkaW5nOiBwdHIoOHB4LCAkZnopO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbDU7XG5cdFx0XHRjb2xvcjogJGRhcms7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCBwdHIoNnB4LCAkZnopIHB0cig2cHgsICRmeik7XG5cblx0XHRcdCZfX2xhYmVsIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQmX190ZXh0IHtcblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSRVNQT05TSVZFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERFU0tUT1AgOiAjeyRzY3JlZW4tbGd9IHB4ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbGcpIHt9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUQUJMRVRQIDogI3skc2NyZWVuLW1kfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRBQkxFVCA6ICN7JHNjcmVlbi1zbX0gcHggKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge31cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRBQkxFIDogI3skc2NyZWVuLXhzfSBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzKSB7fVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTU9CSUxFUCA6ICN7JHNjcmVlbi14eHN9IHB4ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHhzKSB7fVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQUkVTVEFUQUlSRVMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnByZXN0YXRhaXJlIHtcblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBJVEVNICovXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdCZfX2l0ZW0ge1xuXHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblx0XHRib3JkZXItcmFkaXVzOiBwdHIoNnB4LCAkZnopO1xuXHRcdGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKCRkYXJrLCAwLjQpO1xuXG5cdFx0Jl9faGVhZGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2wyO1xuXHRcdFx0Y29sb3I6ICRsaWdodDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdHBhZGRpbmc6IHB0cig4cHgsICRmeikgMDtcblx0XHRcdGZvbnQtc2l6ZTogcHRyKDIwcHgsICRmeik7XG5cdFx0XHRib3JkZXItcmFkaXVzOiBwdHIoNnB4LCAkZnopIHB0cig2cHgsICRmeikgMCAwO1xuXHRcdH1cblxuXHRcdCZfX2JvZHkge1xuXHRcdFx0cGFkZGluZzogcHRyKDhweCwgJGZ6KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2w1O1xuXHRcdFx0Y29sb3I6ICRkYXJrO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgcHRyKDZweCwgJGZ6KSBwdHIoNnB4LCAkZnopO1xuXG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3RleHQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHR9XG5cblx0XHQmX19saW5rIHtcblx0XHRcdG1hcmdpbi10b3A6IHB0cigxMHB4LCAkZnopO1xuXHRcdH1cblxuXHR9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSRVNQT05TSVZFICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhYUyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuXG5cdFxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcblxuXHRcblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTTSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cblx0LnByZXN0YXRhaXJlIHtcblx0XHQmX19pdGVtcyB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4KGZsZXgsIHJvdywgd3JhcCwgY2VudGVyLCBmbGV4LXN0YXJ0KTtcblx0XHR9XG5cblx0XHQmX19pdGVtIHtcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuXHRcdFx0bWFyZ2luOiAwIC41cmVtIDFyZW0gLjVyZW07XG5cdFx0fVxuXHR9XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTUQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuXG5cdFxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExHICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcblxuXHQucHJlc3RhdGFpcmUge1xuXHRcdCZfX2l0ZW1zIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCB3cmFwLCBmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcblx0XHR9XG5cblx0XHQmX19pdGVtIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMXJlbSk7XG5cdFx0XHRtYXJnaW46IDAgLjVyZW0gMXJlbSAuNXJlbTtcblx0XHR9XG5cdH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBYTCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG5cblx0XG5cbn1cblxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQUkVTVEFUQUlSRVMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmRvY3VtZW50IHtcblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBJVEVNICovXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdCZfX2l0ZW0ge1xuXHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblx0XHRib3JkZXItcmFkaXVzOiBwdHIoNnB4LCAkZnopO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkO1xuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRwYWRkaW5nOiBwdHIoOHB4LCAkZnopO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgcHRyKDZweCwgJGZ6KSBwdHIoNnB4LCAkZnopO1xuXG5cdFx0XHQmX19sYWJlbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuXG5cdFx0XHRcdGkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcHRyKDI0cHgsICRmeik7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBwdHIoMTFweCwgJGZ6KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXG5cdFx0XHRcdFx0Lm5vbSB7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19saW5rcyB7XG5cdFx0XHRtYXJnaW4tdG9wOiBwdHIoMTBweCwgJGZ6KTtcblx0XHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCBub3dyYXAsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcblxuXG5cdFx0XHQuYnRuIHtcblx0XHRcdFx0Zm9udC1zaXplOiBwdHIoMTNweCwgJGZ6KTtcblx0XHRcdFx0bWFyZ2luOiAwIDAuMjVyZW07XG5cdFx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogQ29tbXVucyA6IGJsZXVzICovXG5cdFx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XHQmLmNvbW11biB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjb2wyO1xuXHRcdFx0Y29sb3I6ICRjb2wyO1xuXG5cdFx0XHQuZG9jdW1lbnRfX2l0ZW1fX2JvZHkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2wyLCAwLjEpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8qIFNww6ljaWZpcXVlcyA6IHJvdWdlcyAqL1xuXHRcdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFx0Ji5zcGVjaWZpcXVlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGNvbDM7XG5cdFx0XHRjb2xvcjogJGNvbDM7XG5cblx0XHRcdC5kb2N1bWVudF9faXRlbV9fYm9keSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbDMsIDAuMSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJFU1BPTlNJVkUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFhTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG5cblx0XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogWFMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuXG5cdFxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNNICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblxuXHQuZG9jdW1lbnQge1xuXHRcdCZfX2l0ZW1zIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoZmxleCwgcm93LCB3cmFwLCBjZW50ZXIsIGZsZXgtc3RhcnQpO1xuXHRcdH1cblxuXHRcdCZfX2l0ZW0ge1xuXHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG5cdFx0XHRtYXJnaW46IDAgLjVyZW0gMXJlbSAuNXJlbTtcblx0XHR9XG5cdH1cblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNRCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cblx0XG5cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTEcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuXG5cdC5kb2N1bWVudCB7XG5cdFx0Jl9faXRlbXMge1xuXHRcdFx0QGluY2x1ZGUgZmxleChmbGV4LCByb3csIHdyYXAsIGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuXHRcdH1cblxuXHRcdCZfX2l0ZW0ge1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLyAzIC0gMXJlbSApO1xuXHRcdH1cblx0fVxuXG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFhMICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcblxuXHRcblxufVxuXG4iLCJAbWVkaWEgcHJpbnQge1xuXHRoZWFkZXIsXG5cdGZvb3RlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5wYWdlX19icmVhZGNydW1icyxcblx0Lm9ubHktbWVtYmVycywgXG5cdC5idG4ucHJpbnQsXG5cdC5yZXN1bHRhdHNfX2RvY3VtZW50cyxcblx0LmFnZW5kYV9fc2luZ2xlX19uZXh0LFxuXHQuYWdlbmRhX19zaW5nbGVfX3ByZXYsXG5cdC5zY3JvbGx0b3RvcFxuXHR7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsbUJBQW1CO0FDQW5CLDJEQUEyRDtBQUMzRCwyREFBMkQ7QUFDM0QsZUFBZTtBQUNmLDJEQUEyRDtBQUMzRCwyREFBMkQ7QUFHM0QsMkRBQTJEO0FBQzNELFdBQVc7QUFDWCwyREFBMkQ7QUFLM0QsMkRBQTJEO0FBQzNELGNBQWM7QUFDZCwyREFBMkQ7QUFJM0QseUJBQXlCO0FBQ3pCLDJEQUEyRDtBQUUzRCxVQUFVO0FBQ00sa0JBQWtCO0FBQ2xCLGdCQUFnQjtBQUNoQixXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLGdCQUFnQjtBQUNoQixXQUFXO0FBQ1gsZ0JB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 */
