@charset "UTF-8";
@font-face {
  font-family: 'icons';
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/icons.eot");
  src: url("../fonts/icons.woff") format("woff"), url("../fonts/icons.ttf") format("truetype"), url("../fonts/icons.eot?#iefix") format("embedded-opentype"); }

section .main-slideshow {
    max-width: 1920px;
}

.icon, .header .phone:before, .stores-list-container .stores-list__item__date.title:before,
.icon[class^="icon-"],
.header [class^="icon-"].phone:before,
.stores-list-container [class^="icon-"].stores-list__item__date.title:before,
.icon[class*=" icon-"],
.header [class*=" icon-"].phone:before,
.stores-list-container [class*=" icon-"].stores-list__item__date.title:before {
  display: inline-block;
  font-family: 'icons';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-transform: none; }

.icon-select:before, .stores-list-container .stores-list__item__date.title:before {
  content: ""; }

.icon-camera:before {
  content: ""; }

.icon-facebook:before {
  content: ""; }

.icon-lamp:before {
  content: ""; }

.icon-link:before {
  content: ""; }

.icon-more:before {
  content: ""; }

.icon-newsletter:before {
  content: ""; }

.icon-phone:before, .header .phone:before {
  content: ""; }

.icon-map:before {
  content: ""; }

.icon-location:before {
  content: ""; }

.icon-close:before {
  content: ""; }

.icon-next:before {
  content: ""; }

.icon-beaute-sante:before {
  content: ""; }

.icon-bebes-enfants:before {
  content: ""; }

.icon-bijouteries-horlogeries:before {
  content: ""; }

.icon-chaussures:before {
  content: ""; }

.icon-culture-loisirs-tourisme:before {
  content: ""; }

.icon-gouts-saveurs:before {
  content: ""; }

.icon-hotels-restaurants-cafes:before {
  content: ""; }

.icon-maison-decoration:before {
  content: ""; }

.icon-mode-accessoires:before {
  content: ""; }

.icon-multimedia-bureautique:before {
  content: ""; }

.icon-services:before {
  content: ""; }

.icon-supermarches-generalistes:before {
  content: ""; }

.icon-filter:before {
  content: ""; }

.icon-calendar:before {
  content: ""; }

.icon-contact:before {
  content: ""; }

.icon-actualites:before {
  content: ""; }

.icon-menu:before {
  content: ""; }

.icon-cityshopping:before {
  content: ""; }

.icon-prev:before {
  content: ""; }

.icon-information:before {
  content: ""; }

.icon-edit:before {
  content: ""; }

.icon-trash:before {
  content: ""; }

/* Generated by Font Squirrel (https://www.fontsquirrel.com) on April 24, 2016 */
@font-face {
  font-family: 'josefin_sansbold';
  src: url("../fonts/josefinsans-bold-webfont.eot");
  src: url("../fonts/josefinsans-bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-bold-webfont.woff2") format("woff2"), url("../fonts/josefinsans-bold-webfont.woff") format("woff"), url("../fonts/josefinsans-bold-webfont.ttf") format("truetype"), url("../fonts/josefinsans-bold-webfont.svg#josefin_sansbold") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansbold_italic';
  src: url("../fonts/josefinsans-bolditalic-webfont.eot");
  src: url("../fonts/josefinsans-bolditalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-bolditalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-bolditalic-webfont.woff") format("woff"), url("../fonts/josefinsans-bolditalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-bolditalic-webfont.svg#josefin_sansbold_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansitalic';
  src: url("../fonts/josefinsans-italic-webfont.eot");
  src: url("../fonts/josefinsans-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-italic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-italic-webfont.woff") format("woff"), url("../fonts/josefinsans-italic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-italic-webfont.svg#josefin_sansitalic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanslight';
  src: url("../fonts/josefinsans-light-webfont.eot");
  src: url("../fonts/josefinsans-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-light-webfont.woff2") format("woff2"), url("../fonts/josefinsans-light-webfont.woff") format("woff"), url("../fonts/josefinsans-light-webfont.ttf") format("truetype"), url("../fonts/josefinsans-light-webfont.svg#josefin_sanslight") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanslight_italic';
  src: url("../fonts/josefinsans-lightitalic-webfont.eot");
  src: url("../fonts/josefinsans-lightitalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-lightitalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-lightitalic-webfont.woff") format("woff"), url("../fonts/josefinsans-lightitalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-lightitalic-webfont.svg#josefin_sanslight_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansregular';
  src: url("../fonts/josefinsans-regular-webfont.eot");
  src: url("../fonts/josefinsans-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-regular-webfont.woff2") format("woff2"), url("../fonts/josefinsans-regular-webfont.woff") format("woff"), url("../fonts/josefinsans-regular-webfont.ttf") format("truetype"), url("../fonts/josefinsans-regular-webfont.svg#josefin_sansregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanssemibold';
  src: url("../fonts/josefinsans-semibold-webfont.eot");
  src: url("../fonts/josefinsans-semibold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-semibold-webfont.woff2") format("woff2"), url("../fonts/josefinsans-semibold-webfont.woff") format("woff"), url("../fonts/josefinsans-semibold-webfont.ttf") format("truetype"), url("../fonts/josefinsans-semibold-webfont.svg#josefin_sanssemibold") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanssemibold_italic';
  src: url("../fonts/josefinsans-semibolditalic-webfont.eot");
  src: url("../fonts/josefinsans-semibolditalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-semibolditalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-semibolditalic-webfont.woff") format("woff"), url("../fonts/josefinsans-semibolditalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-semibolditalic-webfont.svg#josefin_sanssemibold_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansthin';
  src: url("../fonts/josefinsans-thin-webfont.eot");
  src: url("../fonts/josefinsans-thin-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-thin-webfont.woff2") format("woff2"), url("../fonts/josefinsans-thin-webfont.woff") format("woff"), url("../fonts/josefinsans-thin-webfont.ttf") format("truetype"), url("../fonts/josefinsans-thin-webfont.svg#josefin_sansthin") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansthin_italic';
  src: url("../fonts/josefinsans-thinitalic-webfont.eot");
  src: url("../fonts/josefinsans-thinitalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-thinitalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-thinitalic-webfont.woff") format("woff"), url("../fonts/josefinsans-thinitalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-thinitalic-webfont.svg#josefin_sansthin_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

* {
  box-sizing: border-box; }

body {
  background-color: #fff;
  font-family: 'josefin_sansregular'; }

a {
  /*color: #b9dac9; */
  color: #50aeb7; 

}

strong {
  font-weight: normal;
  font-family: 'josefin_sansbold'; }

img {
  max-width: 100%; }

.container, .prev-next-post {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 70em;
  margin-left: auto;
  margin-right: auto; }
  .container:after, .prev-next-post:after {
    content: " ";
    display: block;
    clear: both; }
  .container.no-padding, .no-padding.prev-next-post {
    padding-right: 0;
    padding-left: 0; }

.container_button {
  text-align: right; }

.col-xs-12 {
  float: none;
  width: 100%; }

@media (min-width: 992px) {
  .col-md-3 {
    width: 24.09639%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-3.last {
      width: 24.09639%;
      float: right;
      margin-right: 0; }
  .col-md-4 {
    width: 32.53012%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-4.last {
      width: 32.53012%;
      float: right;
      margin-right: 0; }
  .col-md-6 {
    width: 49.39759%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-6.last {
      width: 49.39759%;
      float: right;
      margin-right: 0; }
  .col-md-8 {
    width: 66.26506%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-8.last {
      width: 66.26506%;
      float: right;
      margin-right: 0; }
  .col-md-12 {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0; }
    .col-md-12.last {
      width: 100%;
      float: right;
      margin-right: 0; } }

.content-wrapper:after {
  content: "";
  display: table;
  clear: both; }

.content-wrapper .image-container {
  margin: 0 auto; }
  .content-wrapper .image-container > img {
    display: block;
    margin: 0 auto; }

@media (min-width: 992px) {
  .content.with-sidebar {
    float: right;
    width: 74.6988%; } }

@media (min-width: 992px) {
  .sidebar {
    float: left;
    margin-right: 1.20482%;
    width: 24.09639%; } }

.header {
  position: relative;
  padding-top: 4rem; }
  @media (min-width: 992px) {
    .header {
      margin: 0 0 2rem 0;
      padding: 1em 0 0 0; } }
  .header .container, .header .prev-next-post {
    display: table;
    width: 100%; }

.content-main, .content-photos {
  margin: 2rem 0; }
  @media (min-width: 992px) {
    .content-main, .content-photos {
      float: right;
      margin: 4rem 0 0;
      width: 66.26506%; } }

.content-photos {
  margin: 2rem 0; }
  @media (min-width: 992px) {
    .content-photos {
      margin: 0; } }

.content-sidebar {
  margin: 4rem 0 2rem 0; }
  @media (min-width: 992px) {
    .content-sidebar {
      float: left;
      margin: 5rem 0 3rem 0;
      margin-right: 1.20482%;
      width: 19.87952%; } }

.post-container {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem; }

.news {
  margin: 6rem 0; }

.sidebar {
  position: relative;
  min-height: 3rem; }
  .sidebar.right {
    position: fixed;
    right: 0;
    bottom: 30px;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }

#go_up .button {
  /*background-color: #b9dac9; */
  background-color: #50aeb7; 

}
  #go_up .button.hover:hover {
    /*background-color: #a4c8b7;*/
    background-color: #428e95;
  }

.footer {
  /*
      Modif
  */
  /*margin-bottom: 7px;
  padding-bottom: 2rem;*/

  /*
      End modif
  */
  /*background-color: #b9dac9;*/
  background-color: #50aeb7;
  text-align: right; }
  @media (min-width: 992px) {
    .footer {
        /*
            Modif
        */
        /*padding-bottom: 6rem;*/
        padding-bottom:1rem;
        /*
            End modif
        */ 
    }
  }

/**
 * @package   PickMeUp - jQuery datepicker plugin
 * @author    Nazar Mokrynskyi <nazar@mokrynskyi.com>
 * @author    Stefan Petre <www.eyecon.ro>
 * @copyright Copyright (c) 2013-2015, Nazar Mokrynskyi
 * @copyright Copyright (c) 2008-2009, Stefan Petre
 * @license   MIT License, see license.txt
 */
.pickmeup {
  background: #000;
  border-radius: 0.4em;
  box-sizing: content-box;
  display: none;
  position: absolute; }
  .pickmeup * {
    box-sizing: border-box; }
  .pickmeup .pmu-instance {
    display: inline-block;
    height: 13.8em;
    padding: .5em;
    text-align: center;
    width: 15em; }
    .pickmeup .pmu-instance .pmu-button {
      color: #eee;
      cursor: pointer;
      outline: none;
      text-decoration: none; }
    .pickmeup .pmu-instance .pmu-today {
      background: #17384d;
      color: #88c5eb; }
    .pickmeup .pmu-instance .pmu-button:hover {
      background: transparent;
      color: #88c5eb; }
    .pickmeup .pmu-instance .pmu-not-in-month {
      color: #666; }
    .pickmeup .pmu-instance .pmu-disabled,
    .pickmeup .pmu-instance .pmu-disabled:hover {
      color: #333;
      cursor: default; }
    .pickmeup .pmu-instance .pmu-selected {
      background: #136a9f;
      color: #eee; }
    .pickmeup .pmu-instance .pmu-not-in-month.pmu-selected {
      background: #17384d; }
    .pickmeup .pmu-instance nav {
      color: #eee;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      line-height: 2em; }
      .pickmeup .pmu-instance nav *:first-child :hover {
        color: #88c5eb; }
      .pickmeup .pmu-instance nav .pmu-prev,
      .pickmeup .pmu-instance nav .pmu-next {
        display: none;
        height: 2em;
        width: 1em; }
      .pickmeup .pmu-instance nav .pmu-month {
        width: 14em; }
    .pickmeup .pmu-instance .pmu-years *,
    .pickmeup .pmu-instance .pmu-months * {
      display: inline-block;
      line-height: 3.6em;
      width: 3.5em; }
    .pickmeup .pmu-instance .pmu-day-of-week {
      color: #999;
      cursor: default; }
    .pickmeup .pmu-instance .pmu-day-of-week *,
    .pickmeup .pmu-instance .pmu-days * {
      display: inline-block;
      line-height: 1.5em;
      width: 2em; }
    .pickmeup .pmu-instance .pmu-day-of-week * {
      line-height: 1.8em; }
  .pickmeup .pmu-instance:first-child .pmu-prev,
  .pickmeup .pmu-instance:last-child .pmu-next {
    display: block; }
  .pickmeup .pmu-instance:first-child .pmu-month,
  .pickmeup .pmu-instance:last-child .pmu-month {
    width: 13em; }
  .pickmeup .pmu-instance:first-child:last-child .pmu-month {
    width: 12em; }
  .pickmeup:not(.pmu-view-days) .pmu-days,
  .pickmeup:not(.pmu-view-days) .pmu-day-of-week,
  .pickmeup:not(.pmu-view-months) .pmu-months,
  .pickmeup:not(.pmu-view-years) .pmu-years {
    display: none; }

.ads {
  margin-top: 3rem;
  margin-bottom: 6rem; }
  .ads a {
    display: block;
    float: left;
    margin-left: 1.20482%;
    width: 49.39759%; }
    .ads a img {
      width: 100%; }
    .ads a:first-child {
      margin-left: 0; }

.breadcrumb {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem; }
  .breadcrumb a,
  .breadcrumb .breadcrumb_last {
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.9rem;
    color: #000;
    margin-left: 0.4rem; }
  .breadcrumb .breadcrumb_last {
    /*color: #b9dac9; */
    color: #50aeb7; 

  }
  .breadcrumb .icon, .breadcrumb .header .phone:before, .header .breadcrumb .phone:before, .breadcrumb .stores-list-container .stores-list__item__date.title:before, .stores-list-container .breadcrumb .stores-list__item__date.title:before {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.4rem;
    font-size: 0.6em; }

.button {
  display: inline-block;
  padding: 1em 1.5em;
  border: solid 2px transparent;
  border-radius: 3rem;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
  font-size: .9rem;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none; }
  .button.primary {
    background-color: #000; }
  .button.secondary {
    border-color: #fff; }
  .button.transparent {
    background-color: transparent; }
  .button.hover:hover {
    /*background-color: #a4c8b7;*/
    background-color: #428e95;

  }
  .button.green {
    /*background-color: #b9dac9; */
    background-color: #50aeb7; 

  }
  .button.small {
    padding: 0.6em 1em; }
  .button.seeroad {
    margin-top: -90px; }
  .button.right {
    float: right; }
  .button.ligne-2 {
    padding: 1em 0.5em; }
  .button.title {
    padding: 1em 2em;
    /*border: #b9dac9;*/
    border: #50aeb7;
    /*background-color: #b9dac9;*/
    background-color: #50aeb7;
    cursor: default; }
    @media (max-width: 767px) {
      .button.title {
        display: block;
        margin: 2em 0; } }

.btn-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #000;
  color: #fff;
  text-align: center;
  line-height: 3rem !important;
  cursor: pointer; }
  @media (min-width: 992px) {
    .btn-menu {
      display: none !important; } }

.btn-close {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #fff;
  color: #000;
  cursor: pointer;
  text-align: center;
  line-height: 3rem !important; }
  .btn-close:before {
    font-size: 1.6em; }

.form-contact > div {
  margin-bottom: 1em; }

.form-contact .button-container {
  text-align: right; }

.contact-map-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
  height: 200px;
  /*background-color: #b9dac9; */
  background-color: #50aeb7; 

}
  @media (min-width: 992px) {
    .contact-map-container {
      margin-bottom: 6rem; }
      .contact-map-container:after {
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        width: 50%;
        height: 100%;
        background-image: url("../img/bg-contact.jpg");
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        content: ''; } }
  .contact-map-container .map {
    width: 100%;
    height: 100%; }
    @media (min-width: 992px) {
      .contact-map-container .map {
        width: 50%; } }

.excerpt-blocks {
  padding-right: 0;
  padding-left: 0; }
  .excerpt-blocks:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 992px) {
    .excerpt-blocks {
      background-color: transparent; } }
  .excerpt-blocks .excerpt-block {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none; }
    @media (min-width: 992px) {
      .excerpt-blocks .excerpt-block {
        padding-left: 1rem; } }
    @media (min-width: 992px) {
      .excerpt-blocks .excerpt-block {
        float: left;
        overflow: hidden;
        margin: 0;
        margin-bottom: 1.20482%;
        margin-left: 1.20482%;
        padding: 0;
        width: 24.09639%;
        border-bottom: none; } }
    .excerpt-blocks .excerpt-block:nth-child(odd) {
      background-color: #f1efed; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block:nth-child(odd) {
          background-color: transparent; } }
    @media (min-width: 992px) {
      .excerpt-blocks .excerpt-block:first-child {
        padding-top: 0;
        padding-bottom: 0; } }
    .excerpt-blocks .excerpt-block .image-container {
      display: inline-block;
      margin-right: -0.25em;
      width: 24.09639%;
      vertical-align: middle; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .image-container {
          display: block;
          margin-right: 0;
          width: 100%;
          padding-top: 75%;
          position: relative;
          background-color: #f1efed; } }
      .excerpt-blocks .excerpt-block .image-container img {
        display: block;
        margin: 0;
        width: 100%; }
        @media (min-width: 992px) {
          .excerpt-blocks .excerpt-block .image-container img {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%; } }
    .excerpt-blocks .excerpt-block .caption {
      display: inline-block;
      margin-right: -0.25em;
      padding-right: 1rem;
      padding-left: 1rem;
      width: 74.6988%;
      color: #000;
      vertical-align: middle;
      font-size: 0.9em; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .caption {
          position: absolute;
          bottom: .8rem;
          left: .8rem;
          z-index: 0;
          display: block;
          margin-right: 0;
          margin-left: 0;
          padding: .5em .5em;
          width: calc(100% - 1.6rem);
          background-color: #fff;
          transition: bottom .4s, opacity .4s, -webkit-transform .4s;
          transition: bottom .4s, transform .4s, opacity .4s;
          transition: bottom .4s, transform .4s, opacity .4s, -webkit-transform .4s; } }
    .excerpt-blocks .excerpt-block time + time + .image-container + .caption {
      padding-left: 8rem; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block time + time + .image-container + .caption {
          padding-left: .5em; } }
    .excerpt-blocks .excerpt-block time {
      position: absolute;
      top: .6rem;
      left: 1em;
      z-index: 1;
      display: block;
      padding-top: 0.6em;
      width: 5em;
      height: 5em;
      border-radius: 5em;
      background-color: #000;
      font-size: 0.7em; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block time {
          right: .6rem;
          left: auto;
          font-size: 1em; } }
      .excerpt-blocks .excerpt-block time .day,
      .excerpt-blocks .excerpt-block time .month,
      .excerpt-blocks .excerpt-block time .year {
        display: block;
        text-align: center;
        font-family: 'josefin_sansbold'; }
      .excerpt-blocks .excerpt-block time .day {
        color: #50aeb7;
        /*color: #b9dac9;*/
        font-size: 1.3em;
        line-height: 1em; }
      .excerpt-blocks .excerpt-block time .month {
        color: #fff;
        text-transform: uppercase; }
      .excerpt-blocks .excerpt-block time .year {
        color: #fff; }
      .excerpt-blocks .excerpt-block time.from {
        left: 1em;
        z-index: 2; }
        @media (min-width: 992px) {
          .excerpt-blocks .excerpt-block time.from {
            right: 5em;
            left: auto; } }
        .excerpt-blocks .excerpt-block time.from .icon, .excerpt-blocks .excerpt-block time.from .header .phone:before, .header .excerpt-blocks .excerpt-block time.from .phone:before, .excerpt-blocks .excerpt-block time.from .stores-list-container .stores-list__item__date.title:before, .stores-list-container .excerpt-blocks .excerpt-block time.from .stores-list__item__date.title:before {
          position: absolute;
          top: 50%;
          right: 0;
          z-index: 1;
          color: #fff;
          font-size: 0.8em;
          -webkit-transform: translate(-0.3em, -50%);
              -ms-transform: translate(-0.3em, -50%);
                  transform: translate(-0.3em, -50%); }
        .excerpt-blocks .excerpt-block time.from + time {
          left: 5em;
          background-color: #fff; }
          @media (min-width: 992px) {
            .excerpt-blocks .excerpt-block time.from + time {
              left: auto; } }
          .excerpt-blocks .excerpt-block time.from + time .day,
          .excerpt-blocks .excerpt-block time.from + time .month,
          .excerpt-blocks .excerpt-block time.from + time .year {
            color: #000; }
    .excerpt-blocks .excerpt-block .title {
      margin: 0;
      padding: 0;
      font-weight: normal;
      font-size: 1.2em;
      font-family: 'josefin_sansbold'; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .title {
          text-transform: uppercase; } }
    .excerpt-blocks .excerpt-block .subtitle {
      margin: 0;
      padding: 0;
      font-size: 1em; }
    .excerpt-blocks .excerpt-block .readmore {
      display: none; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .readmore {
          position: absolute;
          top: 40%;
          left: 0;
          z-index: 1;
          display: block;
          width: 100%;
          color: #fff;
          text-align: center;
          text-transform: uppercase;
          opacity: 0;
          transition: opacity .5s, top .4s;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
          .excerpt-blocks .excerpt-block .readmore:before {
            display: none; } }
    .excerpt-blocks .excerpt-block:nth-child(4n-3) {
      margin-left: 0; }
  .excerpt-blocks.events .excerpt-block {
    min-height: 4.5em; }
    .excerpt-blocks.events .excerpt-block .image-container {
      width: 0;
      height: 4.5em; }
      @media (min-width: 992px) {
        .excerpt-blocks.events .excerpt-block .image-container {
          position: relative;
          display: block;
          padding-top: 75%;
          width: 100%;
          height: 0;
          background-color: #f1efed; } }
      .excerpt-blocks.events .excerpt-block .image-container img {
        display: none; }
        @media (min-width: 992px) {
          .excerpt-blocks.events .excerpt-block .image-container img {
            position: absolute;
            top: 0;
            left: 0;
            display: block;
            width: 100%;
            height: 100%; } }
    .excerpt-blocks.events .excerpt-block .caption {
      padding-right: 1rem;
      padding-left: 5rem;
      width: 95%;
      color: #000; }
      @media (min-width: 992px) {
        .excerpt-blocks.events .excerpt-block .caption {
          padding-right: 0.5rem;
          padding-left: 0.5rem;
          width: calc(100% - 1.6rem); } }
  @media (min-width: 992px) {
    .excerpt-blocks a.excerpt-block:hover .readmore {
      top: 50%;
      opacity: 1; }
    .excerpt-blocks a.excerpt-block:hover:before {
      opacity: 1; }
    .excerpt-blocks a.excerpt-block:hover:after {
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); }
    .excerpt-blocks a.excerpt-block:hover .caption {
      bottom: 0;
      opacity: 0;
      -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
              transform: translateY(100%); }
    .excerpt-blocks a.excerpt-block:before {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.7);
      content: '';
      opacity: 0;
      transition: opacity .5s; }
    .excerpt-blocks a.excerpt-block:after {
      position: absolute;
      top: calc(.8rem - 2px);
      left: calc(.8rem - 2px);
      z-index: 1;
      width: calc(100% - 1.6rem);
      height: calc(100% - 1.6rem);
      border: solid 2px #fff;
      content: '';
      transition: -webkit-transform .6s;
      transition: transform .6s;
      transition: transform .6s, -webkit-transform .6s;
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); } }
  @media (min-width: 992px) {
    .excerpt-blocks.first-block-large .excerpt-block:nth-child(4n-3) {
      margin-left: 1.20482%; }
    .excerpt-blocks.first-block-large .excerpt-block:nth-child(4n+6) {
      margin-left: 0; }
    .excerpt-blocks.first-block-large .excerpt-block:first-child {
      margin-bottom: 0;
      margin-left: 0;
      width: 49.39759%;
      font-size: 1.4em; } }
  @media (min-width: 992px) {
    .excerpt-blocks.col-3 .excerpt-block {
      width: 32.53012%; }
      .excerpt-blocks.col-3 .excerpt-block:nth-child(4n-3) {
        margin-left: 1.20482%; }
      .excerpt-blocks.col-3 .excerpt-block:nth-child(3n-2) {
        margin-left: 0; } }

@media (min-width: 992px) {
  .page-template-model-events .filters {
    padding-top: 0;
    padding-left: 0; } }

.filters-container {
  background: #efefee;
  padding: 1rem 0;
  transition: height 1s;
  height: auto; }
  .filters-container.is-collapsed {
    height: 0; }

.filters {
  position: fixed;
  top: 0;
  left: 0;
  left: -100%;
  z-index: 4;
  overflow-y: auto;
  padding: 4rem 1rem 1rem 1rem;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: opacity 0.4s, left 0.4s; }
  @media (min-width: 992px) {
    .filters {
      position: static;
      padding: 1rem 1.6rem;
      opacity: 1; } }
  .filters.is-mobile-visible {
    left: 0;
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.95); }
  .filters .filters-item {
    margin-top: 1rem; }
    .filters .filters-item.is-collapsed .filters-item-title:before {
      -webkit-transform: translateY(-50%) rotate(0deg);
          -ms-transform: translateY(-50%) rotate(0deg);
              transform: translateY(-50%) rotate(0deg); }
    .filters .filters-item.is-collapsed .filters-item-content {
      max-height: 0;
      margin-top: 0; }
    .filters .filters-item:first-child {
      margin-top: 0; }
  .filters .filters-item-letter {
    position: relative; }
    .filters .filters-item-letter .filters-item-title:before {
      content: ''; }
    .filters .filters-item-letter .container-letters {
      width: 100%; }
      .filters .filters-item-letter .container-letters .category-letter {
        display: inline-block;
        float: left;
        width: 33%;
        text-align: center;
        padding: 5px 0; }
        .filters .filters-item-letter .container-letters .category-letter:hover {
          /*background: #b9dac9;*/
          background: #50aeb7;
          cursor: pointer; }
  .filters .filters-item-title {
    position: relative;
    margin: 0;
    padding-right: 2em;
    text-transform: uppercase;
    font-size: 1em;
    font-family: 'josefin_sansbold';
    cursor: pointer; }
    @media (min-width: 992px) {
      .filters .filters-item-title {
        font-size: 0.9em; } }
  .filters .filters-item-content {
    overflow: hidden;
    margin: 0.8em 0 0 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.2em;
    max-height: 700px;
    transition: max-height 0.4s, margin-top 0.4s;
    padding-left: 2px; }
    .filters .filters-item-content li {
      margin: 0.2em 0; }
    .filters .filters-item-content label {
      display: inline-block;
      padding: 0.2em 0;
      width: calc(100% - 2rem);
      vertical-align: top;
      font-size: 0.8em;
      cursor: pointer; }
      .filters .filters-item-content label.half_time {
        width: 100%; }
      .filters .filters-item-content label.hours {
        width: 1.5em; }
    .filters .filters-item-content select {
      font-size: 0.8em; }
  @media (min-width: 992px) {
    .filters .btn-close {
      display: none; } }
  .filters .button {
    margin-top: 1rem; }
    .filters .button#all_alphabet {
      display: block; }
  .filters.filters-sundays {
    height: auto; }

#filter {
  z-index: 10; }
  #filter .filters {
    position: relative;
    padding: 0 1rem;
    left: auto;
    top: auto;
    background: none;
    opacity: 1; }
    @media (min-width: 992px) {
      #filter .filters {
        padding: 0 1rem;
        position: relative;
        left: auto;
        top: auto; } }
    #filter .filters .filters-item {
      width: 16.666666%;
      float: left;
      margin-top: 1rem; }
    @media (max-width: 600px) {
      #filter .filters .filters-item {
        width: 50%; } }
    @media (max-width: 600px) {
      #filter .filters .filters-item {
        width: 100%; } }
    #filter .filters .button#all_alphabet {
      display: inline-block; }
    #filter .filters .button[type="submit"], #filter .filters .button[type="filtre"] {
      bottom: 0;
      position: absolute;
      right: 0; }
  @media (max-width: 991px) {
    #filter .btn-show-filters {
      display: none; } }

.filters-button .alphabet {
  width: 40%; }

.filters-button #all_alphabet_brands {
  float: right; }

.btn-show-filters {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #000;
  color: #fff;
  text-align: center;
  line-height: 3rem !important;
  cursor: pointer; }
  @media (min-width: 992px) {
    .btn-show-filters {
      display: none !important; } }
  .btn-show-filters:before {
    font-size: 1.2em; }

.newsletter {
  position: relative;
  /*background-color: #b9dac9; */
  background-color: #50aeb7; 
}
  @media (min-width: 992px) {
    .newsletter .section-title {
      text-align: right; } }
  .newsletter .section-title span + span {
    font-size: .4em; }
  .newsletter form {
    margin: 0;
    padding-bottom: 2rem;
    text-align: center; }
    .newsletter form input[type='email'],
    .newsletter form .button,
    .newsletter form select {
      display: block;
      margin: .5em 0;
      width: 100%; }
      @media (min-width: 992px) {
        .newsletter form input[type='email'],
        .newsletter form .button,
        .newsletter form select {
          display: inline-block;
          margin: 0;
          margin-right: -.25em;
          margin-left: 1.20482%;
          width: 32.53012%; } }
    .newsletter form input[type='email'] {
      margin-left: 0; }

.search-form {
  padding: 1em 0;
  /*background-color: #b9dac9;*/
  background-color: #50aeb7;
  text-align: center; }
  .search-form label,
  .search-form input[type='text'],
  .search-form .button,
  .search-form .separator {
    display: block; }
    .search-form label:focus,
    .search-form input[type='text']:focus,
    .search-form .button:focus,
    .search-form .separator:focus {
      outline: none; }
    @media (min-width: 992px) {
      .search-form label,
      .search-form input[type='text'],
      .search-form .button,
      .search-form .separator {
        display: inline-block;
        margin-right: -.25em;
        vertical-align: middle; } }
  .search-form button[type='submit'] {
    margin: auto;
    float: right;
    margin-top: -43px;
    /*background: #b9dac9;*/
    background: #50aeb7;

  }
    @media (min-width: 992px) {
      .search-form button[type='submit'] {
        margin-left: -3em;
        padding-right: 1.4em;
        padding-left: 3.3em;
        margin-right: 0.6em;
        float: none;
        margin-top: auto;
        background: transparent; } }
  .search-form #btn_filtre {
    padding-right: 3em;
    padding-left: 2.1em;
    position: relative; }
    .search-form #btn_filtre .icon, .search-form #btn_filtre .header .phone:before, .header .search-form #btn_filtre .phone:before, .search-form #btn_filtre .stores-list-container .stores-list__item__date.title:before, .stores-list-container .search-form #btn_filtre .stores-list__item__date.title:before {
      position: absolute;
      top: 42%;
      right: 1rem;
      font-size: .6em;
      font-weight: bold;
      -webkit-transform: translateX(-10%) rotate(-180deg);
          -ms-transform: translateX(-10%) rotate(-180deg);
              transform: translateX(-10%) rotate(-180deg); }
    .search-form #btn_filtre.is-collapsed .icon, .search-form #btn_filtre.is-collapsed .header .phone:before, .header .search-form #btn_filtre.is-collapsed .phone:before, .search-form #btn_filtre.is-collapsed .stores-list-container .stores-list__item__date.title:before, .stores-list-container .search-form #btn_filtre.is-collapsed .stores-list__item__date.title:before {
      top: 45%;
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg); }
  .search-form label {
    margin-bottom: 0.6em;
    font-weight: bold;
    font-size: 1.2em; }
    @media (min-width: 992px) {
      .search-form label {
        display: inline-block;
        margin-bottom: 0;
        margin-left: 0;
        width: 7.22892%;
        text-align: left; } }
  @media (min-width: 992px) {
    .search-form input[type='text'] {
      display: inline-block;
      margin-left: 1.20482%;
      width: 19.87952%;
      position: relative; } }
  .search-form .button.primary {
    display: none; }
    @media (min-width: 992px) {
      .search-form .button.primary {
        display: inline-block;
        margin-left: 1.20482%;
        width: 15.66265%; } }
    @media (max-width: 991px) {
      .search-form .button.primary.ligne-2 {
        display: block;
        margin-top: 10px; } }
  .search-form .separator {
    display: block;
    margin: 0.4rem 0 0.6rem 0;
    font-size: 1.4rem; }
    @media (min-width: 992px) {
      .search-form .separator {
        display: inline-block;
        margin-left: 0 0 0 1.20482%;
        width: 7.22892%;
        font-size: 1rem; } }
  .search-form .parsley-errors-list {
    display: none; }

.parsley-errors-list {
  margin: 0;
  padding: 0;
  color: #f04124;
  list-style-type: none;
  text-align: left;
  font-size: 0.8em; }
  .parsley-errors-list > li {
    margin: 0;
    padding: 0.3em 1em;
    background-color: #fde7e3; }

.field-container {
  margin: 1em 0; }

form fieldset {
  border: none;
  padding: 1em 0;
  margin: 4em 0;
  border-top: solid 1px #ccc; }

form legend {
  padding: 0 0.6em;
  margin-left: 2em; }

.input-text,
.select,
.textarea {
  display: block;
  padding: 0.85em 1.5em;
  width: 100%;
  border: none;
  border-radius: 0;
  background-color: #f2f2f2;
  box-shadow: none;
  font-size: .9rem;
  font-family: inherit;
  transition: box-shadow .5s, border-color .25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  .input-text.rounded,
  .select.rounded,
  .textarea.rounded {
    border: solid 2px #fff;
    border-radius: 3rem;
    background-color: #fff;
    color: #8a8a8a; }
  .input-text.inline,
  .select.inline,
  .textarea.inline {
    display: inline-block;
    width: auto; }

.select {
  background-image: url("../img/icon-select.svg");
  background-position: right center;
  background-size: 1em auto;
  background-repeat: no-repeat;
  background-origin: content-box; }
  .select.rounded {
    /*background-color: #b9dac9;*/
    background-color: #50aeb7;
    background-origin: content-box;
    color: #000; }

select::-ms-expand {
  display: none; }

.textarea {
  height: 6rem; }

.checkboxes-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  -webkit-column-count: 4;
     -moz-column-count: 4;
          column-count: 4;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em; }
  .checkboxes-list input {
    margin-right: 0.4em; }

table .jour {
  width: 20%; }

table .am {
  width: 40%; }

table .pm {
  width: 40%; }

table .am .input-text,
table .pm .input-text {
  width: 6rem;
  margin-left: 0.6em;
  margin-right: 0.6em; }

.fc-col-1,
.fc-col-2,
.fc-col-3 {
  margin: 2rem 0; }
  .fc-col-1:after,
  .fc-col-2:after,
  .fc-col-3:after {
    content: '';
    display: block;
    clear: both; }
  @media (min-width: 992px) {
    .fc-col-1,
    .fc-col-2,
    .fc-col-3 {
      /*margin: 0 -1rem;
        display: table;
        width: 100%;
        border-collapse: separate;
        border-spacing: 1rem;*/ } }
  @media (min-width: 992px) {
    .fc-col-1 > div:last-child,
    .fc-col-2 > div:last-child,
    .fc-col-3 > div:last-child {
      /*display: table-cell;
                vertical-align: top;*/
      margin-right: 0; } }
  .fc-col-1 > div img,
  .fc-col-2 > div img,
  .fc-col-3 > div img {
    height: auto !important; }
  .fc-col-1 ul,
  .fc-col-1 ol,
  .fc-col-2 ul,
  .fc-col-2 ol,
  .fc-col-3 ul,
  .fc-col-3 ol {
    padding-left: 1em; }
  .fc-col-1 li,
  .fc-col-2 li,
  .fc-col-3 li {
    margin: 0.5em 0; }

@media (min-width: 992px) {
  .fc-col-2 > div {
    width: 49.39759%;
    float: left;
    margin-right: 1.20482%; } }

@media (min-width: 992px) {
  .fc-col-3 > div {
    width: 32.53012%;
    float: left;
    margin-right: 1.20482%; } }

.icon-category {
  width: 2.1em;
  height: 2.1em;
  border-radius: 5em;
  background-color: #000;
  color: #fff;
  text-align: center;
  font-size: 1.4em;
  line-height: 2.1em !important; }
  @media (min-width: 992px) {
    .icon-category {
      font-size: 2.4em; } }

.image-field {
  border: solid 2px #f1efed;
  position: relative;
  width: 100%;
  padding-top: 62.5%;
  overflow: hidden; }
  .image-field .btn-edit,
  .image-field .btn-delete {
    position: absolute;
    top: 0;
    width: 2rem;
    height: 2rem;
    font-size: 1.2em;
    text-align: center;
    line-height: 2rem;
    cursor: pointer;
    transition: font-size 0.2s;
    margin-top: 3px;
    background-color: #fff;
    color: #fff;
    z-index: 2;
    border-radius: 1rem;
    box-shadow: 0px 0px 3px 0px white; }
  .image-field .btn-edit {
    right: 2rem;
    margin-right: 6px;
    font-size: 1.1em;
    background-color: #000; }
  .image-field .btn-delete {
    right: 0;
    margin-right: 2px;
    background-color: #f04124; }
  .image-field .current-image {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 80%;
    max-height: 60%;
    display: block; }
    .image-field .current-image.cover {
      max-width: none;
      max-height: none; }
      .image-field .current-image.cover.portrait {
        height: 100%; }
      .image-field .current-image.cover.landscape {
        width: 100%; }
  .image-field input[type="file"] {
    position: absolute;
    z-index: 1;
    opacity: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0; }

.info-window {
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  transition: opacity 0.4s, -webkit-transform 0.4s;
  transition: transform 0.4s, opacity 0.4s;
  transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
  -webkit-transform: translate(0, 100%);
      -ms-transform: translate(0, 100%);
          transform: translate(0, 100%); }
  @media (min-width: 992px) {
    .info-window {
      position: relative;
      -webkit-transform: translate(0, -100%);
          -ms-transform: translate(0, -100%);
              transform: translate(0, -100%); } }
  .info-window.has-icon .icon-category {
    display: block; }
  .info-window .image-container {
    padding: 4rem 1rem 1rem 1rem;
    width: 100%;
    background-color: #fff;
    text-align: center; }
  .info-window .title {
    margin: 0 0 1em;
    color: #50aeb7;
    /*color: #b9dac9;*/
    text-transform: uppercase;
    font-size: 1.2em; }
  .info-window .text {
    padding: 2em 1em;
    color: #fff;
    text-align: center;
    font-size: 1.4em; }
    @media (min-width: 992px) {
      .info-window .text {
        font-size: 1em; } }
    .info-window .text p {
      margin: 0; }
  .info-window .button {
    margin-top: 1em; }
  .info-window .icon-category {
    position: absolute;
    top: 0.5rem;
    left: 1rem;
    font-size: 1.4em; }
    @media (min-width: 992px) {
      .info-window .icon-category {
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); } }
  .info-window.is-visible {
    opacity: 1;
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .info-window img[src=""] {
    display: none; }

.header-logo {
  margin: 0;
  height: 100px; }
  @media (min-width: 992px) {
    .header-logo {
      display: table-cell;
      width: 24.09639%;
      height: 114px;
      vertical-align: bottom; } }

.header-logo-link {
  display: block;
  margin: 0 auto;
  text-align: center;
  height: calc(100% - 1rem);
  background: url("../img/cityshopping-info-point.png") no-repeat center center;
  background-size: contain; }
  @media (min-width: 992px) {
    .header-logo-link {
      width: 154px;
      height: 100%; } }
  .header-logo-link span {
    display: none;
    overflow: hidden;
    text-indent: -9999px; }

.nav-language {
  /*position: absolute;
    top: 0;
    right: 3rem;*/
  display: inline-block;
  height: 3rem;
  /*background-color: #b9dac9;*/
  background-color: #50aeb7;

  }
  @media (min-width: 992px) {
    .nav-language {
      /*position: absolute;
        top: 0;
        right: 0;*/
      height: auto;
      background-color: transparent; } }
  .nav-language ul {
    margin: 0;
    padding: 0;
    padding: 0 .8em;
    /*background-color: #b9dac9;*/
    background-color: #50aeb7;
    list-style-type: none; }
  .nav-language li {
    display: inline-block;
    margin: 0;
    margin-right: -0.25em;
    text-transform: uppercase; }
    .nav-language li a, .nav-language li span {
      display: inline-block;
      padding: 0 .2em;
      color: #000;
      text-decoration: none;
      font-size: 0.9em;
      line-height: 3rem; }
      @media (min-width: 992px) {
        .nav-language li a, .nav-language li span {
          padding: .4em .2em;
          line-height: normal; } }
    .nav-language li.is-active span {
      position: relative; }
      .nav-language li.is-active span:after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #000;
        content: ''; }

.nav-main {
  position: fixed;
  top: 0;
  left: 100% !important;
  z-index: 4;
  display: block;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: left 0.4s, opacity 0.4s; }
  @media (min-width: 992px) {
    .nav-main {
      position: static;
      display: table-cell;
      overflow-y: visible;
      width: auto;
      height: auto;
      background-color: transparent;
      vertical-align: bottom;
      text-align: right;
      opacity: 1; } }
  .nav-main.is-mobile-visible {
    left: 0 !important;
    opacity: 1; }
  .nav-main:before {
    display: inline-block;
    margin-right: -0.25em;
    width: 0;
    height: 100%;
    content: '';
    vertical-align: middle; }
    @media (min-width: 992px) {
      .nav-main:before {
        display: none; } }
  .nav-main > ul {
    display: inline-block;
    margin: 0 -0.25em 0 0;
    padding: 0;
    width: 100%;
    list-style-type: none;
    vertical-align: middle; }
    @media (min-width: 992px) {
      .nav-main > ul {
        width: auto;
        text-align: left; } }
    .nav-main > ul > .menu-item {
      display: block;
      padding: 0 1rem; }
      @media (min-width: 992px) {
        .nav-main > ul > .menu-item {
          display: inline-block;
          padding: 0 0; } }
      .nav-main > ul > .menu-item > a {
        display: block;
        padding: 1em 0;
        color: #000;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
        font-size: 1.4em;
        font-family: 'josefin_sansbold'; }
        @media (min-width: 992px) {
          .nav-main > ul > .menu-item > a {
            display: inline-block;
            padding: .5em 1em;
            text-align: left;
            font-size: 1em; } }
      .nav-main > ul > .menu-item:hover > a {
        border-radius: 2em;
        /*background-color: #b9dac9;*/
        background-color: #50aeb7;
        color: #fff; }
      .nav-main > ul > .menu-item:hover > .children {
        display: block; }
      .nav-main > ul > .menu-item.current-menu-item > a {
        border-radius: 2em;
        /*background-color: #b9dac9;*/
        background-color: #50aeb7;
        color: #fff; }
    .nav-main > ul > .stores > .children {
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 99;
      display: none;
      width: 100%;
      background-color: white;
      font-size: 0.9em; }
      .nav-main > ul > .stores > .children > ul {
        display: block;
        padding: 0 1rem;
        list-style-type: none;
        -webkit-column-count: 3;
           -moz-column-count: 3;
                column-count: 3;
        max-width: 70em;
        margin-left: auto;
        margin-right: auto; }
        .nav-main > ul > .stores > .children > ul:after {
          content: " ";
          display: block;
          clear: both; }
        .nav-main > ul > .stores > .children > ul > li {
          display: block; }
          .nav-main > ul > .stores > .children > ul > li > a {
            position: relative;
            display: block;
            height: 4em;
            color: #000;
            text-decoration: none;
            text-transform: uppercase; }
            .nav-main > ul > .stores > .children > ul > li > a .icon-category {
              font-size: 1.2em; }
            .nav-main > ul > .stores > .children > ul > li > a > span {
              display: inline-block;
              vertical-align: middle; }
              .nav-main > ul > .stores > .children > ul > li > a > span + span {
                margin-left: 0.6em;
                width: calc(100% - 4em); }
            .nav-main > ul > .stores > .children > ul > li > a:after {
              display: inline-block;
              height: 100%;
              content: '';
              vertical-align: middle; }
  @media (min-width: 992px) {
    .nav-main .btn-close {
      display: none; } }
  .header .insta {
        margin-left: 35px;
      }
.header .phone, .header .fb, .header .insta {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  padding-left: 1rem;
  height: 3rem;
  color: #000;
  text-decoration: none;
  font-size: 1.2em;
  line-height: 3rem; }
  @media (min-width: 992px) {
    .header .phone, .header .fb, .header .insta {
      position: static;
      display: table-cell;
      padding: .5em 1em;
      height: auto;
      vertical-align: bottom;
      font-size: 1em;
      line-height: normal; }
       }




.header .fb {
  top: 35px;
  padding-right: 0; }
  @media (min-width: 992px) {
    .header .fb {
      top: 0; } }

.header .phone:before {
  margin-right: 0.4em;
  color: #000; }

@media (min-width: 992px) {
  .header .fb {
    padding-bottom: 0; } }

.header .fb img {
  max-height: 30px; }

.prev-next-post {
  padding-top: 1rem;
  padding-right: 0;
  padding-bottom: 1rem;
  padding-left: 0; }
  @media (min-width: 992px) {
    .prev-next-post {
      position: relative;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      z-index: 1;
      padding-right: 1rem;
      padding-left: 1rem;
      min-height: 5rem;
      width: 100%;
      background-color: #fff;
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%); }
      .prev-next-post:after {
        content: "";
        display: table;
        clear: both; } }
  .prev-next-post .next,
  .prev-next-post .prev {
    width: 49.39759%;
    color: #000;
    text-decoration: none;
    font-weight: normal;
    font-size: 1.2em;
    font-family: 'josefin_sansbold'; }
    @media (min-width: 992px) {
      .prev-next-post .next,
      .prev-next-post .prev {
        width: 40.96386%; } }
    .prev-next-post .next .icon, .prev-next-post .next .header .phone:before, .header .prev-next-post .next .phone:before, .prev-next-post .next .stores-list-container .stores-list__item__date.title:before, .stores-list-container .prev-next-post .next .stores-list__item__date.title:before,
    .prev-next-post .prev .icon,
    .prev-next-post .prev .header .phone:before, .header
    .prev-next-post .prev .phone:before,
    .prev-next-post .prev .stores-list-container .stores-list__item__date.title:before, .stores-list-container
    .prev-next-post .prev .stores-list__item__date.title:before {
      display: inline-block;
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      background-color: #000;
      color: #fff;
      vertical-align: middle;
      text-align: center;
      line-height: 3rem; }
      .prev-next-post .next .icon:before, .prev-next-post .next .header .phone:before, .header .prev-next-post .next .phone:before, .prev-next-post .next .stores-list-container .stores-list__item__date.title:before, .stores-list-container .prev-next-post .next .stores-list__item__date.title:before,
      .prev-next-post .prev .icon:before,
      .prev-next-post .prev .header .phone:before, .header
      .prev-next-post .prev .phone:before,
      .prev-next-post .prev .stores-list-container .stores-list__item__date.title:before, .stores-list-container
      .prev-next-post .prev .stores-list__item__date.title:before {
        font-size: 1em; }
    .prev-next-post .next .title,
    .prev-next-post .prev .title {
      display: none; }
      @media (min-width: 992px) {
        .prev-next-post .next .title,
        .prev-next-post .prev .title {
          display: inline-block;
          width: calc(100% - 5rem);
          vertical-align: middle; } }
  .prev-next-post .prev {
    float: left; }
    .prev-next-post .prev .icon, .prev-next-post .prev .header .phone:before, .header .prev-next-post .prev .phone:before, .prev-next-post .prev .stores-list-container .stores-list__item__date.title:before, .stores-list-container .prev-next-post .prev .stores-list__item__date.title:before {
      margin-right: 1em; }
  .prev-next-post .next {
    float: right;
    text-align: right; }
    .prev-next-post .next .icon, .prev-next-post .next .header .phone:before, .header .prev-next-post .next .phone:before, .prev-next-post .next .stores-list-container .stores-list__item__date.title:before, .stores-list-container .prev-next-post .next .stores-list__item__date.title:before {
      margin-left: 1em; }

#notifications {
  position: fixed;
  top: 100%;
  left: 50%;
  z-index: 10;
  padding: 3rem;
  max-width: 100%;
  width: 100%;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.4s, top 0.4s, -webkit-transform 0.4s;
  transition: transform 0.4s, opacity 0.4s, top 0.4s;
  transition: transform 0.4s, opacity 0.4s, top 0.4s, -webkit-transform 0.4s;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  overflow-y: auto; }
  #notifications.is-visible {
    top: 50%;
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  #notifications .message {
    display: block; }
    #notifications .message.success {
      color: #43AC6A; }
    #notifications .message.error {
      color: #f04124; }
  @media (min-width: 768px) {
    #notifications {
      max-width: 20rem; } }

.partners {
  margin: 8rem 0 6rem 0; }
  .partners ul {
    margin: 2rem 0;
    padding: 0;
    list-style-type: none;
    text-align: center; }
  .partners .partner {
    display: inline-block;
    margin-right: -0.25em;
    padding: 1em 0;
    width: 100%;
    vertical-align: middle; }
    @media (min-width: 992px) {
      .partners .partner {
        margin: 0.4em 1em;
        padding: 0;
        width: auto; } }
    .partners .partner img {
      max-height: 3rem; }
      @media (min-width: 992px) {
        .partners .partner img {
          max-height: 6rem; } }

.signature {
  color: #000;
  text-decoration: none; }
  .signature span {
    display: inline-block;
    vertical-align: middle;
    font-size: 0.8em; }
  .signature img {
    display: inline-block;
    vertical-align: middle; }

.main-slideshow {
  margin-right: auto;
  margin-bottom: 6rem;
  margin-left: auto;
  max-width: 1620px;
  width: 100%; }
  .main-slideshow .slide {
    width: 100%;
    position: relative; }
    .main-slideshow .slide .image-container {
      overflow: hidden; }
      .main-slideshow .slide .image-container img {
        display: block;
        margin-left: -50%;
        max-width: none;
        width: 200%; }
        @media (min-width: 992px) {
          .main-slideshow .slide .image-container img {
            margin-left: 0;
            max-width: 100%;
            max-width: 100%;
            width: 100%; } }
    .main-slideshow .slide .readmore {
      position: relative;
      display: block;
      margin: -1.5rem auto 0 auto;
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      background-color: #000;
      color: #fff;
      text-align: center;
      font-size: 1.4em; }
      .main-slideshow .slide .readmore:before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        height: 100%; }
      .main-slideshow .slide .readmore .icon, .main-slideshow .slide .readmore .header .phone:before, .header .main-slideshow .slide .readmore .phone:before, .main-slideshow .slide .readmore .stores-list-container .stores-list__item__date.title:before, .stores-list-container .main-slideshow .slide .readmore .stores-list__item__date.title:before {
        vertical-align: middle;
        line-height: 1; }
      .main-slideshow .slide .readmore span + span {
        display: none; }
    .main-slideshow .slide .title {
      text-align: center;
      font-weight: 600;
      font-size: 1.6em;
      font-family: 'grafolita-script'; }
      .main-slideshow .slide .title span {
        font-size: 1em; }
    .main-slideshow .slide + .slide {
      display: none; }

.owl-dots {
  text-align: center; }
  .owl-dots .owl-dot {
    display: inline-block;
    margin: 0 0.5rem;
    width: 1rem;
    height: 1rem;
    border-radius: 1rem;
    background-color: #000; }
    .owl-dots .owl-dot.active {
      /*background-color: #b9dac9;*/
      background-color: #50aeb7;
    }

.single-ucvl_shop .image-container {
  position: relative; }
  .single-ucvl_shop .image-container img {
    display: block; }
  .single-ucvl_shop .image-container .icon-category {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
        -ms-transform: translate(-50%, 50%);
            transform: translate(-50%, 50%); }

.single-ucvl_shop .content-wrapper .logo img {
  display: block;
  margin: 0 auto; }

.single-ucvl_shop .content-wrapper .payment-methods img {
  display: inline-block;
  margin-left: 0.4em;
  height: 30px;
  vertical-align: middle; }
  .single-ucvl_shop .content-wrapper .payment-methods img:first-child {
    margin-left: 0; }

.single-ucvl_shop .content-wrapper .coords:after {
  content: "";
  display: table;
  clear: both; }

.single-ucvl_shop .content-wrapper .coords p {
  float: left;
  width: 50%; }
  @media (min-width: 992px) {
    .single-ucvl_shop .content-wrapper .coords p {
      float: none;
      width: 100%; } }

.single-ucvl_shop .content-wrapper .coords p + p {
  text-align: right; }
  @media (min-width: 992px) {
    .single-ucvl_shop .content-wrapper .coords p + p {
      text-align: left; } }

.single-ucvl_shop .content-wrapper .address,
.single-ucvl_shop .content-wrapper .phone {
  display: block;
  font-family: 'josefin_sansbold'; }

.single-ucvl_shop .content-wrapper .phone {
  margin-bottom: 1em; }
  .single-ucvl_shop .content-wrapper .phone a {
    color: #000;
    text-decoration: none; }

.single-ucvl_shop .content-wrapper .website,
.single-ucvl_shop .content-wrapper .email {
  color: #53735f;
  text-decoration: none;
  font-family: 'josefin_sansbold';
  font-size: 1.1em; }

.single-ucvl_shop .content-wrapper .opening-time {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 1em; }
  @media (min-width: 992px) {
    .single-ucvl_shop .content-wrapper .opening-time {
      font-size: 0.9em; } }
  .single-ucvl_shop .content-wrapper .opening-time li {
    display: block;
    margin: 0.5em 0; }
    .single-ucvl_shop .content-wrapper .opening-time li:after {
      content: "";
      display: table;
      clear: both; }
  .single-ucvl_shop .content-wrapper .opening-time .day {
    float: left;
    width: 30%;
    vertical-align: top;
    font-family: 'josefin_sansbold'; }
    @media (min-width: 992px) {
      .single-ucvl_shop .content-wrapper .opening-time .day {
        display: block;
        width: 50%; } }
  .single-ucvl_shop .content-wrapper .opening-time .hours {
    float: right;
    width: 70%;
    text-align: right; }
    .single-ucvl_shop .content-wrapper .opening-time .hours:after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 992px) {
      .single-ucvl_shop .content-wrapper .opening-time .hours {
        width: 50%; } }
    .single-ucvl_shop .content-wrapper .opening-time .hours > span {
      display: block;
      width: 50%; }
      @media (min-width: 992px) {
        .single-ucvl_shop .content-wrapper .opening-time .hours > span {
          width: 100%; } }
    .single-ucvl_shop .content-wrapper .opening-time .hours .am {
      float: left; }
      @media (min-width: 992px) {
        .single-ucvl_shop .content-wrapper .opening-time .hours .am {
          float: none; } }
    .single-ucvl_shop .content-wrapper .opening-time .hours .pm {
      float: right; }
      @media (min-width: 992px) {
        .single-ucvl_shop .content-wrapper .opening-time .hours .pm {
          float: none; } }

.single-ucvl_shop .content-wrapper .content-sidebar p,
.single-ucvl_shop .content-wrapper .content-sidebar ul {
  margin: 2em 0; }

.single-ucvl_shop .photos {
  margin-bottom: 2rem; }

.stores-list__item {
  display: block;
  padding: 1em 0;
  color: #000;
  text-decoration: none;
  opacity: 1;
  transition: opacity 1s, -webkit-transform 0.4s;
  transition: opacity 1s, transform 0.4s;
  transition: opacity 1s, transform 0.4s, -webkit-transform 0.4s;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1); }
  @media (max-width: 767px) {
    .stores-list__item:nth-child(odd) {
      background-color: #f1efed; } }
  @media (min-width: 768px) {
    .stores-list__item {
      display: inline-block;
      margin-right: -0.25em;
      margin-bottom: 1rem;
      margin-left: 1.20482%;
      padding: 0;
      width: 32.53012%;
      vertical-align: top;
      text-align: center; }
      .stores-list__item:nth-child(3n-2) {
        margin-left: 0; } }
  .stores-list__item.is-hidden {
    opacity: 0;
    -webkit-transform: scale(0.5);
        -ms-transform: scale(0.5);
            transform: scale(0.5); }
  .stores-list__item__img {
    position: relative;
    display: inline-block;
    margin-right: -0.25em;
    width: 32.53012%;
    height: 5rem;
    vertical-align: top; }
    @media (min-width: 768px) {
      .stores-list__item__img {
        display: block;
        margin: 0;
        margin-bottom: 1rem;
        width: auto;
        height: 8rem;
        height: 8rem; } }
    .stores-list__item__img > img {
      position: absolute;
      top: 50%;
      left: 50%;
      max-width: 80%;
      max-height: 80%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
      @media (min-width: 768px) {
        .stores-list__item__img > img {
          max-width: 50%; } }
    .stores-list__item__img .icon-category {
      position: absolute;
      top: 50%;
      left: 50%;
      font-size: 1.4em;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .stores-list__item__img .icon-sundays {
      position: static;
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .stores-list__item__img__sund {
    margin-bottom: 0rem;
    height: 6rem; }
    @media (max-width: 767px) {
      .stores-list__item__img__sund {
        margin-bottom: 1rem;
        height: auto;
        min-height: 7.5rem;
        padding-bottom: 2.75rem;
        position: relative; } }
    @media (max-width: 474px) {
      .stores-list__item__img__sund {
        display: block;
        min-height: 0;
        text-align: center;
        width: 100%; } }
    .stores-list__item__img__sund .logo_container {
      width: 10%;
      display: inline-block;
      text-align: center; }
      @media (max-width: 767px) {
        .stores-list__item__img__sund .logo_container {
          width: 27%; } }
      .stores-list__item__img__sund .logo_container > img {
        position: static;
        -webkit-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
                transform: translate(0, 0);
        max-width: 100%; }
  .stores-list__item__text {
    display: inline-block;
    margin-right: -0.25em;
    margin-left: 1.20482%;
    padding-right: 1rem;
    width: 66.26506%;
    vertical-align: top; }
    @media (min-width: 768px) {
      .stores-list__item__text {
        padding-right: 0; } }
  .stores-list__item__text__sundays {
    display: inline-block;
    height: 100%;
    vertical-align: top; }
    @media (max-width: 767px) {
      .stores-list__item__text__sundays {
        height: auto; } }
  .stores-list__item__name {
    margin: 0;
    text-transform: uppercase;
    font-size: 1em;
    font-family: 'josefin_sansbold'; }
    @media (min-width: 768px) {
      .stores-list__item__name {
        margin: 0 0 0.5em 0;
        font-size: 1.1em; } }
    .stores-list__item__name__district {
      font-family: 'josefin_sansregular';
      font-size: 0.8em; }
  .stores-list__item__info {
    display: inline-block;
    vertical-align: bottom;
    padding: 0;
    margin: 0;
    width: 100%; }
    .stores-list__item__info__open, .stores-list__item__info__district, .stores-list__item__info__itin {
      font-size: 0.8em;
      text-transform: none; }
    .stores-list__item__info__open {
      display: inline-block;
      vertical-align: bottom; }
    .stores-list__item__info__itin {
      float: right; }
      @media (max-width: 767px) {
        .stores-list__item__info__itin {
          left: 0;
          -webkit-transform: translate(50%, 0);
              -ms-transform: translate(50%, 0);
                  transform: translate(50%, 0);
          position: absolute;
          bottom: 0; } }
      @media (max-width: 474px) {
        .stores-list__item__info__itin {
          left: 50%;
          -webkit-transform: translate(-25%, 0);
              -ms-transform: translate(-25%, 0);
                  transform: translate(-25%, 0); } }
      .stores-list__item__info__itin .button {
        padding: 0.6em 1em; }
  @media (min-width: 768px) {
    .stores-list__item__date {
      font-size: 1.3em;
      margin-bottom: 2em; } }
  .stores-list__item__link__sunday {
    text-decoration: none;
    color: inherit; }
  .stores-list__item p {
    margin: 0.4em 0; }

.stores-list.stores-infinite-scroll:after {
  display: block;
  height: 0;
  background: url("../img/loading.gif") no-repeat center center;
  background-size: auto 23px;
  content: '';
  opacity: 0;
  transition: opacity 0.2s; }

.stores-list.stores-infinite-scroll.is-loading:after {
  height: 3rem;
  opacity: 1; }

@media (min-width: 768px) {
  .stores-list.col-4 .stores-list__item {
    width: 24.09639%; }
    .stores-list.col-4 .stores-list__item:nth-child(3n-2) {
      margin-left: 1.20482%; }
    .stores-list.col-4 .stores-list__item:nth-child(4n-3) {
      margin-left: 0; } }

.stores-list-sundays {
  padding-left: 2em;
  padding-right: 2em; }

.stores-map-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 6rem;
  height: 300px; }
  .stores-map-container:after {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    display: block;
    background: url("../img/loading.gif") no-repeat center center rgba(255, 255, 255, 0.7);
    background-size: auto 23px;
    content: '';
    opacity: 0;
    transition: opacity 0.2s, height 0.4s; }
  .stores-map-container.is-loading:after {
    height: 100%;
    opacity: 1; }
  @media (min-width: 992px) {
    .stores-map-container {
      height: 700px; } }
  .stores-map-container .map {
    height: 100%; }
  .stores-map-container .container, .stores-map-container .prev-next-post {
    position: relative;
    margin-top: -700px; }
    .stores-map-container .container .sidebar, .stores-map-container .prev-next-post .sidebar {
      position: absolute;
      top: 0;
      left: 0; }
      @media (min-width: 992px) {
        .stores-map-container .container .sidebar, .stores-map-container .prev-next-post .sidebar {
          padding-top: 3rem; } }
    .stores-map-container .container .info-window, .stores-map-container .prev-next-post .info-window {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 4;
      width: 100%;
      height: 100%; }
      @media (min-width: 992px) {
        .stores-map-container .container .info-window, .stores-map-container .prev-next-post .info-window {
          position: absolute;
          top: 3rem;
          z-index: 1;
          width: 24.09639%;
          height: auto; } }

.store-map-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 6rem;
  height: 300px;
  /*background-color: #b9dac9;*/
  background-color: #50aeb7;
}
  .store-map-container .map {
    height: 100%; }

table {
  width: 100%; }
  table tr td {
    vertical-align: middle;
    padding: 0.6em 1em; }
  table tr th {
    vertical-align: middle;
    text-align: left;
    padding: 0.6em 1em;
    font-weight: normal;
    font-size: 1.2em; }
    table tr th:first-child {
      padding-left: 0; }

.section-title {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 2rem;
  text-align: center;
  font-weight: normal;
  font-size: 2.4em;
  font-family: 'josefin_sansbold';
  line-height: 0.6em; }
  @media (min-width: 992px) {
    .section-title {
      margin-bottom: 4rem;
      font-size: 4em; } }
  .section-title.with-picto {
    padding-top: 1em; }
    .section-title.with-picto .icon, .section-title.with-picto .header .phone:before, .header .section-title.with-picto .phone:before, .section-title.with-picto .stores-list-container .stores-list__item__date.title:before, .stores-list-container .section-title.with-picto .stores-list__item__date.title:before {
      position: absolute;
      top: 0;
      left: 50%;
      display: block;
      width: 3em;
      height: 3em;
      border-radius: 3em;
      background-color: #000;
      color: #fff;
      text-align: center;
      font-size: 0.4em;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
      .section-title.with-picto .icon:before, .section-title.with-picto .header .phone:before, .header .section-title.with-picto .phone:before, .section-title.with-picto .stores-list-container .stores-list__item__date.title:before, .stores-list-container .section-title.with-picto .stores-list__item__date.title:before {
        vertical-align: middle;
        font-size: 1.4em; }
      .section-title.with-picto .icon:after {
        display: inline-block;
        width: 0;
        height: 100%;
        content: '';
        vertical-align: middle; }
    @media (min-width: 992px) {
      .section-title.with-picto.align-left {
        padding-top: 0;
        padding-right: 1em;
        width: 50%;
        text-align: right; }
        .section-title.with-picto.align-left .icon, .section-title.with-picto.align-left .header .phone:before, .header .section-title.with-picto.align-left .phone:before, .section-title.with-picto.align-left .stores-list-container .stores-list__item__date.title:before, .stores-list-container .section-title.with-picto.align-left .stores-list__item__date.title:before {
          top: 50%;
          right: 0;
          left: auto;
          -webkit-transform: translate(50%, -50%);
              -ms-transform: translate(50%, -50%);
                  transform: translate(50%, -50%); } }
  .section-title span {
    display: block;
    font-weight: 600;
    font-size: 0.6em;
    font-family: 'grafolita-script'; }

.page-title {
  margin: 0 0 1rem 0;
  color: #000;
  font-weight: normal;
  font-size: 2em;
  font-family: 'josefin_sansbold'; }
  @media (min-width: 992px) {
    .page-title {
      margin: 0 0 1rem 0;
      font-size: 3em; } }

.title-h2,
legend {
  color: #000;
  text-transform: uppercase;
  font-weight: normal;
  font-size: 1.1em;
  font-family: 'josefin_sansbold'; }

.shop-title {
  margin: 0.2em 0;
  /*color: #b9dac9;*/
  color: #50aeb7;
  text-transform: uppercase;
  font-weight: normal;
  font-size: 2rem;
  font-family: 'josefin_sansbold'; }
  @media (min-width: 992px) {
    .shop-title {
      font-size: 3rem; } }
  .shop-title small {
    color: #000;
    text-transform: none;
    font-weight: normal;
    font-size: 0.5em;
    font-family: 'josefin_sansregular'; }
    @media (min-width: 992px) {
      .shop-title small {
        font-size: 0.4em; } }

.inline-style {
  margin: 1.6em 0; }
  .inline-style .title {
    display: inline;
    margin: 0;
    margin-right: 0.2em;
    vertical-align: baseline; }
  .inline-style .text {
    display: inline;
    margin: 0;
    color: #53735f;
    font-weight: bold;
    font-size: 1.1em;
    vertical-align: baseline; }

.centered-content {
  padding-bottom: 2rem; }
  @media (min-width: 992px) {
    .centered-content .left {
      padding-right: 1rem;
      text-align: right; }
    .centered-content .right {
      padding-left: 1rem;
      text-align: left; } }
  .centered-content .color {
    /*color: #b9dac9;*/
    color: #50aeb7;

    }
  .centered-content a {
    color: #000;
    text-decoration: none; }
  .centered-content > div {
    margin-bottom: 1rem;
    text-align: center; }
  .centered-content h2 {
    margin: 0;
    font-weight: normal;
    font-family: 'josefin_sansbold'; }

.text-big {
  font-size: 2rem; }

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

.line {
  display: block;
  border-bottom: 1px solid black;
  width: 50%;
  margin: 0 auto; }

.useful-information {
  margin: 0 0 6rem 0;
  padding: 2rem 0 0 0;
  background-color: #f1efed;
  overflow: hidden; }
  .useful-information > .container, .useful-information > .prev-next-post {
    padding-right: 0;
    padding-left: 0; }
    @media (min-width: 992px) {
      .useful-information > .container, .useful-information > .prev-next-post {
        padding-right: 1rem;
        padding-left: 1rem; } }
  .useful-information ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    @media (min-width: 992px) {
      .useful-information ul {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    .useful-information ul > li {
      display: block;
      margin: 0; }
      @media (min-width: 992px) {
        .useful-information ul > li {
          -webkit-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }
      .useful-information ul > li > a {
        display: block;
        padding: 1.4em 0 1.4em 5em;
        background-color: #d7c8b1;
        background-position: 1em center;
        background-size: 2.4em auto;
        background-repeat: no-repeat;
        color: #FFF;
        text-decoration: none;
        font-family: 'josefin_sansbold'; }
        @media (min-width: 992px) {
          .useful-information ul > li > a {
            padding: 8rem 1rem 3rem 1rem;
            height: 13rem;
            background-position: center 1em;
            background-size: auto;
            text-align: center;
            -webkit-transform: translateY(1rem);
                -ms-transform: translateY(1rem);
                    transform: translateY(1rem);
            transition: box-shadow 0.4s, -webkit-transform .4s;
            transition: transform .4s, box-shadow 0.4s;
            transition: transform .4s, box-shadow 0.4s, -webkit-transform .4s;
            position: relative; }
            .useful-information ul > li > a:hover {
              -webkit-transform: translateY(0);
                  -ms-transform: translateY(0);
                      transform: translateY(0);
              box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
              z-index: 1; } }
      .useful-information ul > li:nth-child(1) > a {
        background-color: #6FC9C2; }
      .useful-information ul > li:nth-child(2) > a {
        /*background-color: #a4c8b7;*/
        background-color: #EF4650;
      }
      .useful-information ul > li:nth-child(3) > a {
        background-color: #E0AD20; }
      .useful-information ul > li:nth-child(4) > a {
        background-color: #8C8CC5; }
      .useful-information ul > li:nth-child(5) > a {
        background-color: #4C877F; }
      .useful-information ul > li:nth-child(6) > a {
        background-color: #EA8E91; }
      .useful-information ul > li:nth-child(7) > a {
        background-color: #b5b5b5; }

.stores-list-container .stores-item-container {
  overflow: hidden; }

.stores-list-container .stores-list__item__date.title {
  position: relative;
  cursor: pointer;
  padding-left: 2em;
  padding-right: 2.3em;
  min-width: 350px;
  text-align: left; }
  .stores-list-container .stores-list__item__date.title:before {
    position: absolute;
    top: 54%;
    right: 15px;
    font-size: 0.6em;
    -webkit-transform: translateY(-50%) rotate(-180deg);
        -ms-transform: translateY(-50%) rotate(-180deg);
            transform: translateY(-50%) rotate(-180deg); }

.stores-list-container.is-collapsed .stores-list__item__date.title:before {
  -webkit-transform: translateY(-50%) rotate(0deg);
      -ms-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg); }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/**
     * 1. Set default font family to sans-serif.
     * 2. Prevent iOS and IE text size adjust after device orientation change,
     *    without disabling user zoom.
     */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
     * Remove default margin.
     */
body {
  margin: 0; }

/* HTML5 display definitions
       ========================================================================== */
/**
     * Correct `block` display not defined for any HTML5 element in IE 8/9.
     * Correct `block` display not defined for `details` or `summary` in IE 10/11
     * and Firefox.
     * Correct `block` display not defined for `main` in IE 11.
     */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
     * 1. Correct `inline-block` display not defined in IE 8/9.
     * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
     */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Prevent modern browsers from displaying `audio` without controls.
     * Remove excess height in iOS 5 devices.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
       * Address `[hidden]` styling not present in IE 8/9/10.
       */
[hidden] {
  display: none; }

/**
     * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
     */
template {
  display: none; }

/* Links
       ========================================================================== */
/**
       * Remove the gray background color from active links in IE 10.
       */
a {
  background-color: transparent; }

/**
     * Improve readability of focused elements when they are also in an
     * active/hover state.
     */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
     */
abbr[title] {
  border-bottom: 1px dotted; }

/**
     * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
     */
b,
strong {
  font-weight: bold; }

/**
     * Address styling not present in Safari and Chrome.
     */
dfn {
  font-style: italic; }

/**
     * Address variable `h1` font-size and margin within `section` and `article`
     * contexts in Firefox 4+, Safari, and Chrome.
     */
h1 {
  font-size: 2em;
  /* Set 1 unit of vertical rhythm on the top and bottom margins. */
  margin: 0.75em 0; }

/**
       * Address styling not present in IE 8/9.
       */
mark {
  background: #ff0;
  color: #000; }

/**
     * Address inconsistent and variable font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` affecting `line-height` in all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
       ========================================================================== */
/**
       * Remove border when inside `a` element in IE 8/9/10.
       */
img {
  border: 0; }

/**
     * Correct overflow not hidden in IE 9/10/11.
     */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
       ========================================================================== */
/**
       * Address margin not present in IE 8/9 and Safari.
       */
figure {
  margin: 1.5em 40px; }

/**
     * Address differences between Firefox and other browsers.
     */
hr {
  box-sizing: content-box;
  height: 0; }

/**
     * Contain overflow in all browsers.
     */
pre {
  overflow: auto; }

/**
     * Address odd `em`-unit font size rendering in all browsers.
     */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
       ========================================================================== */
/**
     * Known limitation: by default, Chrome and Safari on OS X allow very limited
     * styling of `select`, unless a `border` property is set.
     */
/**
     * 1. Correct color not being inherited.
     *    Known issue: affects color of disabled elements.
     * 2. Correct font properties not being inherited.
     * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
     * 4. Address `font-family` inconsistency between `textarea` and other form in IE 7
     * 5. Improve appearance and consistency with IE 6/7.
     */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
     * Address `overflow` set to `hidden` in IE 8/9/10/11.
     */
button {
  overflow: visible; }

/**
     * Address inconsistent `text-transform` inheritance for `button` and `select`.
     * All other form control elements do not inherit `text-transform` values.
     * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
     * Correct `select` style inheritance in Firefox.
     */
button,
select {
  text-transform: none; }

/**
     * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
     *    and `video` controls.
     * 2. Correct inability to style clickable `input` types in iOS.
     * 3. Improve usability and consistency of cursor style between image-type
     *    `input` and others.
     * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
     *    Known issue: inner spacing remains in IE 6.
     */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
     * Re-set default cursor for disabled elements.
     */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
     * Remove inner padding and border in Firefox 4+.
     */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
     * Address Firefox 4+ setting `line-height` on `input` using `!important` in
     * the UA stylesheet.
     */
input {
  line-height: normal; }

/**
       * It's recommended that you don't attempt to style these elements.
       * Firefox's implementation doesn't respect box-sizing, padding, or width.
       *
       * 1. Address box sizing set to `content-box` in IE 8/9/10.
       * 2. Remove excess padding in IE 8/9/10.
       * 3. Remove excess padding in IE 7.
       *    Known issue: excess padding remains in IE 6.
       */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Fix the cursor style for Chrome's increment/decrement buttons. For certain
     * `font-size` values of the `input`, it causes the cursor style of the
     * decrement button to change from `default` to `text`.
     */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
     * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
     */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
  /**
       * Remove inner padding and search cancel button in Safari and Chrome on OS X.
       * Safari (but not Chrome) clips the cancel button when the search input has
       * padding (and `textfield` appearance).
       */ }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * Define consistent border, margin, and padding.
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct `color` not being inherited in IE 8/9/10/11.
     * 2. Remove padding so people aren't caught out if they zero out fieldsets.
     * 3. Correct alignment displayed oddly in IE 6/7.
     */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Remove default vertical scrollbar in IE 8/9/10/11.
     */
textarea {
  overflow: auto; }

/**
     * Don't inherit the `font-weight` (applied by a rule above).
     * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
     */
optgroup {
  font-weight: bold; }

.social_img {
  margin-right:0.3em;
}

/* Tables
       ========================================================================== */
/**
     * Remove most spacing between table cells.
     */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.menu-top {
  position: absolute;
  top: 0;
  right: 3rem; }
  @media (min-width: 992px) {
    .menu-top {
      position: absolute;
      top: 0;
      right: 0; } }
  .menu-top .btn-link {
    display: none; }
    @media (min-width: 992px) {
      .menu-top .btn-link {
        display: inline-block;
        vertical-align: top;
        background-color: #000;
        color: #fff;
        margin-right: 1rem;
        padding: .4em 1em;
        font-size: 0.9em;
        text-decoration: none;
        text-transform: uppercase; } }
  @media (min-width: 992px) {
    .menu-top .btn-promo {
      background-color: #f1efed;
      color: #000; } }
.footer-container {
  text-align: center;
  padding-top: 25px;
}
.footer-contact-container a {
   color: black;
}
.fas {
   margin-right: 10px;
}
.fa-envelope {
   margin-top: 5px;
}
.footer-text {
   margin:0;
}

.stat-levels {
    padding: 2px;
    background-color: #555357;
    width: 50%;
    border-radius: 30px;
}
.stat-bar {
    width: 100%;
    background-color: #8B5EAE;
    height: 30px;
    border-radius: 15px;
    top: 50%;
    position: relative;
    margin: 0;
}
.stat-bar-rating {
    background-color: #5EAE7B;
    height: 30px;
    border-bottom-left-radius: 15px;
    border-top-left-radius: 15px;
    position: relative;
    margin: 0;
}

.span-percent {
    top: 7px;
    position: absolute;
    left: 25px;
    font-weight: bold;
    color: white;
}
.span-other-percent {
    position: absolute;
    left: 480px;
    font-weight: bold;
    color: white;
}
/*
.stats-row-activities-list,
.stats-row-quarters-list,
.stats-row-past-list,
.stats-row-ouvertures-dominicales,
.stats-row-ouvertures-fermetures h6{
  font-size:1em;
}
.stats-row-activities-list,
.stats-row-quarters-list,
.stats-row-past-list,
.stats-row-ouvertures-dominicales,
.stats-row-ouvertures-fermetures h5{
  font-size:1.1em;
}
.stats-row-activities-list,
.stats-row-quarters-list,
.stats-row-past-list,
.stats-row-ouvertures-dominicales,
.stats-row-ouvertures-fermetures h3{
  font-size:1.3em;
}*/

.stats-row-ouvertures-fermetures h5,h6 {
  font-size: 16px;
}

.stats-row-activities-list,
.stats-row-quarters-list,
.stats-row-past-list,
.stats-row-ouvertures-dominicales,
.stats-row-ouvertures-fermetures {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0; }

  @media (max-width: 991px) {
    .stats-row-activities-list,
    .stats-row-quarters-list,
    .stats-row-past-list {
      text-align: center;
    }
  }

  .stats-row-activities-list::after,
  .stats-row-quarters-list::after,
  .stats-row-past-list::after {
    content: '';
    display: table;
    clear: both;
  }

.stats-row + .stats-row {
  margin-top: 2em;
}

.stats-row li {
  text-align: left;
}

.stats-row-activities-list li,
.stats-row-quarters-list li,
.stats-row-past-list li {
  text-align: center;
}

.stats-row-activities-list li {
  display: inline-block;
  position: relative;
  margin-bottom: 10px;
}

  @media (max-width: 991px) {
    .stats-row-activities-list li {
     margin-bottom: 10px;
    }
  }

  @media (max-width: 479px) {
    .stats-row-activities-list li {
      width: 48%;
      margin-bottom: 30px;
      vertical-align: top;
    }
  }

.stats-row-activities-list li + li {
    margin-left: 10px;
}

  @media (max-width: 991px) {
    .stats-row-activities-list li + li {
     margin-left: 20px;
    }
  }

  @media (max-width: 479px) {
    .stats-row-activities-list li + li {
      margin-left: 0;
    }
  }

.stats-row-quarters-list li {
  display: inline-block;
}

.stats-row-quarters-list li + li {
  margin-left: 30px;
}

.stat-icon {
  font-size: 1.25em;
}

.stat-name {
  display: block;
  line-height: 1.25;
  font-size:16px;
}

.stats-row-activities-list li .stat-name {
  position: absolute;
  top: -9999px;
  left: -9999px;
  min-width: 100%;
  padding: 4px;
  background-color: #fff;
  font-family: 'josefin_sanssemibold';
  text-align: center;
}

  @media (max-width: 479px) {
    .stats-row-activities-list li .stat-name {
      position: relative;
      top: 0;
      left: 0;
    }
  }

.stats-row-quarters-list li .stat-pct-digit {
  font-family: 'josefin_sanssemibold';
}

.stats-row-quarters-list li .stat-name {
  margin-top: 4px;
}

.stats-row-activities-list li:hover .stat-name {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
}

.stat-name.hidden {
  position: absolute;
  top: -9999px;
  left: -9999px;
  text-indent: -9999px;
}

.stat-pct-digit {
  display: block;
  margin-top: 4px;
  font-size: 16px;
}

.stat-pct-graph {
  display: inline-block;
  margin-top: 4px;
  vertical-align: top;
}


.stats-row-activities-list li:hover .stat-pct-graph {
  visibility: hidden;
  opacity: 0;
}

.stats-row-activities-list .stat-pct-graph {
  height: 65px;
}

  @media (max-width: 479px) {
    .stats-row-activities-list .stat-pct-graph {
      display: none;
    }
  }

.stats-row li:first-of-type .stat-pct-graph  {
  height: 65px;
  width: calc(65px * 2);
  border-bottom-left-radius: calc(65px * 2);
  border-bottom-right-radius: calc(65px * 2); }

.stats-row li:nth-of-type(2) .stat-pct-graph {
  height: 60px;
  width: calc(60px * 2);
  border-bottom-left-radius: calc(60px * 2);
  border-bottom-right-radius: calc(60px * 2); }

.stats-row li:nth-of-type(3) .stat-pct-graph {
  height: 55px;
  width: calc(55px * 2);
  border-bottom-left-radius: calc(55px * 2);
  border-bottom-right-radius: calc(55px * 2); }

.stats-row li:nth-of-type(4) .stat-pct-graph {
  height: 50px;
  width: calc(50px * 2);
  border-bottom-left-radius: calc(50px * 2);
  border-bottom-right-radius: calc(50px * 2); }

.stats-row li:nth-of-type(5) .stat-pct-graph {
  height: 45px;
  width: calc(45px * 2);
  border-bottom-left-radius: calc(45px * 2);
  border-bottom-right-radius: calc(45px * 2); }

.stats-row li:nth-of-type(6) .stat-pct-graph {
  height: 40px;
  width: calc(40px * 2);
  border-bottom-left-radius: calc(40px * 2);
  border-bottom-right-radius: calc(40px * 2); }

.stats-row li:nth-of-type(7) .stat-pct-graph {
  height: 35px;
  width: calc(35px * 2);
  border-bottom-left-radius: calc(35px * 2);
  border-bottom-right-radius: calc(35px * 2); }

.stats-row li:nth-of-type(8) .stat-pct-graph {
  height: 30px;
  width: calc(30px * 2);
  border-bottom-left-radius: calc(30px * 2);
  border-bottom-right-radius: calc(30px * 2); }

.stats-row li:nth-of-type(9) .stat-pct-graph {
  height: 25px;
  width: calc(25px * 2);
  border-bottom-left-radius: calc(25px * 2);
  border-bottom-right-radius: calc(25px * 2); }

.stats-row li:nth-of-type(10) .stat-pct-graph {
  height: 20px;
  width: calc(20px * 2);
  border-bottom-left-radius: calc(20px * 2);
  border-bottom-right-radius: calc(20px * 2); }

.stats-row li:nth-of-type(11) .stat-pct-graph {
  height: 15px;
  width: calc(15px * 2);
  border-bottom-left-radius: calc(15px * 2);
  border-bottom-right-radius: calc(15px * 2); }

.stats-row li:nth-of-type(12) .stat-pct-graph {
  height: 10px;
  width: calc(10px * 2);
  border-bottom-left-radius: calc(10px * 2);
  border-bottom-right-radius: calc(10px * 2); }

.stat-pct-graph-quarter {
  display: inline-block;
  vertical-align: top; }

.stats-row li:first-of-type .stat-pct-graph-quarter {
  height: 65px;
  width: calc(65px * 2);
  border-top-left-radius: calc(65px * 2);
  border-top-right-radius: calc(65px * 2); }

.stats-row li:nth-of-type(2) .stat-pct-graph-quarter {
  height: 45px;
  width: calc(45px * 2);
  border-top-left-radius: calc(45px * 2);
  border-top-right-radius: calc(45px * 2); }

.stats-row li:nth-of-type(3) .stat-pct-graph-quarter {
  height: 25px;
  width: calc(25px * 2);
  border-top-left-radius: calc(25px * 2);
  border-top-right-radius: calc(25px * 2); }

.gare{
  color: #00a6ac;
}
.gare .stat-pct-graph-quarter {
  background-color: #00a6ac;
}

.centre{
  color: #ac0068;
}
.centre .stat-pct-graph-quarter {
  background-color: #ac0068;
}

.autres{
  color: #c3945d;
}
.autres .stat-pct-graph-quarter {
  background-color: #c3945d;
}




.beaute-sante {
  color: #c6161d;
}
.beaute-sante .stat-pct-graph {
  background-color: #c6161d;
}

.bebes-enfants {
  color: #c6adb0;
}
.bebes-enfants .stat-pct-graph {
  background-color: #c6adb0;
}

.bijouteries-horlogeries {
  color: #0e141d;
}
.bijouteries-horlogeries .stat-pct-graph {
  background-color: #0e141d;
}

.chaussures {
  color: #772E1B;
}
.chaussures .stat-pct-graph {
  background-color: #772E1B;
}

.culture-loisirs-tourisme {
  color: #C7D205;
}
.culture-loisirs-tourisme .stat-pct-graph {
  background-color: #C7D205;
}

.gouts-saveurs {
  color: #c3945d;
}
.gouts-saveurs .stat-pct-graph {
  background-color: #c3945d;
}

.hotels-restaurants-cafes {
color: #451a66;
}
.hotels-restaurants-cafes .stat-pct-graph {
  background-color: #451a66;
}

.maison-decoration {
  color: #ec7a17;
}
.maison-decoration .stat-pct-graph {
  background-color: #ec7a17;
}

.mode-accessoires {
  color: #ac0068;
}
.mode-accessoires .stat-pct-graph {
  background-color: #ac0068;
}

.multimedia-bureautique {
  color: #009ddf;
}
.multimedia-bureautique .stat-pct-graph {
  background-color: #009ddf;
}

/*.services {
  color: #00a6ac;
}*/
.services .stat-pct-graph {
  background-color: #00a6ac;
}

.supermarches-generalistes {
  color: #accfd2;
}
.supermarches-generalistes .stat-pct-graph {
  background-color: #accfd2;
}


.stats-row-past-list li {
  display: inline-block;
}

.stats-row-past-list li + li {
  margin-left: 30px;
}


.stats-row-past-list .points-de-vente {

}

.stats-row-past-list .points-de-vente::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 32px;
  margin: auto;
  background: url('../img/icon-points-de-vente.png') center center no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}

.stats-row-past-list .stat-name {
  display: block;
  max-width: 6em;
  margin-top: 4px;
}

.stats-row-past-list .stat-nb {
  display: block;
  margin-top: 4px;
  font-family: 'josefin_sanssemibold';
}

.stats-row-past-list .nouveaux-membres::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 32px;
  margin: auto;
  background: url('../img/icon-nouveaux-membres.png') center center no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}


.stats-row-ouvertures-dominicales {
  text-align: left;
}
  
.stats-row-ouvertures-dominicales .inner {
  list-style: none;
  padding: 0;
  overflow: hidden;
  display: none;
}
      
.stats-row-ouvertures-dominicales .inner.show {
  /*display: block;*/
}

.stats-row-ouvertures-dominicales .inner > li {
  padding-left: 1em;
}

.stats-row-ouvertures-dominicales .has-children {
  position: relative;
  padding-left: 1em;
}

.stats-row-ouvertures-dominicales .has-children::before {
  content: '\25BC';
  display: inline-block;
  position: absolute;
  top: 14px;
  left: 6px;
  font-size: 0.5em;
}
  
.stats-row-ouvertures-dominicales li {
  line-height: 1.4;
  text-align: left;
}

.stats-row-ouvertures-dominicales li strong {
  font-family: 'josefin_sanssemibold';
}
      
.stats-row-ouvertures-dominicales li a.toggle {
  display: block;
  width: 100%;
  padding: 0.5em;
  color: #000;
  text-decoration: none;
}




.stats-row-ouvertures-dominicales h3,
.stats-row-ouvertures-dominicales h4,
.stats-row-ouvertures-dominicales h5,
.stats-row-ouvertures-dominicales h6 {
  margin: 0;
}


.stats-row-ouvertures-fermetures {
  text-align: left;
}
  
.stats-row-ouvertures-fermetures .inner {
  list-style: none;
  padding: 0;
  overflow: hidden;
  display: none;
}
      
.stats-row-ouvertures-fermetures .inner.show {
  /*display: block;*/
}

.stats-row-ouvertures-fermetures .inner > li {
  padding-left: 1em;
}

.stats-row-ouvertures-fermetures .has-children {
  position: relative;
  padding-left: 1em;
}

.stats-row-ouvertures-fermetures .has-children::before {
  content: '\25BC';
  display: inline-block;
  position: absolute;
  top: 14px;
  left: 6px;
  font-size: 0.5em;
}
  
.stats-row-ouvertures-fermetures li {
  line-height: 1.4;
  text-align: left;
}

.stats-row-ouvertures-fermetures li strong {
  font-family: 'josefin_sanssemibold';
}
      
.stats-row-ouvertures-fermetures li a.toggle-2 {
  display: block;
  width: 100%;
  padding: 0.5em;
  color: #000;
  text-decoration: none;
}

.stats-row-ouvertures-fermetures h3,
.stats-row-ouvertures-fermetures h4,
.stats-row-ouvertures-fermetures h5,
.stats-row-ouvertures-fermetures h6 {
  margin: 0;
}

.calculatation-mention {
  margin-top: -15px;
  width: 90%;
  margin-bottom: 30px;
  color: #868988
}
.stat-separator {
  width: 100%;
  height: auto;
  border-bottom: 1px solid black;
  margin-top: 50px;
  margin-bottom: -10px;
}

.separator-title {
  margin-top: -10px;
  margin-bottom: 0px;
}

#footer-phone {
  margin-left: -52px;
}

.section-stat-title {
      font-size: 1.8em;
}

.title-info-generale,
.title-repartition-membre,
.title-secteur-activite,
.title-repartition-membre-quartier,
.title-ouvertures-dominicales,
.title-ouvertures-fermetures {
  color: #50aeb7;
}

.quartier-upper {
  text-transform: capitalize;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiX2ljb25zLnNjc3MiLCJfZm9udHMuc2NzcyIsIl9iYXNlLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19zcGFuLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2RpcmVjdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ndXR0ZXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3BpY2ttZXVwL2Nzcy9waWNrbWV1cC5zY3NzIiwibW9kdWxlcy9fYWRzLnNjc3MiLCJtb2R1bGVzL19icmVhZGNydW1iLnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19jb250YWN0LnNjc3MiLCJtb2R1bGVzL19leGNlcnB0LWJsb2NrLnNjc3MiLCJtb2R1bGVzL19ldmVudHMuc2NzcyIsIm1vZHVsZXMvX2ZpbHRlcnMuc2NzcyIsIm1vZHVsZXMvX2Zvcm0tbmV3c2xldHRlci5zY3NzIiwibW9kdWxlcy9fZm9ybS1zZWFyY2guc2NzcyIsIm1vZHVsZXMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19mbGV4aWJsZS1jb250ZW50LnNjc3MiLCJtb2R1bGVzL19pY29uLWNhdGVnb3J5LnNjc3MiLCJtb2R1bGVzL19pbWFnZS1maWVsZC5zY3NzIiwibW9kdWxlcy9faW5mby13aW5kb3cuc2NzcyIsIm1vZHVsZXMvX2xvZ28uc2NzcyIsIm1vZHVsZXMvX25hdi1sYW5ndWFnZXMuc2NzcyIsIm1vZHVsZXMvX25hdi1tZW51LnNjc3MiLCJtb2R1bGVzL19uYXYtcHJldi1uZXh0LnNjc3MiLCJtb2R1bGVzL19ub3RpZmljYXRpb25zLnNjc3MiLCJtb2R1bGVzL19wYXJ0bmVycy5zY3NzIiwibW9kdWxlcy9fc2lnbmF0dXJlLnNjc3MiLCJtb2R1bGVzL19zbGlkZXNob3cuc2NzcyIsIm1vZHVsZXMvX3N0b3JlLnNjc3MiLCJtb2R1bGVzL19zdG9yZXMtbGlzdC5zY3NzIiwibW9kdWxlcy9fc3RvcmVzLW1hcC5zY3NzIiwibW9kdWxlcy9fdGFibGVzLnNjc3MiLCJtb2R1bGVzL190aXRsZXMuc2NzcyIsIm1vZHVsZXMvX3RleHQuc2NzcyIsIm1vZHVsZXMvX3VzZWZ1bC1pbmZvcm1hdGlvbi5zY3NzIiwibW9kdWxlcy9fc3VuZGF5cy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwibWFpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjtFQUNJLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLCtCQUFRO0VBQ1IsMkpBRTRDLEVBQUE7O0FBR2hEOzs7Ozs7O0VBR0ksc0JBQXNCO0VBQ3RCLHFCQUFxQjtFQUNyQixtQ0FBbUM7RUFDbkMsb0NBQW9DO0VBQ3BDLG1CQUFtQjtFQUNu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QyxtQkNxRG1FLEVGNUR0RTtFQVpEO0lHWU0sYUFBYTtJQUNiLGVBQWU7SUFDZixZQUFZLEVBQ2I7RUhmTDtJQVNRLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFDbkI7O0FBRUw7RUFFQSxrQkFBa0IsRUFDakI7O0FBQ0Q7RUFFSSxZQUFZO0VBQ1osWUFBWSxFQUNmOztBSUpDO0VKU0U7SUNQQSxpQkl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCx1Qk00RHdCLEVQL0N2QjtJQU5EO01DUEEsaUJJd0lvQjtNSnhJcEIsYUtBdUU7TUxBdkUsZ0JJa0ZvQixFTHRFZjtFQUdMO0lDZkEsaUJJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsdUJNNER3QixFUHZDdkI7SUFORDtNQ2ZBLGlCSXdJb0I7TUp4SXBCLGFLQXVFO01MQXZFLGdCSWtGb0IsRUw5RGY7RUFJTDtJQ3hCQSxpQkl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCx1Qk00RHdCLEVQOUJ2QjtJQU5EO01DeEJBLGlCSXdJb0I7TUp4SXBCLGFLQXVFO01MQXZFLGdCSWtGb0IsRUxyRGY7RUFHTDtJQ2hDQSxpQkl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCx1Qk00RHdCLEVQdEJ2QjtJQU5EO01DaENBLGlCSXdJb0I7TUp4SXBCLGFLQXVFO01MQXZFLGdCSWtGb0IsRUw3Q2Y7RUFHTDtJQ3hDQSxZSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELGVJK0VxQjtJSi9FckIsZ0JJa0ZvQixFTHBDbkI7SUFORDtNQ3hDQSxZSXdJb0I7TUp4SXBCLGFLQXVFO01MQXZFLGdCSWtGb0IsRUxyQ2YsRUFBQTs7QUFVVDtFSXZDSSxZQUFZO0VBQ1osZUFBZTtFQUNmLFlBQVksRUFDYjs7QUpvQ0g7RUFLUSxlQUFlLEVBTWxCO0VBWEw7SUFRWSxlQUFlO0lBQ2YsZUFBZSxFQUNsQjs7QUluRVA7RUp3RUY7SUFLWSxhQUFhO0lBQ2IsZ0JLNERZLEVMMURuQixFQUFBOztBSWhGSDtFSm9GRjtJQUdRLFlBQVk7SUFFWix1Qk8zQm9CO0lQNEJwQixpQktnRGdCLEVMOUN2QixFQUFBOztB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WUFBWTtRQUNaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QiwwQkFBMEIsRUFFakMsRUFBQTtFdEN4REg7SXNDK0JGO01BNEJZLDBCQUEwQjtNQUMxQixZQUFZLEVBRW5CLEVBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29ucyc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29ucy5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9pY29ucy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb25zLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIik7IH1cblxuLmljb24sIC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLFxuLmljb25bY2xhc3NePVwiaWNvbi1cIl0sXG4uaGVhZGVyIFtjbGFzc149XCJpY29uLVwiXS5waG9uZTpiZWZvcmUsXG4uc3RvcmVzLWxpc3QtY29udGFpbmVyIFtjbGFzc149XCJpY29uLVwiXS5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUsXG4uaWNvbltjbGFzcyo9XCIgaWNvbi1cIl0sXG4uaGVhZGVyIFtjbGFzcyo9XCIgaWNvbi1cIl0ucGhvbmU6YmVmb3JlLFxuLnN0b3Jlcy1saXN0LWNvbnRhaW5lciBbY2xhc3MqPVwiIGljb24tXCJdLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdpY29ucyc7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmljb24tc2VsZWN0OmJlZm9yZSwgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIFcIjsgfVxuXG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIJcIjsgfVxuXG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu6og1wiOyB9XG5cbi5pY29uLWxhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIRcIjsgfVxuXG4uaWNvbi1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiFXCI7IH1cblxuLmljb24tbW9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ohlwiOyB9XG5cbi5pY29uLW5ld3NsZXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIdcIjsgfVxuXG4uaWNvbi1waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiIXCI7IH1cblxuLmljb24tbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiJXCI7IH1cblxuLmljb24tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIpcIjsgfVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oi1wiOyB9XG5cbi5pY29uLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIxcIjsgfVxuXG4uaWNvbi1iZWF1dGUtc2FudGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqI1cIjsgfVxuXG4uaWNvbi1iZWJlcy1lbmZhbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiOXCI7IH1cblxuLmljb24tYmlqb3V0ZXJpZXMtaG9ybG9nZXJpZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqI9cIjsgfVxuXG4uaWNvbi1jaGF1c3N1cmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiQXCI7IH1cblxuLmljb24tY3VsdHVyZS1sb2lzaXJzLXRvdXJpc21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiRXCI7IH1cblxuLmljb24tZ291dHMtc2F2ZXVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oklwiOyB9XG5cbi5pY29uLWhvdGVscy1yZXN0YXVyYW50cy1jYWZlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ok1wiOyB9XG5cbi5pY29uLW1haXNvbi1kZWNvcmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiUXCI7IH1cblxuLmljb24tbW9kZS1hY2Nlc3NvaXJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6olVwiOyB9XG5cbi5pY29uLW11bHRpbWVkaWEtYnVyZWF1dGlxdWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJZcIjsgfVxuXG4uaWNvbi1zZXJ2aWNlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ol1wiOyB9XG5cbi5pY29uLXN1cGVybWFyY2hlcy1nZW5lcmFsaXN0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJhcIjsgfVxuXG4uaWNvbi1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJlcIjsgfVxuXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6omlwiOyB9XG5cbi5pY29uLWNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJtcIjsgfVxuXG4uaWNvbi1hY3R1YWxpdGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qicXCI7IH1cblxuLmljb24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6onVwiOyB9XG5cbi5pY29uLWNpdHlzaG9wcGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6onlwiOyB9XG5cbi5pY29uLXByZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJ9cIjsgfVxuXG4uaWNvbi1pbmZvcm1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ooFwiOyB9XG5cbi5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqKFcIjsgfVxuXG4uaWNvbi10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oolwiOyB9XG5cbi8qIEdlbmVyYXRlZCBieSBGb250IFNxdWlycmVsIChodHRwczovL3d3dy5mb250c3F1aXJyZWwuY29tKSBvbiBBcHJpbCAyNCwgMjAxNiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2JvbGRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZF9pdGFsaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNib2xkX2l0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNpdGFsaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNpdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zbGlnaHQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1saWdodC13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNsaWdodFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNsaWdodF9pdGFsaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0aXRhbGljLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0aXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0aXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNsaWdodF9pdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zcmVndWxhcic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtcmVndWxhci13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtcmVndWxhci13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3JlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zc2VtaWJvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZC13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNzZW1pYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNzZW1pYm9sZF9pdGFsaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkaXRhbGljLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkaXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNzZW1pYm9sZF9pdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zdGhpbic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbi13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbi13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3RoaW5cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zdGhpbl9pdGFsaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnN0aGluX2l0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNyZWd1bGFyJzsgfVxuXG5hIHtcbiAgY29sb3I6ICNiOWRhYzk7IH1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbnRhaW5lciwgLnByZXYtbmV4dC1wb3N0IHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDcwZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmNvbnRhaW5lcjphZnRlciwgLnByZXYtbmV4dC1wb3N0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29udGFpbmVyLm5vLXBhZGRpbmcsIC5uby1wYWRkaW5nLnByZXYtbmV4dC1wb3N0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uY29udGFpbmVyX2J1dHRvbiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jb2wteHMtMTIge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbWQtMyB7XG4gICAgd2lkdGg6IDI0LjA5NjM5JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjA0ODIlOyB9XG4gICAgLmNvbC1tZC0zLmxhc3Qge1xuICAgICAgd2lkdGg6IDI0LjA5NjM5JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29sLW1kLTQge1xuICAgIHdpZHRoOiAzMi41MzAxMiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTsgfVxuICAgIC5jb2wtbWQtNC5sYXN0IHtcbiAgICAgIHdpZHRoOiAzMi41MzAxMiU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbC1tZC02IHtcbiAgICB3aWR0aDogNDkuMzk3NTklO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS4yMDQ4MiU7IH1cbiAgICAuY29sLW1kLTYubGFzdCB7XG4gICAgICB3aWR0aDogNDkuMzk3NTklO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2wtbWQtOCB7XG4gICAgd2lkdGg6IDY2LjI2NTA2JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjA0ODIlOyB9XG4gICAgLmNvbC1tZC04Lmxhc3Qge1xuICAgICAgd2lkdGg6IDY2LjI2NTA2JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29sLW1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY29sLW1kLTEyLmxhc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY29udGVudC13cmFwcGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5jb250ZW50LXdyYXBwZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jb250ZW50LXdyYXBwZXIgLmltYWdlLWNvbnRhaW5lciA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250ZW50LndpdGgtc2lkZWJhciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA3NC42OTg4JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2lkZWJhciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTtcbiAgICB3aWR0aDogMjQuMDk2MzklOyB9IH1cblxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDRyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgICBwYWRkaW5nOiAxZW0gMCAwIDA7IH0gfVxuICAuaGVhZGVyIC5jb250YWluZXIsIC5oZWFkZXIgLnByZXYtbmV4dC1wb3N0IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29udGVudC1tYWluLCAuY29udGVudC1waG90b3Mge1xuICBtYXJnaW46IDJyZW0gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGVudC1tYWluLCAuY29udGVudC1waG90b3Mge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiA0cmVtIDAgMDtcbiAgICAgIHdpZHRoOiA2Ni4yNjUwNiU7IH0gfVxuXG4uY29udGVudC1waG90b3Mge1xuICBtYXJnaW46IDJyZW0gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGVudC1waG90b3Mge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNvbnRlbnQtc2lkZWJhciB7XG4gIG1hcmdpbjogNHJlbSAwIDJyZW0gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGVudC1zaWRlYmFyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiA1cmVtIDAgM3JlbSAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTtcbiAgICAgIHdpZHRoOiAxOS44Nzk1MiU7IH0gfVxuXG4ucG9zdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuXG4ubmV3cyB7XG4gIG1hcmdpbjogNnJlbSAwOyB9XG5cbi5zaWRlYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAzcmVtOyB9XG4gIC5zaWRlYmFyLnJpZ2h0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuI2dvX3VwIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkYWM5OyB9XG4gICNnb191cCAuYnV0dG9uLmhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTRjOGI3OyB9XG5cbi5mb290ZXIge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkYWM5O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9IH1cblxuLyoqXG4gKiBAcGFja2FnZVx0XHRQaWNrTWVVcCAtIGpRdWVyeSBkYXRlcGlja2VyIHBsdWdpblxuICogQGF1dGhvclx0XHROYXphciBNb2tyeW5za3lpIDxuYXphckBtb2tyeW5za3lpLmNvbT5cbiAqIEBhdXRob3JcdFx0U3RlZmFuIFBldHJlIDx3d3cuZXllY29uLnJvPlxuICogQGNvcHlyaWdodFx0Q29weXJpZ2h0IChjKSAyMDEzLTIwMTUsIE5hemFyIE1va3J5bnNreWlcbiAqIEBjb3B5cmlnaHRcdENvcHlyaWdodCAoYykgMjAwOC0yMDA5LCBTdGVmYW4gUGV0cmVcbiAqIEBsaWNlbnNlXHRcdE1JVCBMaWNlbnNlLCBzZWUgbGljZW5zZS50eHRcbiAqL1xuLnBpY2ttZXVwIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMC40ZW07XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnBpY2ttZXVwICoge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5waWNrbWV1cCAucG11LWluc3RhbmNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMy44ZW07XG4gICAgcGFkZGluZzogLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDE1ZW07IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LWJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2VlZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LXRvZGF5IHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNzM4NGQ7XG4gICAgICBjb2xvcjogIzg4YzVlYjsgfVxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICM4OGM1ZWI7IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LW5vdC1pbi1tb250aCB7XG4gICAgICBjb2xvcjogIzY2NjsgfVxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtZGlzYWJsZWQsXG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS1kaXNhYmxlZDpob3ZlciB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZDogIzEzNmE5ZjtcbiAgICAgIGNvbG9yOiAjZWVlOyB9XG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS1ub3QtaW4tbW9udGgucG11LXNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNzM4NGQ7IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSBuYXYge1xuICAgICAgY29sb3I6ICNlZWU7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBsaW5lLWhlaWdodDogMmVtOyB9XG4gICAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSBuYXYgKjpmaXJzdC1jaGlsZCA6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzg4YzVlYjsgfVxuICAgICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgbmF2IC5wbXUtcHJldixcbiAgICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIG5hdiAucG11LW5leHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgd2lkdGg6IDFlbTsgfVxuICAgICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgbmF2IC5wbXUtbW9udGgge1xuICAgICAgICB3aWR0aDogMTRlbTsgfVxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUteWVhcnMgKixcbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LW1vbnRocyAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjZlbTtcbiAgICAgIHdpZHRoOiAzLjVlbTsgfVxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtZGF5LW9mLXdlZWsge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LWRheS1vZi13ZWVrICosXG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS1kYXlzICoge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgd2lkdGg6IDJlbTsgfVxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtZGF5LW9mLXdlZWsgKiB7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07IH1cbiAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2U6Zmlyc3QtY2hpbGQgLnBtdS1wcmV2LFxuICAucGlja21ldXAgLnBtdS1pbnN0YW5jZTpsYXN0LWNoaWxkIC5wbXUtbmV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2U6Zmlyc3QtY2hpbGQgLnBtdS1tb250aCxcbiAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2U6bGFzdC1jaGlsZCAucG11LW1vbnRoIHtcbiAgICB3aWR0aDogMTNlbTsgfVxuICAucGlja21ldXAgLnBtdS1pbnN0YW5jZTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIC5wbXUtbW9udGgge1xuICAgIHdpZHRoOiAxMmVtOyB9XG4gIC5waWNrbWV1cDpub3QoLnBtdS12aWV3LWRheXMpIC5wbXUtZGF5cyxcbiAgLnBpY2ttZXVwOm5vdCgucG11LXZpZXctZGF5cykgLnBtdS1kYXktb2Ytd2VlayxcbiAgLnBpY2ttZXVwOm5vdCgucG11LXZpZXctbW9udGhzKSAucG11LW1vbnRocyxcbiAgLnBpY2ttZXVwOm5vdCgucG11LXZpZXcteWVhcnMpIC5wbXUteWVhcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFkcyB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDZyZW07IH1cbiAgLmFkcyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgd2lkdGg6IDQ5LjM5NzU5JTsgfVxuICAgIC5hZHMgYSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYWRzIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nLXRvcDogMS40cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS40cmVtOyB9XG4gIC5icmVhZGNydW1iIGEsXG4gIC5icmVhZGNydW1iIC5icmVhZGNydW1iX2xhc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjRyZW07IH1cbiAgLmJyZWFkY3J1bWIgLmJyZWFkY3J1bWJfbGFzdCB7XG4gICAgY29sb3I6ICNiOWRhYzk7IH1cbiAgLmJyZWFkY3J1bWIgLmljb24sIC5icmVhZGNydW1iIC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlciAuYnJlYWRjcnVtYiAucGhvbmU6YmVmb3JlLCAuYnJlYWRjcnVtYiAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUsIC5zdG9yZXMtbGlzdC1jb250YWluZXIgLmJyZWFkY3J1bWIgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNHJlbTtcbiAgICBmb250LXNpemU6IDAuNmVtOyB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgYm9yZGVyOiBzb2xpZCAycHggdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24udHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNGM4Yjc7IH1cbiAgLmJ1dHRvbi5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZGFjOTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjZlbSAxZW07IH1cbiAgLmJ1dHRvbi5zZWVyb2FkIHtcbiAgICBtYXJnaW4tdG9wOiAtOTBweDsgfVxuICAuYnV0dG9uLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmJ1dHRvbi5saWduZS0yIHtcbiAgICBwYWRkaW5nOiAxZW0gMC41ZW07IH1cbiAgLmJ1dHRvbi50aXRsZSB7XG4gICAgcGFkZGluZzogMWVtIDJlbTtcbiAgICBib3JkZXI6ICNiOWRhYzk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZGFjOTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5idXR0b24udGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAyZW0gMDsgfSB9XG5cbi5idG4tbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYnRuLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmJ0bi1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAuYnRuLWNsb3NlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjZlbTsgfVxuXG4uZm9ybS1jb250YWN0ID4gZGl2IHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5mb3JtLWNvbnRhY3QgLmJ1dHRvbi1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29udGFjdC1tYXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBoZWlnaHQ6IDIwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkYWM5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb250YWN0LW1hcC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfVxuICAgICAgLmNvbnRhY3QtbWFwLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLWNvbnRhY3QuanBnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBjb250ZW50OiAnJzsgfSB9XG4gIC5jb250YWN0LW1hcC1jb250YWluZXIgLm1hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuY29udGFjdC1tYXAtY29udGFpbmVyIC5tYXAge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmV4Y2VycHQtYmxvY2tzIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5leGNlcnB0LWJsb2NrczphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXhjZXJwdC1ibG9ja3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjA0ODIlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAyNC4wOTYzOSU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jazpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2s6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICAgIHdpZHRoOiAyNC4wOTYzOSU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNzUlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkOyB9IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuY2FwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgd2lkdGg6IDc0LjY5ODglO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuY2FwdGlvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLjhyZW07XG4gICAgICAgICAgbGVmdDogLjhyZW07XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogLjVlbSAuNWVtO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjZyZW0pO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIC40cywgdHJhbnNmb3JtIC40cywgb3BhY2l0eSAuNHM7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lICsgdGltZSArIC5pbWFnZS1jb250YWluZXIgKyAuY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZSArIHRpbWUgKyAuaW1hZ2UtY29udGFpbmVyICsgLmNhcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVlbTsgfSB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAuNnJlbTtcbiAgICAgIGxlZnQ6IDFlbTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAwLjZlbTtcbiAgICAgIHdpZHRoOiA1ZW07XG4gICAgICBoZWlnaHQ6IDVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuN2VtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUge1xuICAgICAgICAgIHJpZ2h0OiAuNnJlbTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lIC5kYXksXG4gICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZSAubW9udGgsXG4gICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZSAueWVhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lIC5kYXkge1xuICAgICAgICBjb2xvcjogI2I5ZGFjOTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUgLm1vbnRoIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lIC55ZWFyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20ge1xuICAgICAgICBsZWZ0OiAxZW07XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUuZnJvbSB7XG4gICAgICAgICAgICByaWdodDogNWVtO1xuICAgICAgICAgICAgbGVmdDogYXV0bzsgfSB9XG4gICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLmljb24sIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLmhlYWRlciAucGhvbmU6YmVmb3JlLCAuaGVhZGVyIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLnBob25lOmJlZm9yZSwgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUuZnJvbSAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUsIC5zdG9yZXMtbGlzdC1jb250YWluZXIgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUuZnJvbSAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjNlbSwgLTUwJSk7IH1cbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUuZnJvbSArIHRpbWUge1xuICAgICAgICAgIGxlZnQ6IDVlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZS5mcm9tICsgdGltZSB7XG4gICAgICAgICAgICAgIGxlZnQ6IGF1dG87IH0gfVxuICAgICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gKyB0aW1lIC5kYXksXG4gICAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUuZnJvbSArIHRpbWUgLm1vbnRoLFxuICAgICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gKyB0aW1lIC55ZWFyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC50aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC50aXRsZSB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC5zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgLnJlYWRtb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgLnJlYWRtb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMsIHRvcCAuNHM7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC5yZWFkbW9yZTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrOm50aC1jaGlsZCg0bi0zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhjZXJwdC1ibG9ja3MuZXZlbnRzIC5leGNlcnB0LWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiA0LjVlbTsgfVxuICAgIC5leGNlcnB0LWJsb2Nrcy5ldmVudHMgLmV4Y2VycHQtYmxvY2sgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogNC41ZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuZXhjZXJwdC1ibG9ja3MuZXZlbnRzIC5leGNlcnB0LWJsb2NrIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNzUlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkOyB9IH1cbiAgICAgIC5leGNlcnB0LWJsb2Nrcy5ldmVudHMgLmV4Y2VycHQtYmxvY2sgLmltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5leGNlcnB0LWJsb2Nrcy5ldmVudHMgLmV4Y2VycHQtYmxvY2sgLmltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5leGNlcnB0LWJsb2Nrcy5ldmVudHMgLmV4Y2VycHQtYmxvY2sgLmNhcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICAgIHdpZHRoOiA5NSU7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5leGNlcnB0LWJsb2Nrcy5ldmVudHMgLmV4Y2VycHQtYmxvY2sgLmNhcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS42cmVtKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5leGNlcnB0LWJsb2NrcyBhLmV4Y2VycHQtYmxvY2s6aG92ZXIgLnJlYWRtb3JlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5leGNlcnB0LWJsb2NrcyBhLmV4Y2VycHQtYmxvY2s6aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MgYS5leGNlcnB0LWJsb2NrOmhvdmVyOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MgYS5leGNlcnB0LWJsb2NrOmhvdmVyIC5jYXB0aW9uIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MgYS5leGNlcnB0LWJsb2NrOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MgYS5leGNlcnB0LWJsb2NrOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyguOHJlbSAtIDJweCk7XG4gICAgICBsZWZ0OiBjYWxjKC44cmVtIC0gMnB4KTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS42cmVtKTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS42cmVtKTtcbiAgICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnM7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXhjZXJwdC1ibG9ja3MuZmlyc3QtYmxvY2stbGFyZ2UgLmV4Y2VycHQtYmxvY2s6bnRoLWNoaWxkKDRuLTMpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjIwNDgyJTsgfVxuICAgIC5leGNlcnB0LWJsb2Nrcy5maXJzdC1ibG9jay1sYXJnZSAuZXhjZXJwdC1ibG9jazpudGgtY2hpbGQoNG4rNikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MuZmlyc3QtYmxvY2stbGFyZ2UgLmV4Y2VycHQtYmxvY2s6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgd2lkdGg6IDQ5LjM5NzU5JTtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXhjZXJwdC1ibG9ja3MuY29sLTMgLmV4Y2VycHQtYmxvY2sge1xuICAgICAgd2lkdGg6IDMyLjUzMDEyJTsgfVxuICAgICAgLmV4Y2VycHQtYmxvY2tzLmNvbC0zIC5leGNlcnB0LWJsb2NrOm50aC1jaGlsZCg0bi0zKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjIwNDgyJTsgfVxuICAgICAgLmV4Y2VycHQtYmxvY2tzLmNvbC0zIC5leGNlcnB0LWJsb2NrOm50aC1jaGlsZCgzbi0yKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXRlbXBsYXRlLW1vZGVsLWV2ZW50cyAuZmlsdGVycyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLmZpbHRlcnMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZTtcbiAgcGFkZGluZzogMXJlbSAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMXM7XG4gIGhlaWdodDogYXV0bzsgfVxuICAuZmlsdGVycy1jb250YWluZXIuaXMtY29sbGFwc2VkIHtcbiAgICBoZWlnaHQ6IDA7IH1cblxuLmZpbHRlcnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIHotaW5kZXg6IDQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDRyZW0gMXJlbSAxcmVtIDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzLCBsZWZ0IDAuNHM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmZpbHRlcnMge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS42cmVtO1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIC5maWx0ZXJzLmlzLW1vYmlsZS12aXNpYmxlIHtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsgfVxuICAuZmlsdGVycyAuZmlsdGVycy1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS5pcy1jb2xsYXBzZWQgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwZGVnKTsgfVxuICAgIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0uaXMtY29sbGFwc2VkIC5maWx0ZXJzLWl0ZW0tY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmlsdGVycyAuZmlsdGVycy1pdGVtLWxldHRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS1sZXR0ZXIgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAuZmlsdGVycyAuZmlsdGVycy1pdGVtLWxldHRlciAuY29udGFpbmVyLWxldHRlcnMge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tbGV0dGVyIC5jb250YWluZXItbGV0dGVycyAuY2F0ZWdvcnktbGV0dGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgICAgICAuZmlsdGVycyAuZmlsdGVycy1pdGVtLWxldHRlciAuY29udGFpbmVyLWxldHRlcnMgLmNhdGVnb3J5LWxldHRlcjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2I5ZGFjOTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07IH0gfVxuICAuZmlsdGVycyAuZmlsdGVycy1pdGVtLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwLjhlbSAwIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC40cywgbWFyZ2luLXRvcCAwLjRzO1xuICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS1jb250ZW50IGxpIHtcbiAgICAgIG1hcmdpbjogMC4yZW0gMDsgfVxuICAgIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tY29udGVudCBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tY29udGVudCBsYWJlbC5oYWxmX3RpbWUge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS1jb250ZW50IGxhYmVsLmhvdXJzIHtcbiAgICAgICAgd2lkdGg6IDEuNWVtOyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS1jb250ZW50IHNlbGVjdCB7XG4gICAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5maWx0ZXJzIC5idG4tY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5maWx0ZXJzIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuZmlsdGVycyAuYnV0dG9uI2FsbF9hbHBoYWJldCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmlsdGVycy5maWx0ZXJzLXN1bmRheXMge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4jZmlsdGVyIHtcbiAgei1pbmRleDogMTA7IH1cbiAgI2ZpbHRlciAuZmlsdGVycyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICNmaWx0ZXIgLmZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdG9wOiBhdXRvOyB9IH1cbiAgICAjZmlsdGVyIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0ge1xuICAgICAgd2lkdGg6IDE2LjY2NjY2NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICNmaWx0ZXIgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgI2ZpbHRlciAuZmlsdGVycyAuZmlsdGVycy1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICNmaWx0ZXIgLmZpbHRlcnMgLmJ1dHRvbiNhbGxfYWxwaGFiZXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgI2ZpbHRlciAuZmlsdGVycyAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICNmaWx0ZXIgLmZpbHRlcnMgLmJ1dHRvblt0eXBlPVwiZmlsdHJlXCJdIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNmaWx0ZXIgLmJ0bi1zaG93LWZpbHRlcnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5maWx0ZXJzLWJ1dHRvbiAuYWxwaGFiZXQge1xuICB3aWR0aDogNDAlOyB9XG5cbi5maWx0ZXJzLWJ1dHRvbiAjYWxsX2FscGhhYmV0X2JyYW5kcyB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYnRuLXNob3ctZmlsdGVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5idG4tc2hvdy1maWx0ZXJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5idG4tc2hvdy1maWx0ZXJzOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuXG4ubmV3c2xldHRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZGFjOTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubmV3c2xldHRlciAuc2VjdGlvbi10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5uZXdzbGV0dGVyIC5zZWN0aW9uLXRpdGxlIHNwYW4gKyBzcGFuIHtcbiAgICBmb250LXNpemU6IC40ZW07IH1cbiAgLm5ld3NsZXR0ZXIgZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5uZXdzbGV0dGVyIGZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICAubmV3c2xldHRlciBmb3JtIC5idXR0b24sXG4gICAgLm5ld3NsZXR0ZXIgZm9ybSBzZWxlY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IC41ZW0gMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLm5ld3NsZXR0ZXIgZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgICAgICAubmV3c2xldHRlciBmb3JtIC5idXR0b24sXG4gICAgICAgIC5uZXdzbGV0dGVyIGZvcm0gc2VsZWN0IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLS4yNWVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjIwNDgyJTtcbiAgICAgICAgICB3aWR0aDogMzIuNTMwMTIlOyB9IH1cbiAgICAubmV3c2xldHRlciBmb3JtIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNlYXJjaC1mb3JtIHtcbiAgcGFkZGluZzogMWVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWRhYzk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2VhcmNoLWZvcm0gbGFiZWwsXG4gIC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gIC5zZWFyY2gtZm9ybSAuYnV0dG9uLFxuICAuc2VhcmNoLWZvcm0gLnNlcGFyYXRvciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2VhcmNoLWZvcm0gbGFiZWw6Zm9jdXMsXG4gICAgLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyxcbiAgICAuc2VhcmNoLWZvcm0gLmJ1dHRvbjpmb2N1cyxcbiAgICAuc2VhcmNoLWZvcm0gLnNlcGFyYXRvcjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuc2VhcmNoLWZvcm0gbGFiZWwsXG4gICAgICAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgICAgLnNlYXJjaC1mb3JtIC5idXR0b24sXG4gICAgICAuc2VhcmNoLWZvcm0gLnNlcGFyYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtLjI1ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuICAuc2VhcmNoLWZvcm0gYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IC00M3B4O1xuICAgIGJhY2tncm91bmQ6ICNiOWRhYzk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zZWFyY2gtZm9ybSBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS40ZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMy4zZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42ZW07XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfSB9XG4gIC5zZWFyY2gtZm9ybSAjYnRuX2ZpbHRyZSB7XG4gICAgcGFkZGluZy1yaWdodDogM2VtO1xuICAgIHBhZGRpbmctbGVmdDogMi4xZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNlYXJjaC1mb3JtICNidG5fZmlsdHJlIC5pY29uLCAuc2VhcmNoLWZvcm0gI2J0bl9maWx0cmUgLmhlYWRlciAucGhvbmU6YmVmb3JlLCAuaGVhZGVyIC5zZWFyY2gtZm9ybSAjYnRuX2ZpbHRyZSAucGhvbmU6YmVmb3JlLCAuc2VhcmNoLWZvcm0gI2J0bl9maWx0cmUgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zZWFyY2gtZm9ybSAjYnRuX2ZpbHRyZSAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNDIlO1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKSByb3RhdGUoLTE4MGRlZyk7IH1cbiAgICAuc2VhcmNoLWZvcm0gI2J0bl9maWx0cmUuaXMtY29sbGFwc2VkIC5pY29uLCAuc2VhcmNoLWZvcm0gI2J0bl9maWx0cmUuaXMtY29sbGFwc2VkIC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlciAuc2VhcmNoLWZvcm0gI2J0bl9maWx0cmUuaXMtY29sbGFwc2VkIC5waG9uZTpiZWZvcmUsIC5zZWFyY2gtZm9ybSAjYnRuX2ZpbHRyZS5pcy1jb2xsYXBzZWQgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zZWFyY2gtZm9ybSAjYnRuX2ZpbHRyZS5pcy1jb2xsYXBzZWQgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSB7XG4gICAgICB0b3A6IDQ1JTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIC5zZWFyY2gtZm9ybSBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNlYXJjaC1mb3JtIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDcuMjI4OTIlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgICB3aWR0aDogMTkuODc5NTIlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLnNlYXJjaC1mb3JtIC5idXR0b24ucHJpbWFyeSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNlYXJjaC1mb3JtIC5idXR0b24ucHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjA0ODIlO1xuICAgICAgICB3aWR0aDogMTUuNjYyNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5zZWFyY2gtZm9ybSAuYnV0dG9uLnByaW1hcnkubGlnbmUtMiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgLnNlYXJjaC1mb3JtIC5zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMC40cmVtIDAgMC42cmVtIDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zZWFyY2gtZm9ybSAuc2VwYXJhdG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAwIDAgMS4yMDQ4MiU7XG4gICAgICAgIHdpZHRoOiA3LjIyODkyJTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnNlYXJjaC1mb3JtIC5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2YwNDEyNDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC5wYXJzbGV5LWVycm9ycy1saXN0ID4gbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNlbSAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTdlMzsgfVxuXG4uZmllbGQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG5mb3JtIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWFyZ2luOiA0ZW0gMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNjY2M7IH1cblxuZm9ybSBsZWdlbmQge1xuICBwYWRkaW5nOiAwIDAuNmVtO1xuICBtYXJnaW4tbGVmdDogMmVtOyB9XG5cbi5pbnB1dC10ZXh0LFxuLnNlbGVjdCxcbi50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjg1ZW0gMS41ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC41cywgYm9yZGVyLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIC5pbnB1dC10ZXh0LnJvdW5kZWQsXG4gIC5zZWxlY3Qucm91bmRlZCxcbiAgLnRleHRhcmVhLnJvdW5kZWQge1xuICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG4gIC5pbnB1dC10ZXh0LmlubGluZSxcbiAgLnNlbGVjdC5pbmxpbmUsXG4gIC50ZXh0YXJlYS5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4uc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24tc2VsZWN0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7IH1cbiAgLnNlbGVjdC5yb3VuZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkYWM5O1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50ZXh0YXJlYSB7XG4gIGhlaWdodDogNnJlbTsgfVxuXG4uY2hlY2tib3hlcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbHVtbi1jb3VudDogNDtcbiAgY29sdW1uLWdhcDogMWVtOyB9XG4gIC5jaGVja2JveGVzLWxpc3QgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogMC40ZW07IH1cblxudGFibGUgLmpvdXIge1xuICB3aWR0aDogMjAlOyB9XG5cbnRhYmxlIC5hbSB7XG4gIHdpZHRoOiA0MCU7IH1cblxudGFibGUgLnBtIHtcbiAgd2lkdGg6IDQwJTsgfVxuXG50YWJsZSAuYW0gLmlucHV0LXRleHQsXG50YWJsZSAucG0gLmlucHV0LXRleHQge1xuICB3aWR0aDogNnJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNmVtOyB9XG5cbi5mYy1jb2wtMSxcbi5mYy1jb2wtMixcbi5mYy1jb2wtMyB7XG4gIG1hcmdpbjogMnJlbSAwOyB9XG4gIC5mYy1jb2wtMTphZnRlcixcbiAgLmZjLWNvbC0yOmFmdGVyLFxuICAuZmMtY29sLTM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5mYy1jb2wtMSxcbiAgICAuZmMtY29sLTIsXG4gICAgLmZjLWNvbC0zIHtcbiAgICAgIC8qbWFyZ2luOiAwIC0xcmVtO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAxcmVtOyovIH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZmMtY29sLTEgPiBkaXY6bGFzdC1jaGlsZCxcbiAgICAuZmMtY29sLTIgPiBkaXY6bGFzdC1jaGlsZCxcbiAgICAuZmMtY29sLTMgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAvKmRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsqL1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmZjLWNvbC0xID4gZGl2IGltZyxcbiAgLmZjLWNvbC0yID4gZGl2IGltZyxcbiAgLmZjLWNvbC0zID4gZGl2IGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmZjLWNvbC0xIHVsLFxuICAuZmMtY29sLTEgb2wsXG4gIC5mYy1jb2wtMiB1bCxcbiAgLmZjLWNvbC0yIG9sLFxuICAuZmMtY29sLTMgdWwsXG4gIC5mYy1jb2wtMyBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07IH1cbiAgLmZjLWNvbC0xIGxpLFxuICAuZmMtY29sLTIgbGksXG4gIC5mYy1jb2wtMyBsaSB7XG4gICAgbWFyZ2luOiAwLjVlbSAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmMtY29sLTIgPiBkaXYge1xuICAgIHdpZHRoOiA0OS4zOTc1OSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmMtY29sLTMgPiBkaXYge1xuICAgIHdpZHRoOiAzMi41MzAxMiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTsgfSB9XG5cbi5pY29uLWNhdGVnb3J5IHtcbiAgd2lkdGg6IDIuMWVtO1xuICBoZWlnaHQ6IDIuMWVtO1xuICBib3JkZXItcmFkaXVzOiA1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjFlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5pY29uLWNhdGVnb3J5IHtcbiAgICAgIGZvbnQtc2l6ZTogMi40ZW07IH0gfVxuXG4uaW1hZ2UtZmllbGQge1xuICBib3JkZXI6IHNvbGlkIDJweCAjZjFlZmVkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogNjIuNSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmltYWdlLWZpZWxkIC5idG4tZWRpdCxcbiAgLmltYWdlLWZpZWxkIC5idG4tZGVsZXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuMnM7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgei1pbmRleDogMjtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggM3B4IDBweCB3aGl0ZTsgfVxuICAuaW1hZ2UtZmllbGQgLmJ0bi1lZGl0IHtcbiAgICByaWdodDogMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLmltYWdlLWZpZWxkIC5idG4tZGVsZXRlIHtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0OyB9XG4gIC5pbWFnZS1maWVsZCAuY3VycmVudC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXgtaGVpZ2h0OiA2MCU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuaW1hZ2UtZmllbGQgLmN1cnJlbnQtaW1hZ2UuY292ZXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAgICAgLmltYWdlLWZpZWxkIC5jdXJyZW50LWltYWdlLmNvdmVyLnBvcnRyYWl0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuaW1hZ2UtZmllbGQgLmN1cnJlbnQtaW1hZ2UuY292ZXIubGFuZHNjYXBlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmltYWdlLWZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uaW5mby13aW5kb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCBvcGFjaXR5IDAuNHM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5pbmZvLXdpbmRvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSk7IH0gfVxuICAuaW5mby13aW5kb3cuaGFzLWljb24gLmljb24tY2F0ZWdvcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pbmZvLXdpbmRvdyAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA0cmVtIDFyZW0gMXJlbSAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbmZvLXdpbmRvdyAudGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICBjb2xvcjogI2I5ZGFjOTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgLmluZm8td2luZG93IC50ZXh0IHtcbiAgICBwYWRkaW5nOiAyZW0gMWVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNGVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuaW5mby13aW5kb3cgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gICAgLmluZm8td2luZG93IC50ZXh0IHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5pbmZvLXdpbmRvdyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLmluZm8td2luZG93IC5pY29uLWNhdGVnb3J5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgbGVmdDogMXJlbTtcbiAgICBmb250LXNpemU6IDEuNGVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuaW5mby13aW5kb3cgLmljb24tY2F0ZWdvcnkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuICAuaW5mby13aW5kb3cuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAuaW5mby13aW5kb3cgaW1nW3NyYz1cIlwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uaGVhZGVyLWxvZ28ge1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMTAwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlYWRlci1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMjQuMDk2MzklO1xuICAgICAgaGVpZ2h0OiAxMTRweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH0gfVxuXG4uaGVhZGVyLWxvZ28tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvY2l0eXNob3BwaW5nLWluZm8tcG9pbnQucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlYWRlci1sb2dvLWxpbmsge1xuICAgICAgd2lkdGg6IDE1NHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgLmhlYWRlci1sb2dvLWxpbmsgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi5uYXYtbGFuZ3VhZ2Uge1xuICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDNyZW07Ki9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWRhYzk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5hdi1sYW5ndWFnZSB7XG4gICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDsqL1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAubmF2LWxhbmd1YWdlIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nOiAwIC44ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZGFjOTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm5hdi1sYW5ndWFnZSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5uYXYtbGFuZ3VhZ2UgbGkgYSwgLm5hdi1sYW5ndWFnZSBsaSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgLjJlbTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLm5hdi1sYW5ndWFnZSBsaSBhLCAubmF2LWxhbmd1YWdlIGxpIHNwYW4ge1xuICAgICAgICAgIHBhZGRpbmc6IC40ZW0gLjJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cbiAgICAubmF2LWxhbmd1YWdlIGxpLmlzLWFjdGl2ZSBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm5hdi1sYW5ndWFnZSBsaS5pcy1hY3RpdmUgc3BhbjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi5uYXYtbWFpbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGxlZnQgMC40cywgb3BhY2l0eSAwLjRzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5uYXYtbWFpbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIC5uYXYtbWFpbi5pcy1tb2JpbGUtdmlzaWJsZSB7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm5hdi1tYWluOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLm5hdi1tYWluOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubmF2LW1haW4gPiB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMC4yNWVtIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAubmF2LW1haW4gPiB1bCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAubmF2LW1haW4gPiB1bCA+IC5tZW51LWl0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAubmF2LW1haW4gPiB1bCA+IC5tZW51LWl0ZW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwIDA7IH0gfVxuICAgICAgLm5hdi1tYWluID4gdWwgPiAubWVudS1pdGVtID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5uYXYtbWFpbiA+IHVsID4gLm1lbnUtaXRlbSA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogLjVlbSAxLjVlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gICAgICAubmF2LW1haW4gPiB1bCA+IC5tZW51LWl0ZW06aG92ZXIgPiBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkYWM5O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5hdi1tYWluID4gdWwgPiAubWVudS1pdGVtOmhvdmVyID4gLmNoaWxkcmVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5uYXYtbWFpbiA+IHVsID4gLm1lbnUtaXRlbS5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWRhYzk7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICAgICAgbWF4LXdpZHRoOiA3MGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAgIC5uYXYtbWFpbiA+IHVsID4gLnN0b3JlcyA+IC5jaGlsZHJlbiA+IHVsOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAubmF2LW1haW4gPiB1bCA+IC5zdG9yZXMgPiAuY2hpbGRyZW4gPiB1bCA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIC5uYXYtbWFpbiA+IHVsID4gLnN0b3JlcyA+IC5jaGlsZHJlbiA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA0ZW07XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAgIC5uYXYtbWFpbiA+IHVsID4gLnN0b3JlcyA+IC5jaGlsZHJlbiA+IHVsID4gbGkgPiBhIC5pY29uLWNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAgICAgICAgICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuID4gdWwgPiBsaSA+IGEgPiBzcGFuIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgICAgIC5uYXYtbWFpbiA+IHVsID4gLnN0b3JlcyA+IC5jaGlsZHJlbiA+IHVsID4gbGkgPiBhID4gc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNGVtKTsgfVxuICAgICAgICAgICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuID4gdWwgPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5hdi1tYWluIC5idG4tY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXIgLnBob25lLCAuaGVhZGVyIC5mYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaGVhZGVyIC5waG9uZSwgLmhlYWRlciAuZmIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuXG4uaGVhZGVyIC5mYiB7XG4gIHRvcDogMzVweDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaGVhZGVyIC5mYiB7XG4gICAgICB0b3A6IDA7IH0gfVxuXG4uaGVhZGVyIC5waG9uZTpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xuICBjb2xvcjogIzAwMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlciAuZmIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLmhlYWRlciAuZmIgaW1nIHtcbiAgbWF4LWhlaWdodDogMzBweDsgfVxuXG4ucHJldi1uZXh0LXBvc3Qge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAucHJldi1uZXh0LXBvc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gICAgICAucHJldi1uZXh0LXBvc3Q6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAucHJldi1uZXh0LXBvc3QgLm5leHQsXG4gIC5wcmV2LW5leHQtcG9zdCAucHJldiB7XG4gICAgd2lkdGg6IDQ5LjM5NzU5JTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5wcmV2LW5leHQtcG9zdCAubmV4dCxcbiAgICAgIC5wcmV2LW5leHQtcG9zdCAucHJldiB7XG4gICAgICAgIHdpZHRoOiA0MC45NjM4NiU7IH0gfVxuICAgIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuaWNvbiwgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlciAucHJldi1uZXh0LXBvc3QgLm5leHQgLnBob25lOmJlZm9yZSwgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5zdG9yZXMtbGlzdC1jb250YWluZXIgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSwgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAucHJldi1uZXh0LXBvc3QgLm5leHQgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSxcbiAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLmljb24sXG4gICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlclxuICAgIC5wcmV2LW5leHQtcG9zdCAucHJldiAucGhvbmU6YmVmb3JlLFxuICAgIC5wcmV2LW5leHQtcG9zdCAucHJldiAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUsIC5zdG9yZXMtbGlzdC1jb250YWluZXJcbiAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW07IH1cbiAgICAgIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuaWNvbjpiZWZvcmUsIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5waG9uZTpiZWZvcmUsIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUsIC5zdG9yZXMtbGlzdC1jb250YWluZXIgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUsXG4gICAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLmljb246YmVmb3JlLFxuICAgICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlclxuICAgICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5waG9uZTpiZWZvcmUsXG4gICAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLCAuc3RvcmVzLWxpc3QtY29udGFpbmVyXG4gICAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC50aXRsZSxcbiAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLnRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAucHJldi1uZXh0LXBvc3QgLm5leHQgLnRpdGxlLFxuICAgICAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLnRpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVyZW0pO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuICAucHJldi1uZXh0LXBvc3QgLnByZXYge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5pY29uLCAucHJldi1uZXh0LXBvc3QgLnByZXYgLmhlYWRlciAucGhvbmU6YmVmb3JlLCAuaGVhZGVyIC5wcmV2LW5leHQtcG9zdCAucHJldiAucGhvbmU6YmVmb3JlLCAucHJldi1uZXh0LXBvc3QgLnByZXYgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCAucHJldiAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG4gIC5wcmV2LW5leHQtcG9zdCAubmV4dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5pY29uLCAucHJldi1uZXh0LXBvc3QgLm5leHQgLmhlYWRlciAucGhvbmU6YmVmb3JlLCAuaGVhZGVyIC5wcmV2LW5leHQtcG9zdCAubmV4dCAucGhvbmU6YmVmb3JlLCAucHJldi1uZXh0LXBvc3QgLm5leHQgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cblxuI25vdGlmaWNhdGlvbnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cywgdG9wIDAuNHM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICNub3RpZmljYXRpb25zLmlzLXZpc2libGUge1xuICAgIHRvcDogNTAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgI25vdGlmaWNhdGlvbnMgLm1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI25vdGlmaWNhdGlvbnMgLm1lc3NhZ2Uuc3VjY2VzcyB7XG4gICAgICBjb2xvcjogIzQzQUM2QTsgfVxuICAgICNub3RpZmljYXRpb25zIC5tZXNzYWdlLmVycm9yIHtcbiAgICAgIGNvbG9yOiAjZjA0MTI0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNub3RpZmljYXRpb25zIHtcbiAgICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuXG4ucGFydG5lcnMge1xuICBtYXJnaW46IDhyZW0gMCA2cmVtIDA7IH1cbiAgLnBhcnRuZXJzIHVsIHtcbiAgICBtYXJnaW46IDJyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhcnRuZXJzIC5wYXJ0bmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5wYXJ0bmVycyAucGFydG5lciB7XG4gICAgICAgIG1hcmdpbjogMC40ZW0gMWVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLnBhcnRuZXJzIC5wYXJ0bmVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAzcmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLnBhcnRuZXJzIC5wYXJ0bmVyIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNnJlbTsgfSB9XG5cbi5zaWduYXR1cmUge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5zaWduYXR1cmUgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuc2lnbmF0dXJlIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm1haW4tc2xpZGVzaG93IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWF4LXdpZHRoOiAxNjIwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAyMDAlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLmltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAucmVhZG1vcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IC0xLjVyZW0gYXV0byAwIGF1dG87XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuNGVtOyB9XG4gICAgICAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC5yZWFkbW9yZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLnJlYWRtb3JlIC5pY29uLCAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC5yZWFkbW9yZSAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAucmVhZG1vcmUgLnBob25lOmJlZm9yZSwgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAucmVhZG1vcmUgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLnJlYWRtb3JlIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAucmVhZG1vcmUgc3BhbiArIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAudGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICBmb250LWZhbWlseTogJ2dyYWZvbGl0YS1zY3JpcHQnOyB9XG4gICAgICAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC50aXRsZSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAubWFpbi1zbGlkZXNob3cgLnNsaWRlICsgLnNsaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vd2wtZG90cyAub3dsLWRvdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZGFjOTsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuaW1hZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaW5nbGUtdWN2bF9zaG9wIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2luZ2xlLXVjdmxfc2hvcCAuaW1hZ2UtY29udGFpbmVyIC5pY29uLWNhdGVnb3J5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpOyB9XG5cbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLmxvZ28gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLnBheW1lbnQtbWV0aG9kcyBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjRlbTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLnBheW1lbnQtbWV0aG9kcyBpbWc6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLmNvb3JkczphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5jb29yZHMgcCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLmNvb3JkcyBwIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5jb29yZHMgcCArIHAge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5jb29yZHMgcCArIHAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLmFkZHJlc3MsXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5waG9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnOyB9XG5cbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLnBob25lIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLnBob25lIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC53ZWJzaXRlLFxuLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAuZW1haWwge1xuICBjb2xvcjogIzUzNzM1ZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuICBmb250LXNpemU6IDEuMWVtOyB9XG5cbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDFlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUge1xuICAgICAgZm9udC1zaXplOiAwLjllbTsgfSB9XG4gIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwLjVlbSAwOyB9XG4gICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAub3BlbmluZy10aW1lIGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuZGF5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAub3BlbmluZy10aW1lIC5kYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNzAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAub3BlbmluZy10aW1lIC5ob3VyczphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAub3BlbmluZy10aW1lIC5ob3VycyB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnMgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnMgPiBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAub3BlbmluZy10aW1lIC5ob3VycyAuYW0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgLmhvdXJzIC5hbSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnMgLnBtIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnMgLnBtIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG5cbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtc2lkZWJhciBwLFxuLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1zaWRlYmFyIHVsIHtcbiAgbWFyZ2luOiAyZW0gMDsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAucGhvdG9zIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4uc3RvcmVzLWxpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMWVtIDA7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXMsIHRyYW5zZm9ybSAwLjRzO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5zdG9yZXMtbGlzdF9faXRlbTpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0b3Jlcy1saXN0X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDMyLjUzMDEyJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5zdG9yZXMtbGlzdF9faXRlbTpudGgtY2hpbGQoM24tMikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbS5pcy1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOyB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbV9faW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICB3aWR0aDogMzIuNTMwMTIlO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2ltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgIGhlaWdodDogOHJlbTsgfSB9XG4gICAgLnN0b3Jlcy1saXN0X19pdGVtX19pbWcgPiBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDgwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX19pbWcgPiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2ltZyAuaWNvbi1jYXRlZ29yeSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5zdG9yZXMtbGlzdF9faXRlbV9faW1nIC5pY29uLXN1bmRheXMge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbV9faW1nX19zdW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIGhlaWdodDogNnJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX19pbWdfX3N1bmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3NHB4KSB7XG4gICAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2ltZ19fc3VuZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2ltZ19fc3VuZCAubG9nb19jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5zdG9yZXMtbGlzdF9faXRlbV9faW1nX19zdW5kIC5sb2dvX2NvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDI3JTsgfSB9XG4gICAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2ltZ19fc3VuZCAubG9nb19jb250YWluZXIgPiBpbWcge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbV9fdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICB3aWR0aDogNjYuMjY1MDYlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5zdG9yZXMtbGlzdF9faXRlbV9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuc3RvcmVzLWxpc3RfX2l0ZW1fX3RleHRfX3N1bmRheXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX190ZXh0X19zdW5kYXlzIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLnN0b3Jlcy1saXN0X19pdGVtX19uYW1lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX25hbWUge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjVlbSAwO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtOyB9IH1cbiAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX25hbWVfX2Rpc3RyaWN0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zcmVndWxhcic7XG4gICAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbV9faW5mbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2luZm9fX29wZW4sIC5zdG9yZXMtbGlzdF9faXRlbV9faW5mb19fZGlzdHJpY3QsIC5zdG9yZXMtbGlzdF9faXRlbV9faW5mb19faXRpbiB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2luZm9fX29wZW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAgIC5zdG9yZXMtbGlzdF9faXRlbV9faW5mb19faXRpbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2luZm9fX2l0aW4ge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzRweCkge1xuICAgICAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2luZm9fX2l0aW4ge1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjUlLCAwKTsgfSB9XG4gICAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2luZm9fX2l0aW4gLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUge1xuICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbV9fbGlua19fc3VuZGF5IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLnN0b3Jlcy1saXN0X19pdGVtIHAge1xuICAgIG1hcmdpbjogMC40ZW0gMDsgfVxuXG4uc3RvcmVzLWxpc3Quc3RvcmVzLWluZmluaXRlLXNjcm9sbDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9sb2FkaW5nLmdpZlwiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDIzcHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7IH1cblxuLnN0b3Jlcy1saXN0LnN0b3Jlcy1pbmZpbml0ZS1zY3JvbGwuaXMtbG9hZGluZzphZnRlciB7XG4gIGhlaWdodDogM3JlbTtcbiAgb3BhY2l0eTogMTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnN0b3Jlcy1saXN0LmNvbC00IC5zdG9yZXMtbGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IDI0LjA5NjM5JTsgfVxuICAgIC5zdG9yZXMtbGlzdC5jb2wtNCAuc3RvcmVzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDNuLTIpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjIwNDgyJTsgfVxuICAgIC5zdG9yZXMtbGlzdC5jb2wtNCAuc3RvcmVzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDRuLTMpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLnN0b3Jlcy1saXN0LXN1bmRheXMge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgcGFkZGluZy1yaWdodDogMmVtOyB9XG5cbi5zdG9yZXMtbWFwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgaGVpZ2h0OiAzMDBweDsgfVxuICAuc3RvcmVzLW1hcC1jb250YWluZXI6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xvYWRpbmcuZ2lmXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjNweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgaGVpZ2h0IDAuNHM7IH1cbiAgLnN0b3Jlcy1tYXAtY29udGFpbmVyLmlzLWxvYWRpbmc6YWZ0ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zdG9yZXMtbWFwLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDcwMHB4OyB9IH1cbiAgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5tYXAge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuc3RvcmVzLW1hcC1jb250YWluZXIgLmNvbnRhaW5lciwgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC03MDBweDsgfVxuICAgIC5zdG9yZXMtbWFwLWNvbnRhaW5lciAuY29udGFpbmVyIC5zaWRlYmFyLCAuc3RvcmVzLW1hcC1jb250YWluZXIgLnByZXYtbmV4dC1wb3N0IC5zaWRlYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc3RvcmVzLW1hcC1jb250YWluZXIgLmNvbnRhaW5lciAuc2lkZWJhciwgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCAuc2lkZWJhciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAgIC5zdG9yZXMtbWFwLWNvbnRhaW5lciAuY29udGFpbmVyIC5pbmZvLXdpbmRvdywgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCAuaW5mby13aW5kb3cge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc3RvcmVzLW1hcC1jb250YWluZXIgLmNvbnRhaW5lciAuaW5mby13aW5kb3csIC5zdG9yZXMtbWFwLWNvbnRhaW5lciAucHJldi1uZXh0LXBvc3QgLmluZm8td2luZG93IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAzcmVtO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgd2lkdGg6IDI0LjA5NjM5JTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4uc3RvcmUtbWFwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5ZGFjOTsgfVxuICAuc3RvcmUtbWFwLWNvbnRhaW5lciAubWFwIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuICB0YWJsZSB0ciB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwLjZlbSAxZW07IH1cbiAgdGFibGUgdHIgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwLjZlbSAxZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgdGFibGUgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMi40ZW07XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG4gIGxpbmUtaGVpZ2h0OiAwLjZlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgZm9udC1zaXplOiA0ZW07IH0gfVxuICAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvIHtcbiAgICBwYWRkaW5nLXRvcDogMWVtOyB9XG4gICAgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuaWNvbiwgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAucGhvbmU6YmVmb3JlLCAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvIC5zdG9yZXMtbGlzdC1jb250YWluZXIgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSwgLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogM2VtO1xuICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAzZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuNGVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAgIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8gLmljb246YmVmb3JlLCAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvIC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlciAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvIC5waG9uZTpiZWZvcmUsIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8gLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlLCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8gLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07IH1cbiAgICAgIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8gLmljb246YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvLmFsaWduLWxlZnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvLmFsaWduLWxlZnQgLmljb24sIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8uYWxpZ24tbGVmdCAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0by5hbGlnbi1sZWZ0IC5waG9uZTpiZWZvcmUsIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8uYWxpZ24tbGVmdCAuc3RvcmVzLWxpc3QtY29udGFpbmVyIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUsIC5zdG9yZXMtbGlzdC1jb250YWluZXIgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0by5hbGlnbi1sZWZ0IC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZS50aXRsZTpiZWZvcmUge1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsgfSB9XG4gIC5zZWN0aW9uLXRpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICBmb250LWZhbWlseTogJ2dyYWZvbGl0YS1zY3JpcHQnOyB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyZW07XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgZm9udC1zaXplOiAzZW07IH0gfVxuXG4udGl0bGUtaDIsXG5sZWdlbmQge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuXG4uc2hvcC10aXRsZSB7XG4gIG1hcmdpbjogMC4yZW0gMDtcbiAgY29sb3I6ICNiOWRhYzk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2hvcC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICAuc2hvcC10aXRsZSBzbWFsbCB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuNWVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zcmVndWxhcic7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaG9wLXRpdGxlIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjRlbTsgfSB9XG5cbi5pbmxpbmUtc3R5bGUge1xuICBtYXJnaW46IDEuNmVtIDA7IH1cbiAgLmlubGluZS1zdHlsZSAudGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgLmlubGluZS1zdHlsZSAudGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzUzNzM1ZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4uY2VudGVyZWQtY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jZW50ZXJlZC1jb250ZW50IC5sZWZ0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jZW50ZXJlZC1jb250ZW50IC5yaWdodCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmNlbnRlcmVkLWNvbnRlbnQgLmNvbG9yIHtcbiAgICBjb2xvcjogI2I5ZGFjOTsgfVxuICAuY2VudGVyZWQtY29udGVudCBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNlbnRlcmVkLWNvbnRlbnQgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jZW50ZXJlZC1jb250ZW50IGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnOyB9XG5cbi50ZXh0LWJpZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5saW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnVzZWZ1bC1pbmZvcm1hdGlvbiB7XG4gIG1hcmdpbjogMCAwIDZyZW0gMDtcbiAgcGFkZGluZzogMnJlbSAwIDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAudXNlZnVsLWluZm9ybWF0aW9uID4gLmNvbnRhaW5lciwgLnVzZWZ1bC1pbmZvcm1hdGlvbiA+IC5wcmV2LW5leHQtcG9zdCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gPiAuY29udGFpbmVyLCAudXNlZnVsLWluZm9ybWF0aW9uID4gLnByZXYtbmV4dC1wb3N0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpIHtcbiAgICAgICAgICBmbGV4OiAxOyB9IH1cbiAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gdWwgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMS40ZW0gMCAxLjRlbSA1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2M4YjE7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFlbSBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMi40ZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhyZW0gMXJlbSAzcmVtIDFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDFlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcmVtKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMsIGJveC1zaGFkb3cgMC40cztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7IH0gfVxuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpOm50aC1jaGlsZCgxKSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdjOGIxOyB9XG4gICAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsID4gbGk6bnRoLWNoaWxkKDIpID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNGM4Yjc7IH1cbiAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gdWwgPiBsaTpudGgtY2hpbGQoMykgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NhZjA5ODsgfVxuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpOm50aC1jaGlsZCg0KSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFkM2U5OyB9XG4gICAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsID4gbGk6bnRoLWNoaWxkKDUpID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjlmN2Q7IH1cbiAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gdWwgPiBsaTpudGgtY2hpbGQoNikgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwODg4ZTsgfVxuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpOm50aC1jaGlsZCg3KSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjViNWI1OyB9XG5cbi5zdG9yZXMtbGlzdC1jb250YWluZXIgLnN0b3Jlcy1pdGVtLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnN0b3Jlcy1saXN0LWNvbnRhaW5lciAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICBtaW4td2lkdGg6IDM1MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zdG9yZXMtbGlzdC1jb250YWluZXIgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlLnRpdGxlOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTQlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTgwZGVnKTsgfVxuXG4uc3RvcmVzLWxpc3QtY29udGFpbmVyLmlzLWNvbGxhcHNlZCAuc3RvcmVzLWxpc3RfX2l0ZW1fX2RhdGUudGl0bGU6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwZGVnKTsgfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyoqXG4gICAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgICAqIGFuZCBGaXJlZm94LlxuICAgICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgbWFyZ2luOiAwLjc1ZW0gMDsgfVxuXG4vKipcbiAgICAgICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgICAgICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDEuNWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgICAqL1xuLyoqXG4gICAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICogNC4gQWRkcmVzcyBgZm9udC1mYW1pbHlgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBgdGV4dGFyZWFgIGFuZCBvdGhlciBmb3JtIGluIElFIDdcbiAgICAgKiA1LiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IHdpdGggSUUgNi83LlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAgICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gICAgICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAgICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICAgICAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgICAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICAgICAqXG4gICAgICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgICAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICAgICAqIDMuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA3LlxuICAgICAgICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgICAgICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICAgICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICAgICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICAgICAqLyB9XG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgICAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gICAgICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1lbnUtdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tZW51LXRvcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDsgfSB9XG4gIC5tZW51LXRvcCAuYnRuLWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5tZW51LXRvcCAuYnRuLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IC40ZW0gMWVtO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubWVudS10b3AgLmJ0bi1wcm9tbyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkO1xuICAgICAgY29sb3I6ICMwMDA7IH0gfVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdpY29ucyc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ljb25zLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9pY29ucy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2ljb25zLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvaWNvbnMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKTtcbn1cblxuLmljb24sXG4uaWNvbltjbGFzc149XCJpY29uLVwiXSxcbi5pY29uW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbnMnO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbiRpY29uczogKFxuICAgIHNlbGVjdDogJ1xcRUEwMScsXG4gICAgY2FtZXJhOiAnXFxFQTAyJyxcbiAgICBmYWNlYm9vazogJ1xcRUEwMycsXG4gICAgbGFtcDogJ1xcRUEwNCcsXG4gICAgbGluazogJ1xcRUEwNScsXG4gICAgbW9yZTogJ1xcRUEwNicsXG4gICAgbmV3c2xldHRlcjogJ1xcRUEwNycsXG4gICAgcGhvbmU6ICdcXEVBMDgnLFxuICAgIG1hcDogJ1xcRUEwOScsXG4gICAgbG9jYXRpb246ICdcXEVBMEEnLFxuICAgIGNsb3NlOiAnXFxFQTBCJyxcbiAgICBuZXh0OiAnXFxFQTBDJyxcbiAgICBiZWF1dGUtc2FudGU6ICdcXEVBMEQnLFxuICAgIGJlYmVzLWVuZmFudHM6ICdcXEVBMEUnLFxuICAgIGJpam91dGVyaWVzLWhvcmxvZ2VyaWVzOiAnXFxFQTBGJyxcbiAgICBjaGF1c3N1cmVzOiAnXFxFQTEwJyxcbiAgICBjdWx0dXJlLWxvaXNpcnMtdG91cmlzbWU6ICdcXEVBMTEnLFxuICAgIGdvdXRzLXNhdmV1cnM6ICdcXEVBMTInLFxuICAgIGhvdGVscy1yZXN0YXVyYW50cy1jYWZlczogJ1xcRUExMycsXG4gICAgbWFpc29uLWRlY29yYXRpb246ICdcXEVBMTQnLFxuICAgIG1vZGUtYWNjZXNzb2lyZXM6ICdcXEVBMTUnLFxuICAgIG11bHRpbWVkaWEtYnVyZWF1dGlxdWU6ICdcXEVBMTYnLFxuICAgIHNlcnZpY2VzOiAnXFxFQTE3JyxcbiAgICBzdXBlcm1hcmNoZXMtZ2VuZXJhbGlzdGVzOiAnXFxFQTE4JyxcbiAgICBmaWx0ZXI6ICdcXEVBMTknLFxuICAgIGNhbGVuZGFyOiAnXFxFQTFBJyxcbiAgICBjb250YWN0OiAnXFxFQTFCJyxcbiAgICBhY3R1YWxpdGVzOiAnXFxFQTFDJyxcbiAgICBtZW51OiAnXFxFQTFEJyxcbiAgICBjaXR5c2hvcHBpbmc6ICdcXEVBMUUnLFxuICAgIHByZXY6ICdcXEVBMUYnLFxuICAgIGluZm9ybWF0aW9uOiAnXFxFQTIwJyxcbiAgICBlZGl0OiAnXFxFQTIxJyxcbiAgICB0cmFzaDogJ1xcRUEyMidcbik7XG5cbkBlYWNoICRuYW1lLCAkaWNvbiBpbiAkaWNvbnMge1xuICAgIC5pY29uLSN7JG5hbWV9OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uO1xuICAgIH1cbn0iLCIvKiBHZW5lcmF0ZWQgYnkgRm9udCBTcXVpcnJlbCAoaHR0cHM6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gQXByaWwgMjQsIDIwMTYgKi9cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGQtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNib2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGRfaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2JvbGRfaXRhbGljJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2l0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNpdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zbGlnaHQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zbGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zbGlnaHRfaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0aXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2xpZ2h0X2l0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNyZWd1bGFyJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtcmVndWxhci13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zc2VtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zc2VtaWJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zc2VtaWJvbGRfaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkaXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3NlbWlib2xkX2l0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnN0aGluJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbi13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbi13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3RoaW4nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zdGhpbl9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluaXRhbGljLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zdGhpbl9pdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG4iLCIqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zcmVndWxhcic7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbn1cblxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG59XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuIiwiJGNvbG9yLW1haW46ICNiOWRhYzk7XG4kY29sb3Itc2hvcC1tYWluOiAjNTM3MzVmO1xuXG4kY29sb3Itc3VjY2VzczogIzQzQUM2QTtcbiRjb2xvci1lcnJvcjogI2YwNDEyNDtcblxuXG4kdXNlZnVsLWluZm9ybWF0aW9uLWNvbG9yczogI2Q3YzhiMSwgI2E0YzhiNywgI2NhZjA5OCwgI2ExZDNlOSwgI2ZmOWY3ZCwgI2UwODg4ZSwgI2I1YjViNTtcblxuJGNvbG9yLTE6ICNkN2M4YjE7XG4kY29sb3ItMjogI2E0YzhiNztcbiRjb2xvci0zOiAjY2FmMDk4O1xuJGNvbG9yLTQ6ICNhMWQzZTk7XG4kY29sb3ItNTogI2ZmOWY3ZDtcbiRjb2xvci02OiAjZTA4ODhlO1xuJGNvbG9yLTc6ICNiNWI1YjU7XG5cbiRncmF5LWxpZ2h0OiAjZjFlZmVkO1xuXG4kc3VzeTogKFxuICBjb2x1bW5zOiAxMiwgIC8vIFRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB5b3VyIGdyaWRcbiAgZ3V0dGVyczogMS82LCAvLyBUaGUgc2l6ZSBvZiBhIGd1dHRlciBpbiByZWxhdGlvbiB0byBhIHNpbmdsZSBjb2x1bW5cbiAgY29udGFpbmVyOiA3MGVtXG4pO1xuIiwiLmNvbnRhaW5lclxue1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuXG4gICAgJi5uby1wYWRkaW5nXG4gICAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuLmNvbnRhaW5lcl9idXR0b25cbntcbnRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmNvbC14cy0xMlxue1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1kKVxue1xuXG4gICAgLmNvbC1tZC0zIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigzKTtcblxuICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigzIGxhc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1tZC00IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig0KTtcblxuICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGxhc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuY29sLW1kLTYge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuXG4gICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYgbGFzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLW1kLTgge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDgpO1xuXG4gICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDggbGFzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLW1kLTEyIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigxMik7XG5cbiAgICAgICAgJi5sYXN0e1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigxMiBsYXN0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuXG5cblxuLmNvbnRlbnQtd3JhcHBlcntcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIC5pbWFnZS1jb250YWluZXJcbiAgICB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgID4gaW1ne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uY29udGVudHtcbiAgICAmLndpdGgtc2lkZWJhclxuICAgIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IHNwYW4oOSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnNpZGViYXJ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAvL3BhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigpO1xuICAgICAgICB3aWR0aDogc3BhbigzKTtcbiAgICB9XG59XG5cblxuXG4uaGVhZGVyXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICAgICAgcGFkZGluZzogMWVtIDAgMCAwO1xuICAgIH1cblxuXG4gICAgLmNvbnRhaW5lclxuICAgIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuXG5cblxuXG4uY29udGVudC1tYWluLCAuY29udGVudC1waG90b3N7XG4gICAgbWFyZ2luOiAycmVtIDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiA0cmVtIDAgMDtcbiAgICAgICAgd2lkdGg6IHNwYW4oOCk7XG4gICAgfVxufVxuLmNvbnRlbnQtcGhvdG9zIHtcbiAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG59XG4uY29udGVudC1zaWRlYmFye1xuICAgIG1hcmdpbjogNHJlbSAwIDJyZW0gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiA1cmVtIDAgM3JlbSAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigpO1xuICAgICAgICB3aWR0aDogc3BhbigyLjUpO1xuICAgIH1cbn1cblxuLnBvc3QtY29udGFpbmVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbn1cblxuLm5ld3Mge1xuICAgIG1hcmdpbjogNnJlbSAwO1xufVxuXG4uc2lkZWJhcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICAmLnJpZ2h0e1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDMwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICBcbn1cblxuI2dvX3Vwe1xuICAuYnV0dG9ue1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgICYuaG92ZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTRjOGI3O1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyXG57XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICAgIH1cbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYnJlYWtwb2ludCgkY2xhc3MpIHtcblx0QGlmICRjbGFzcyA9PSB4eHMge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA0NzRweCkgeyBAY29udGVudDsgfVxuXHR9XG5cdEBlbHNlIGlmICRjbGFzcyA9PSB4cyB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGNsYXNzID09IEVsX1NpbmVkIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkY2xhc3MgPT0gRWxfU2luZWRfZ3JhbmRlIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDo2MDBweCkgeyBAY29udGVudDsgfVxuXHR9XG5cdEBlbHNlIGlmICRjbGFzcyA9PSBzbSB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGNsYXNzID09IG1kIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkY2xhc3MgPT0geGQge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgeyBAY29udGVudDsgfVxuXHR9XG5cdEBlbHNlIGlmICRjbGFzcyA9PSBsZyB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgeyBAY29udGVudDsgfVxuXHR9XG5cblx0QGVsc2Uge1xuXHRcdEB3YXJuIFwiQnJlYWtwb2ludCBtaXhpbiBzdXBwb3J0czogeHMsIHNtLCBtZCwgbGdcIjtcblx0fVxufVxuXG5cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gU3BhbiBTeW50YXhcbi8vID09PT09PT09PT09XG5cbi8vIFNwYW4gW21peGluXVxuLy8gLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBzcGFubmluZyBlbGVtZW50IHVzaW5nIHNob3J0aGFuZCBzeW50YXguXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbjogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRvdXRwdXQ6IHNwYW4tbWF0aCgkc3Bhbik7XG4gICRuZXN0aW5nOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjbGVhcjogc3VzeS1nZXQoY2xlYXIsICRzcGFuKTtcblxuICAkYm94OiBzdXN5LWdldChib3gtc2l6aW5nLCAkc3Bhbik7XG4gICRjb250ZW50LWJveDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpICE9ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuICAkYm94OiAkYm94IG9yIGlmKGlzLWluc2lkZSgkc3BhbikgYW5kICRjb250ZW50LWJveCwgYm9yZGVyLWJveCwgbnVsbCk7XG5cbiAgQGlmICRjbGVhciA9PSBicmVhayB7XG4gICAgQGluY2x1ZGUgYnJlYWs7XG4gIH0gQGVsc2UgaWYgJGNsZWFyID09IG5vYnJlYWsge1xuICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3BhbiwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTtcbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgQGlmIHZhbGlkLWNvbHVtbnMoJG5lc3RpbmcsIHNpbGVudCkge1xuICAgIEBpbmNsdWRlIG5lc3RlZCgkc3BhbikgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTcGFuIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIHNwYW4uXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQGZ1bmN0aW9uIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgQHJldHVybiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG59XG5cbi8vIFNwYW4gTWF0aFxuLy8gLS0tLS0tLS0tXG4vLyBHZXQgYWxsIHRoZSBzcGFuIHJlc3VsdHMuXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIHNwYW4tbWF0aChcbiAgJHNwYW5cbikge1xuICAkbmVzdCAgICAgICAgICAgICA6IGlmKHN1c3ktZ2V0KHJvbGUsICRzcGFuKSA9PSBuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRzcGxpdC1uZXN0ICAgICAgIDogaWYoaXMtc3BsaXQoJHNwYW4pIGFuZCAkbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZWRnZSAgICAgICAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgICAgICAgOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbTtcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsO1xuICAkcGFkZGluZy1hZnRlciAgICA6IG51bGw7XG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbDtcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsO1xuXG4gIC8vIGNhbGN1bGF0ZSB3aWR0aHNcbiAgJHNwcmVhZDogaW5kZXgobWFwLXZhbHVlcygkc3BhbiksIHNwcmVhZCk7XG4gICRzcGFuOiBpZigkc3BsaXQtbmVzdCBhbmQgbm90KCRzcHJlYWQpLCBtYXAtbWVyZ2UoJHNwYW4sIChzcHJlYWQ6IHdpZGUpKSwgJHNwYW4pO1xuICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbiAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAvLyBhcHBseSBndXR0ZXJzXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaWYgbm90KHN1c3ktZ2V0KHJvbGUsICRzcGFuKSkge1xuICAgICAgJHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBub3QoJHNwbGl0LW5lc3QpIHtcbiAgICAgICRtYXJnaW4tYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJG1hcmdpbi1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNwZWNpYWwgbWFyZ2luIGhhbmRsaW5nXG4gIEBpZiBzdXN5LWdldChvdXRwdXQsICRzcGFuKSA9PSBpc29sYXRlIGFuZCAkbG9jYXRpb24ge1xuICAgICRtYXJnaW4tYmVmb3JlOiBnZXQtaXNvbGF0aW9uKCRzcGFuKTtcbiAgICAkbWFyZ2luLWFmdGVyOiAtMTAwJTtcbiAgfSBAZWxzZSBpZiAkZWRnZSB7XG4gICAgJGlzLXNwbGl0OiBpcy1zcGxpdCgkc3Bhbik7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG5cbiAgICBAaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkZmxvYXQ6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJHNwYW4pO1xuICAgIH1cblxuICAgIEBpZiBub3QoJGlzLXNwbGl0KSB7XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gZmlyc3QgYW5kICRwb3MgPT0gYmVmb3JlKSB7XG4gICAgICAgICRtYXJnaW4tYmVmb3JlOiAwO1xuICAgICAgfVxuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGxhc3QgYW5kICRwb3MgPT0gYWZ0ZXIpIHtcbiAgICAgICAgJG1hcmdpbi1hZnRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gKFxuICAgIHdpZHRoICAgICAgICAgICA6ICR3aWR0aCxcbiAgICBmbG9hdCAgICAgICAgICAgOiAkZmxvYXQsXG4gICAgbWFyZ2luLWJlZm9yZSAgIDogJG1hcmdpbi1iZWZvcmUsXG4gICAgbWFyZ2luLWFmdGVyICAgIDogJG1hcmdpbi1hZnRlcixcbiAgICBwYWRkaW5nLWJlZm9yZSAgOiAkcGFkZGluZy1iZWZvcmUsXG4gICAgcGFkZGluZy1hZnRlciAgIDogJHBhZGRpbmctYWZ0ZXIsXG4gICAgZmxvdyAgICAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xufVxuXG4vLyBHZXQgU3BhbiBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBzcGFuIHdpZHRoLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBnZXQtc3Bhbi13aWR0aChcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcblxuICAkbiAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRsb2NhdGlvbiA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG4gICRjb2x1bW5zICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcbiAgJGd1dHRlcnMgIDogc3VzeS1nZXQoZ3V0dGVycywgJHNwYW4pO1xuICAkc3ByZWFkICAgOiBzdXN5LWdldChzcHJlYWQsICRzcGFuKTtcblxuICAkY29udGV4dCAgOiBudWxsO1xuICAkc3Bhbi1zdW0gOiBudWxsO1xuICAkd2lkdGggICAgOiBudWxsO1xuXG4gIEBpZiAkbiA9PSAnZnVsbCcge1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuICAgICRyb2xlOiBzdXN5LWdldChyb2xlLCAkc3Bhbik7XG4gICAgJG46IGlmKCRwb3MgPT0gc3BsaXQgYW5kICRyb2xlICE9IG5lc3QsIHN1c3ktY291bnQoJGNvbHVtbnMpLCAxMDAlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRuKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiKCN7dHlwZS1vZigkbil9KSAjeyRufSBpcyBub3QgYSB2YWxpZCBzcGFuLlwiO1xuICB9IEBlbHNlIGlmIHVuaXRsZXNzKCRuKSB7XG4gICAgJGNvbnRleHQ6IHN1c3ktc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgaWYoaXMtc3BsaXQoJHNwYW4pLCB3aWRlLCBuYXJyb3cpKTtcbiAgICAkc3ByZWFkOiBpZihpcy1pbnNpZGUoJHNwYW4pLCAkc3ByZWFkIG9yIHdpZGUsICRzcHJlYWQpO1xuICAgICRzcGFuLXN1bTogc3VzeSgkbiwgJGxvY2F0aW9uLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQpO1xuXG4gICAgJF9tYXRoOiBzdXN5LWdldChtYXRoLCAkc3Bhbik7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJHNwYW4pO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICR3aWR0aDogJHNwYW4tc3VtICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc3VtIC8gJGNvbnRleHQpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoOiAkbjtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3V0dGVyIFN5bnRheFxuLy8gPT09PT09PT09PT09PVxuXG5cbi8vIEd1dHRlcnNcbi8vIC0tLS0tLS1cbi8vIFNldCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkc3BhbjtcbiAgJHNwYW4gICAgIDogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVycyA6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX291dHB1dDogKFxuICAgIGJlZm9yZTogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSksXG4gICAgYWZ0ZXI6IG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlciksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChndXR0ZXJzLCAkaW5zcGVjdCk7XG5cbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpbmNsdWRlIHBhZGRpbmctb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH1cbn1cblxuQG1peGluIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZ3V0dGVycygkc3Bhbik7XG59XG5cblxuLy8gR3V0dGVyXG4vLyAtLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBndXR0ZXIuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRzcGFuOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX2d1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSBvciBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXJzO1xufVxuXG5AZnVuY3Rpb24gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQHJldHVybiBndXR0ZXIoJHNwYW4pO1xufVxuXG5cbi8vIEdldCBHdXR0ZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBndXR0ZXIgd2lkdGguXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXItd2lkdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVycyA6IHN1c3ktZ2V0KGd1dHRlcnMsICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgIDogc3VzeS1nZXQoZ3V0dGVyLW92ZXJyaWRlLCAkY29udGV4dCk7XG5cbiAgQGlmICRfZ3V0dGVycyBhbmQgKCRfZ3V0dGVycyA+IDApIGFuZCBub3QoJF9ndXR0ZXIpIHtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkY29udGV4dCk7XG4gICAgJF9tYXRoOiBndXR0ZXItbWF0aCgkY29udGV4dCk7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJF9ndXR0ZXI6ICRfZ3V0dGVycyAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGNvbnRleHQpO1xuICAgICAgJF9zcHJlYWQgIDogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCB3aWRlLCBzdXN5LWdldChzcHJlYWQsICRjb250ZXh0KSk7XG4gICAgICAkX2d1dHRlciAgOiBwZXJjZW50YWdlKCRfZ3V0dGVycyAvIHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkpO1xuICAgIH1cbiAgfVxuXG4gICRfZ3V0dGVyOiBpZigkX2d1dHRlciA9PSAnbm8tZ3V0dGVycycgb3IgJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcicsIG51bGwsICRfZ3V0dGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVyO1xufVxuXG5cbi8vIEdldCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGJlZm9yZSBhbmQgYWZ0ZXIgZ3V0dGVyIHZhbHVlcy5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlcnMoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICAgICAgICAgICAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlci1wb3NpdGlvbiAgIDogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICAgICAgICAgICAgOiBnZXQtZ3V0dGVyLXdpZHRoKCRjb250ZXh0KTtcblxuICAkX3JldHVybiAgICAgICAgICAgIDogKGJlZm9yZTogbnVsbCwgYWZ0ZXI6IG51bGwpO1xuXG4gIEBpZiBpcy1zcGxpdCgkY29udGV4dCkgYW5kICRfZ3V0dGVyIHtcbiAgICAkX2d1dHRlcjogJF9ndXR0ZXIgLyAyO1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChiZWZvcmU6ICRfZ3V0dGVyLCBhZnRlcjogJF9ndXR0ZXIpKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKCRfZ3V0dGVyLXBvc2l0aW9uOiAkX2d1dHRlcikpO1xuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBJcyBJbnNpZGVcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIGluc2lkZS5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1pbnNpZGUoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9pbnNpZGU6IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX2luc2lkZSwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gSXMgU3BsaXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgc3BsaXQuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtc3BsaXQoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9zcGxpdDogc3BsaXQgaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfc3BsaXQsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIEd1dHRlciBNYXRoXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBtYXRoIHRvIHVzZSBmb3IgZ3V0dGVyIGNhbGN1bGF0aW9uc1xuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGd1dHRlci1tYXRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkX3JldHVybiAgOiBzdXN5LWdldChtYXRoLCAkY29udGV4dCk7XG4gICRfcmV0dXJuICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpID09IGluc2lkZS1zdGF0aWMsIHN0YXRpYywgJF9yZXR1cm4pO1xuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvKipcbiAqIEBwYWNrYWdlXHRcdFBpY2tNZVVwIC0galF1ZXJ5IGRhdGVwaWNrZXIgcGx1Z2luXG4gKiBAYXV0aG9yXHRcdE5hemFyIE1va3J5bnNreWkgPG5hemFyQG1va3J5bnNreWkuY29tPlxuICogQGF1dGhvclx0XHRTdGVmYW4gUGV0cmUgPHd3dy5leWVjb24ucm8+XG4gKiBAY29weXJpZ2h0XHRDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNSwgTmF6YXIgTW9rcnluc2t5aVxuICogQGNvcHlyaWdodFx0Q29weXJpZ2h0IChjKSAyMDA4LTIwMDksIFN0ZWZhbiBQZXRyZVxuICogQGxpY2Vuc2VcdFx0TUlUIExpY2Vuc2UsIHNlZSBsaWNlbnNlLnR4dFxuICovXG4kYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICAgOiAuNGVtICFkZWZhdWx0O1xuJGJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRjb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICNlZWUgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1ob3ZlciAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgICAgICA6ICM4OGM1ZWIgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgICAgOiAkY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG4kbm90LWluLW1vbnRoICAgICAgICAgICAgICAgICAgICAgOiAjNjY2ICFkZWZhdWx0O1xuJG5vdC1pbi1tb250aC1ob3ZlciAgICAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRkaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICA6ICMzMzMgIWRlZmF1bHQ7XG4kc2VsZWN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3IgIWRlZmF1bHQ7XG4kc2VsZWN0ZWQtYmFja2dyb3VuZCAgICAgICAgICAgICAgOiAjMTM2YTlmICFkZWZhdWx0O1xuJG5vdC1pbi1tb250aC1zZWxlY3RlZC1iYWNrZ3JvdW5kIDogIzE3Mzg0ZCAhZGVmYXVsdDtcbiRkYXktb2Ytd2VlayAgICAgICAgICAgICAgICAgICAgICA6ICRub3QtaW4tbW9udGgtaG92ZXIgIWRlZmF1bHQ7XG4kdG9kYXktYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgOiAkbm90LWluLW1vbnRoLXNlbGVjdGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdG9kYXktY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi5waWNrbWV1cCB7XG5cdGJhY2tncm91bmQgICAgICA6ICRiYWNrZ3JvdW5kO1xuXHRib3JkZXItcmFkaXVzICAgOiAkYm9yZGVyLXJhZGl1cztcblx0LW1vei1ib3gtc2l6aW5nIDogY29udGVudC1ib3g7XG5cdGJveC1zaXppbmcgICAgICA6IGNvbnRlbnQtYm94O1xuXHRkaXNwbGF5ICAgICAgICAgOiBub25lO1xuXHRwb3NpdGlvbiAgICAgICAgOiBhYnNvbHV0ZTtcblxuXHQqIHtcblx0XHQtbW96LWJveC1zaXppbmcgOiBib3JkZXItYm94O1xuXHRcdGJveC1zaXppbmcgICAgICA6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQucG11LWluc3RhbmNlIHtcblx0XHRkaXNwbGF5ICAgIDogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodCAgICAgOiAxMy44ZW07XG5cdFx0cGFkZGluZyAgICA6IC41ZW07XG5cdFx0dGV4dC1hbGlnbiA6IGNlbnRlcjtcblx0XHR3aWR0aCAgICAgIDogMTVlbTtcblxuXHRcdC5wbXUtYnV0dG9uIHtcblx0XHRcdGNvbG9yICAgICAgICAgICA6ICRjb2xvcjtcblx0XHRcdGN1cnNvciAgICAgICAgICA6IHBvaW50ZXI7XG5cdFx0XHRvdXRsaW5lICAgICAgICAgOiBub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcblx0XHR9XG5cblx0XHQucG11LXRvZGF5IHtcblx0XHRcdGJhY2tncm91bmQgOiAkdG9kYXktYmFja2dyb3VuZDtcblx0XHRcdGNvbG9yICAgICAgOiAkdG9kYXktY29sb3I7XG5cdFx0fVxuXG5cdFx0LnBtdS1idXR0b246aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZCA6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuXHRcdFx0Y29sb3IgICAgICA6ICRjb2xvci1ob3Zlcjtcblx0XHR9XG5cblx0XHQucG11LW5vdC1pbi1tb250aCB7XG5cdFx0XHRjb2xvciA6ICRub3QtaW4tbW9udGg7XG5cdFx0fVxuXG5cdFx0LnBtdS1kaXNhYmxlZCxcblx0XHQucG11LWRpc2FibGVkOmhvdmVyIHtcblx0XHRcdGNvbG9yICA6ICRkaXNhYmxlZDtcblx0XHRcdGN1cnNvciA6IGRlZmF1bHQ7XG5cdFx0fVxuXG5cdFx0LnBtdS1zZWxlY3RlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kIDogJHNlbGVjdGVkLWJhY2tncm91bmQ7XG5cdFx0XHRjb2xvciAgICAgIDogJHNlbGVjdGVkO1xuXHRcdH1cblxuXHRcdC5wbXUtbm90LWluLW1vbnRoLnBtdS1zZWxlY3RlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kIDogJG5vdC1pbi1tb250aC1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuXHRcdH1cblxuXHRcdG5hdiB7XG5cdFx0XHRjb2xvciAgICAgICA6ICRuYXYtY29sb3I7XG5cdFx0XHRkaXNwbGF5ICAgICA6IC1tcy1mbGV4Ym94O1xuXHRcdFx0ZGlzcGxheSAgICAgOiAtd2Via2l0LWZsZXg7XG5cdFx0XHRkaXNwbGF5ICAgICA6IGZsZXg7XG5cdFx0XHRsaW5lLWhlaWdodCA6IDJlbTtcblxuXHRcdFx0KjpmaXJzdC1jaGlsZCA6aG92ZXIge1xuXHRcdFx0XHRjb2xvciA6ICRuYXYtY29sb3ItaG92ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC5wbXUtcHJldixcblx0XHRcdC5wbXUtbmV4dCB7XG5cdFx0XHRcdGRpc3BsYXkgOiBub25lO1xuXHRcdFx0XHRoZWlnaHQgIDogMmVtO1xuXHRcdFx0XHR3aWR0aCAgIDogMWVtO1xuXHRcdFx0fVxuXHRcdFx0LnBtdS1tb250aCB7XG5cdFx0XHRcdHdpZHRoIDogMTRlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG11LXllYXJzLFxuXHRcdC5wbXUtbW9udGhzIHtcblx0XHRcdCoge1xuXHRcdFx0XHRkaXNwbGF5ICAgICA6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bGluZS1oZWlnaHQgOiAzLjZlbTtcblx0XHRcdFx0d2lkdGggICAgICAgOiAzLjVlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG11LWRheS1vZi13ZWVrIHtcblx0XHRcdGNvbG9yICA6ICRkYXktb2Ytd2Vlaztcblx0XHRcdGN1cnNvciA6IGRlZmF1bHQ7XG5cdFx0fVxuXG5cdFx0LnBtdS1kYXktb2Ytd2Vlayxcblx0XHQucG11LWRheXMge1xuXHRcdFx0KiB7XG5cdFx0XHRcdGRpc3BsYXkgICAgIDogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRsaW5lLWhlaWdodCA6IDEuNWVtO1xuXHRcdFx0XHR3aWR0aCAgICAgICA6IDJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG11LWRheS1vZi13ZWVrICoge1xuXHRcdFx0bGluZS1oZWlnaHQgOiAxLjhlbTtcblx0XHR9XG5cdH1cblxuXHQucG11LWluc3RhbmNlOmZpcnN0LWNoaWxkIC5wbXUtcHJldixcblx0LnBtdS1pbnN0YW5jZTpsYXN0LWNoaWxkIC5wbXUtbmV4dCB7XG5cdFx0ZGlzcGxheSA6IGJsb2NrO1xuXHR9XG5cblx0LnBtdS1pbnN0YW5jZTpmaXJzdC1jaGlsZCxcblx0LnBtdS1pbnN0YW5jZTpsYXN0LWNoaWxkIHtcblx0XHQucG11LW1vbnRoIHtcblx0XHRcdHdpZHRoIDogMTNlbTtcblx0XHR9XG5cdH1cblxuXHQucG11LWluc3RhbmNlOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQgLnBtdS1tb250aCB7XG5cdFx0d2lkdGggOiAxMmVtO1xuXHR9XG5cblx0Jjpub3QoLnBtdS12aWV3LWRheXMpIC5wbXUtZGF5cyxcblx0Jjpub3QoLnBtdS12aWV3LWRheXMpIC5wbXUtZGF5LW9mLXdlZWssXG5cdCY6bm90KC5wbXUtdmlldy1tb250aHMpIC5wbXUtbW9udGhzLFxuXHQmOm5vdCgucG11LXZpZXcteWVhcnMpIC5wbXUteWVhcnMge1xuXHRcdGRpc3BsYXkgOiBub25lO1xuXHR9XG59XG4iLCIuYWRzIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG5cbiAgICBhe1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgd2lkdGg6IHNwYW4oNik7XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gICAgcGFkZGluZy10b3A6IDEuNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuXG5cbiAgICBhLFxuICAgIC5icmVhZGNydW1iX2xhc3R7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjRyZW07XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWJfbGFzdCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICB9XG59XG4iLCIuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgIGJvcmRlcjogc29saWQgMnB4IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICYucHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICYudHJhbnNwYXJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgJi5ob3ZlcntcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTRjOGI3O1xuICAgICAgfVxuICAgIH1cbiAgICAmLmdyZWVue1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgfVxuICAgICYuc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAwLjZlbSAxZW07XG4gICAgfVxuICAgICYuc2Vlcm9hZCB7XG4gICAgICBtYXJnaW4tdG9wOiAtOTBweDtcbiAgICB9XG4gICAgJi5yaWdodHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICAmLmxpZ25lLTIge1xuICAgICAgICBwYWRkaW5nOiAxZW0gMC41ZW07XG4gICAgfVxuICAgICYudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxZW0gMmVtO1xuICAgICAgICBib3JkZXI6ICNiOWRhYzk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWRhYzk7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4cylcbiAgICAgICAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmJ0bi1tZW51XG57XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cblxuLmJ0bi1jbG9zZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcblxuICAgICY6YmVmb3Jle1xuICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIH1cbn1cbiIsIi5mb3JtLWNvbnRhY3Qge1xuICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG5cbi5jb250YWN0LW1hcC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmctY29udGFjdC5qcGcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5leGNlcnB0LWJsb2Nrc1xue1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuXG5cbiAgICAuZXhjZXJwdC1ibG9ja1xuICAgIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBndXR0ZXIoKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogc3BhbigzKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZChvZGQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWVmZWQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkXG4gICAgICAgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG5cblxuXG5cblxuXG4gICAgICAgIC5pbWFnZS1jb250YWluZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgICAgICB3aWR0aDogc3BhbigzKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICgxMDAlIC8gNTYwICogNDIwKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblxuICAgICAgICAuY2FwdGlvblxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgd2lkdGg6IHNwYW4oOSk7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC44cmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC44cmVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gLjVlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS42cmVtKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAuNHMsIHRyYW5zZm9ybSAuNHMsIG9wYWNpdHkgLjRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGltZSArIHRpbWUgKyAuaW1hZ2UtY29udGFpbmVyICsgLmNhcHRpb257XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDhyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGltZXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLjZyZW07XG4gICAgICAgICAgICBsZWZ0OiAxZW07XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC42ZW07XG4gICAgICAgICAgICB3aWR0aDogNWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA1ZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1ZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjdlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByaWdodDogLjZyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRheSxcbiAgICAgICAgICAgIC5tb250aCxcbiAgICAgICAgICAgIC55ZWFyXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYXl7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1tYWluO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1vbnRoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAueWVhcntcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mcm9tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGVmdDogMWVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVlbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaWNvbntcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMC4zZW0sIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICsgdGltZXtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNWVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZGF5LFxuICAgICAgICAgICAgICAgICAgICAubW9udGgsXG4gICAgICAgICAgICAgICAgICAgIC55ZWFyXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC50aXRsZVxuICAgICAgICB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnRpdGxlXG4gICAgICAgIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWFkbW9yZVxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cywgdG9wIC40cztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCg0bi0zKXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ldmVudHN7XG4gICAgICAgIC5leGNlcnB0LWJsb2NrXG4gICAgICAgIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuNWVtO1xuXG4gICAgICAgICAgICAuaW1hZ2UtY29udGFpbmVye1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNC41ZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICgxMDAlIC8gNTYwICogNDIwKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FwdGlvblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNnJlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS5leGNlcnB0LWJsb2NrXG4gICAge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICB7XG4gICAgICAgICAgICAmOmhvdmVyXG4gICAgICAgICAgICB7XG5cbiAgICAgICAgICAgICAgICAucmVhZG1vcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgJjphZnRlclxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY2FwdGlvblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzAwMCwgLjcpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXJcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKC44cmVtIC0gMnB4KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKC44cmVtIC0gMnB4KTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjZyZW0pO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS42cmVtKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjZmZmO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnM7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5maXJzdC1ibG9jay1sYXJnZVxuICAgIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tcbiAgICAgICAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bi0zKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bis2KVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGRcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc3Bhbig2KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbC0zXG4gICAge1xuICAgICAgICAuZXhjZXJwdC1ibG9ja1xuICAgICAgICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKDQpO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4tMyl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbi0yKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIucGFnZS10ZW1wbGF0ZS1tb2RlbC1ldmVudHMge1xuICAgIC5maWx0ZXJzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZmlsdGVycy1jb250YWluZXJ7XG4gIGJhY2tncm91bmQ6ICNlZmVmZWU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgdHJhbnNpdGlvbjpoZWlnaHQgMXM7XG4gIGhlaWdodDogYXV0bztcbiAgJi5pcy1jb2xsYXBzZWR7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbn1cblxuLmZpbHRlcnNcbntcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgei1pbmRleDogNDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDRyZW0gMXJlbSAxcmVtIDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC45KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cywgbGVmdCAwLjRzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS42cmVtO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYuaXMtbW9iaWxlLXZpc2libGV7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgfVxuXG4gICAgLmZpbHRlcnMtaXRlbXtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgJi5pcy1jb2xsYXBzZWRcbiAgICAgICAge1xuXG4gICAgICAgICAgICAuZmlsdGVycy1pdGVtLXRpdGxlXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZpbHRlcnMtaXRlbS1jb250ZW50XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAuZmlsdGVycy1pdGVtLWxldHRlcntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgLmZpbHRlcnMtaXRlbS10aXRsZXtcbiAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLmNvbnRhaW5lci1sZXR0ZXJze1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLmNhdGVnb3J5LWxldHRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1tYWluO1xuICAgICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXJzLWl0ZW0tdGl0bGVcbiAgICB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXJzLWl0ZW0tY29udGVudFxuICAgIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwLjhlbSAwIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjRzLCBtYXJnaW4tdG9wIDAuNHM7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBsaXtcbiAgICAgICAgICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVse1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yZW0gMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJi5oYWxmX3RpbWV7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ob3Vyc3tcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNlbGVjdHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1jbG9zZVxuICAgIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b257XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICYjYWxsX2FscGhhYmV0e1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgJi5maWx0ZXJzLXN1bmRheXN7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4jZmlsdGVye1xuICB6LWluZGV4OiAxMDtcbiAgLmZpbHRlcnNcbiAge1xuICAgICAgLy8gRWwgU2luZWRcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgIHtcbiAgICAgICAgICAvLyBFbCBTaW5lZFxuICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5maWx0ZXJzLWl0ZW17XG4gICAgICAgICAgLy8gRWwgU2luZWRcbiAgICAgICAgICB3aWR0aDogMTYuNjY2NjY2JTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoRWxfU2luZWRfZ3JhbmRlKSB7XG4gICAgICAgICAgLmZpbHRlcnMtaXRlbXtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoRWxfU2luZWQpIHtcbiAgICAgICAgICAuZmlsdGVycy1pdGVte1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgLmJ1dHRvbntcbiAgICAgICAgICAmI2FsbF9hbHBoYWJldHtcbiAgICAgICAgICAgIC8vIEVsIFNpbmVkXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgICZbdHlwZT1cInN1Ym1pdFwiXSwgJlt0eXBlPVwiZmlsdHJlXCJde1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG4gIC5idG4tc2hvdy1maWx0ZXJze1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGQpe1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuLmZpbHRlcnMtYnV0dG9ue1xuICAuYWxwaGFiZXR7XG4gICAgd2lkdGg6IDQwJVxuICB9XG4gICNhbGxfYWxwaGFiZXRfYnJhbmRze1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4uYnRuLXNob3ctZmlsdGVyc3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6YmVmb3Jle1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbn1cbiIsIi5uZXdzbGV0dGVyXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuXG4gICAgLnNlY3Rpb24tdGl0bGVcbiAgICB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiArIHNwYW5cbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNGVtO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIGZvcm0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAuNWVtIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLS4yNWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogc3Bhbig0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2VhcmNoLWZvcm0ge1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGxhYmVsLFxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICAuYnV0dG9uLFxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLS4yNWVtO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXVxuICAgIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC00M3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYjlkYWM5O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS40ZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjNlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xuXG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAjYnRuX2ZpbHRyZXtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi4xZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAuaWNvblxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDIlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAuNmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpIHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIH1cbiAgICAgICYuaXMtY29sbGFwc2VkXG4gICAgICB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDEpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDIuNSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLnByaW1hcnkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGQpIHtcbiAgICAgICAgICAmLmxpZ25lLTJ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMC40cmVtIDAgMC42cmVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwIDAgMCBndXR0ZXIoKTtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDEpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcnNsZXktZXJyb3JzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi5wYXJzbGV5LWVycm9ycy1saXN0e1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAkY29sb3ItZXJyb3I7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcblxuXG4gICAgPiBsaXtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjNlbSAxZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWVycm9yLCA0MCUpO1xuICAgIH1cbn1cblxuLmZpZWxkLWNvbnRhaW5lcntcbiAgICBtYXJnaW46IDFlbSAwO1xufVxuXG5mb3Jte1xuICAgIGZpZWxkc2V0e1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICBtYXJnaW46IDRlbSAwO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NjYztcbiAgICB9XG5cbiAgICBsZWdlbmR7XG4gICAgICAgIHBhZGRpbmc6IDAgMC42ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgfVxufVxuXG5cblxuLmlucHV0LXRleHQsXG4uc2VsZWN0LFxuLnRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjg1ZW0gMS41ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuNXMsIGJvcmRlci1jb2xvciAuMjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICYucm91bmRlZCB7XG4gICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIH1cblxuICAgICYuaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cblxuLnNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1zZWxlY3Quc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG5cblxuICAgICYucm91bmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgICAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cbn1cblxuc2VsZWN0OjotbXMtZXhwYW5ke1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiA2cmVtO1xufVxuXG5cbi5jaGVja2JveGVzLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgY29sdW1uLWdhcDogMWVtO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xuICAgIH1cbn1cblxuXG50YWJsZXtcbiAgICAuam91cntcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG5cbiAgICAuYW17XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuXG4gICAgLnBte1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgIH1cblxuICAgIC5hbSxcbiAgICAucG17XG4gICAgICAgIC5pbnB1dC10ZXh0e1xuICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZjLWNvbC0xLFxuLmZjLWNvbC0yLFxuLmZjLWNvbC0ze1xuICAgIG1hcmdpbjogMnJlbSAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIC8qbWFyZ2luOiAwIC0xcmVtO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAxcmVtOyovXG4gICAgfVxuXG4gICAgPiBkaXZ7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICAvKmRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsqL1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCxcbiAgICBvbHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgfVxuXG4gICAgbGl7XG4gICAgICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICB9XG59XG5cblxuLmZjLWNvbC0ye1xuICAgID4gZGl2e1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAvL3dpZHRoOiAoMTAwJSAvIDIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmMtY29sLTN7XG4gICAgPiBkaXZ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIC8vd2lkdGg6ICgxMDAlIC8gMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmljb24tY2F0ZWdvcnkge1xuICAgIHdpZHRoOiAyLjFlbTtcbiAgICBoZWlnaHQ6IDIuMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjFlbSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICBmb250LXNpemU6IDIuNGVtO1xuICAgIH1cbn1cbiIsIi5pbWFnZS1maWVsZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggJGdyYXktbGlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoMTAwJSAvIDE2ICogMTApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuYnRuLWVkaXQsXG4gICAgLmJ0bi1kZWxldGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC4ycztcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMHB4IHJnYmEoI2ZmZiwgMSk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLWVkaXQge1xuICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLmJ0bi1kZWxldGUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1lcnJvcjtcbiAgICB9XG5cbiAgICAuY3VycmVudC1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYuY292ZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcblxuICAgICAgICAgICAgJi5wb3J0cmFpdCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sYW5kc2NhcGUge1xuICAgICAgICAgICAgICAgIC8vbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbiIsIi5pbmZvLXdpbmRvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAwLjgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMDAlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSk7XG4gICAgfVxuXG4gICAgJi5oYXMtaWNvbntcbiAgICAgICAgLmljb24tY2F0ZWdvcnl7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDFyZW0gMXJlbSAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1tYWluO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMmVtIDFlbTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB9XG5cbiAgICAuaWNvbi1jYXRlZ29yeSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwLjVyZW07XG4gICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG5cbiAgICBpbWdbc3JjPVwiXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIuaGVhZGVyLWxvZ28ge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogc3BhbigzKTtcbiAgICAgICAgaGVpZ2h0OiAxMTRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbi5oZWFkZXItbG9nby1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9jaXR5c2hvcHBpbmctaW5mby1wb2ludC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIHdpZHRoOiAxNTRweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB9XG59XG4iLCIubmF2LWxhbmd1YWdlIHtcbiAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDNyZW07Ki9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDsqL1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIC44ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGEsIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMCAuMmVtO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNGVtIC4yZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5uYXYtbWFpbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogNDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuOSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuNHMsIG9wYWNpdHkgMC40cztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYuaXMtbW9iaWxlLXZpc2libGV7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgLTAuMjVlbSAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gMS41ZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiAuY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5zdG9yZXMge1xuICAgICAgICAgICAgPiAuY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcblxuICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMztcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi1jYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlciB7XG4gICAgLnBob25lLCAuZmIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgLmZie1xuICAgIHRvcCA6MzVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgIH1cblxuICB9XG4gIC5waG9uZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC40ZW07XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgQGV4dGVuZCAuaWNvbjtcbiAgICAgICAgICAgIEBleHRlbmQgLmljb24tcGhvbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZiIHsgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxufVxuIiwiLnByZXYtbmV4dC1wb3N0IHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIEBleHRlbmQgLmNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm5leHQsXG4gICAgLnByZXYge1xuICAgICAgICB3aWR0aDogc3Bhbig2KTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogc3Bhbig1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVyZW0pO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJldiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5leHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjbm90aWZpY2F0aW9uc3tcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cywgdG9wIDAuNHM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYuaXMtdmlzaWJsZXtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgIC5tZXNzYWdle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmLnN1Y2Nlc3N7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIH1cblxuICAgICAgICAmLmVycm9ye1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1lcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICB9XG59XG4iLCIucGFydG5lcnN7XG4gICAgbWFyZ2luOiA4cmVtIDAgNnJlbSAwO1xuXG4gICAgdWx7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucGFydG5lcntcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNGVtIDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICB9XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgbWF4LWhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2lnbmF0dXJlXG57XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgc3BhbntcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cblxuICAgIGltZ1xuICAgIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cbiIsIi5tYWluLXNsaWRlc2hvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNjIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuc2xpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTUwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlYWRtb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAtMS41cmVtIGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4gKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdncmFmb2xpdGEtc2NyaXB0JztcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArIC5zbGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3dsLWRvdHNcbntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAub3dsLWRvdHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXG4gICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2luZ2xlLXVjdmxfc2hvcCB7XG4gICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2F0ZWdvcnkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheW1lbnQtbWV0aG9kcyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC40ZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvb3JkcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCArIHAge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRyZXNzLFxuICAgICAgICAucGhvbmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndlYnNpdGUsXG4gICAgICAgIC5lbWFpbCB7XG4gICAgICAgICAgICAvLyBjb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgICAgICBjb2xvcjokY29sb3Itc2hvcC1tYWluO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5vcGVuaW5nLXRpbWUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC41ZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGF5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaG91cnMge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYW0ge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wbSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LXNpZGViYXIge1xuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBob3RvcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxufVxuIiwiLnN0b3Jlcy1saXN0IHtcbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzLCB0cmFuc2Zvcm0gMC40cztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDQpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24tMikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgICAgICB3aWR0aDogc3Bhbig0KTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pY29uLXN1bmRheXN7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2ltZ19fc3VuZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICAgICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4cylcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDcuNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi43NXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4cylcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgICAgICAgICAgIC5sb2dvX2NvbnRhaW5lcntcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4cylcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMjclO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID5pbWd7XG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogZ3V0dGVyKCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgd2lkdGg6IHNwYW4oOCk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190ZXh0X19zdW5kYXlzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19uYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVlbSAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19kaXN0cmljdHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNyZWd1bGFyJztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbmZve1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJl9fb3BlbixcbiAgICAgICAgICAmX19kaXN0cmljdCxcbiAgICAgICAgICAmX19pdGlue1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX29wZW57XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19pdGlue1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4cylcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLDApO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhzKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yNSUsMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9ue1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjZlbSAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICZfX2xpbmtfX3N1bmRheXtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNGVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0b3Jlcy1pbmZpbml0ZS1zY3JvbGwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbG9hZGluZy5naWYnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAyM3B4O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1sb2FkaW5nIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2wtNCB7XG5cbiAgICAgICAgLnN0b3Jlcy1saXN0X19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogc3BhbigzKTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuLTIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuLTMpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAmLXN1bmRheXN7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuXG4gIH1cbn1cbiIsIi5zdG9yZXMtbWFwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuXG4gICAgJjphZnRlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9sb2FkaW5nLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHJnYmEoI2ZmZiwgMC43KTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDIzcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIGhlaWdodCAwLjRzO1xuICAgIH1cblxuICAgICYuaXMtbG9hZGluZ3tcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIGhlaWdodDogNzAwcHg7XG4gICAgfVxuXG4gICAgLm1hcCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNzAwcHg7XG5cbiAgICAgICAgLnNpZGViYXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8td2luZG93IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogM3JlbTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKDMpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uc3RvcmUtbWFwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuXG4gICAgLm1hcCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG4iLCJ0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB0cntcbiAgICAgICAgdGR7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGh7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWN0aW9uLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgICBsaW5lLWhlaWdodDogMC42ZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgIH1cblxuICAgICYud2l0aC1waWN0byB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxZW07O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM2VtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjRlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogc3Bhbig2KSArIGd1dHRlcigpLzI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnZ3JhZm9saXRhLXNjcmlwdCc7XG4gICAgfVxufVxuXG5cblxuLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgfVxufVxuXG5cblxuLnRpdGxlLWgyLFxubGVnZW5ke1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG59XG5cblxuXG4uc2hvcC10aXRsZSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNyZWd1bGFyJztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNGVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmlubGluZS1zdHlsZXtcbiAgICBtYXJnaW46IDEuNmVtIDA7XG5cbiAgICAudGl0bGV7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICB9XG5cbiAgICAudGV4dHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICAgICAgY29sb3I6ICRjb2xvci1zaG9wLW1haW47XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxufVxuXG5cblxuLmNlbnRlcmVkLWNvbnRlbnRcbntcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAge1xuICAgICAgICAubGVmdFxuICAgICAgICB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHRcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2xvcntcbiAgICAgICAgY29sb3I6ICRjb2xvci1tYWluO1xuICAgIH1cblxuICAgIGF7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgPiBkaXZcbiAgICB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIGgye1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG4gICAgfVxufVxuXG5cblxuLnRleHQtYmlnIHtcbiAgICBmb250LXNpemU6IDJyZW07XG59XG5cblxuXG4uYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubGluZXtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4iLCIudXNlZnVsLWluZm9ybWF0aW9uXG57XG4gICAgbWFyZ2luOiAwIDAgNnJlbSAwO1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgPiAuY29udGFpbmVye1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsXG4gICAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBsaVxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGFcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjRlbSAwIDEuNGVtIDVlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxZW0gY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMi40ZW0gYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhyZW0gMXJlbSAzcmVtIDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAxZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXJlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMsIGJveC1zaGFkb3cgMC40cztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDMwcHggMCByZ2JhKCMwMDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR1c2VmdWwtaW5mb3JtYXRpb24tY29sb3JzKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSA+IGFcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG50aCgkdXNlZnVsLWluZm9ybWF0aW9uLWNvbG9ycywgJGkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zdG9yZXMtbGlzdC1jb250YWluZXJ7XG4gIC5zdG9yZXMtaXRlbS1jb250YWluZXJ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbV9fZGF0ZXtcbiAgICAgICAgJi50aXRsZXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAmOmJlZm9yZVxuICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDU0JTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICAgICAgICAgQGV4dGVuZCAuaWNvbjtcbiAgICAgICAgICAgICAgQGV4dGVuZCAuaWNvbi1zZWxlY3Q7XG4gICAgICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJi5pcy1jb2xsYXBzZWRcbiAge1xuICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX19kYXRlXG4gICAgICB7XG4gICAgICAgICYudGl0bGV7XG4gICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX19pbWdfX3N1bmRcbiAgICAgIHtcbiAgICAgICAgICAvLyBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuJF9ub3JtYWxpemUtaW5jbHVkZTogKCk7XG4kX25vcm1hbGl6ZS1leGNsdWRlOiAoKTtcbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24pIHtcbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIElmIHdlIGhhZCBsb2NhbCBmdW5jdGlvbnMsIHdlIGNvdWxkIGFjY2VzcyBvdXIgcGFyYW1ldGVycyBpbnNpZGUgdGhlXG4gIC8vIGZ1bmN0aW9uIHdpdGhvdXQgcGFzc2luZyB0aGVtIGluIGFzIHBhcmFtZXRlcnMuIFRoZSBoYWNreSB3b3JrLWFyb3VuZCBpcyB0b1xuICAvLyBzdHVmZiB0aGVtIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyBjYW4gYWNjZXNzIHRoZW0gZnJvbSBhIGdsb2JhbCBmdW5jdGlvbi5cbiAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGluZGVudC1hbW91bnQgIT0gNDBweCB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShyb290KSB7XG4gICAgLyoqXG4gICAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgIC8vIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICAgICAgICAvLyBgZW1gIHVuaXRzLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICB9XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbiAgICAgIH1cbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaHRtbDUpIHtcbiAgICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICAgKiBhbmQgRmlyZWZveC5cbiAgICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBkZXRhaWxzLFxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgaGdyb3VwLFxuICAgIG1haW4sXG4gICAgbWVudSxcbiAgICBuYXYsXG4gICAgc2VjdGlvbixcbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgY2FudmFzLFxuICAgIHByb2dyZXNzLFxuICAgIHZpZGVvIHtcbiAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgOSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCAxMCkge1xuICAgICAgLyoqXG4gICAgICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAgICAgKi9cblxuICAgICAgW2hpZGRlbl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgMTApIHtcbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICAgKi9cblxuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDkpIHtcbiAgICAgIC8qKlxuICAgICAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICAgICAqL1xuXG4gICAgICBtYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCAxMCkge1xuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICAgICAqL1xuXG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgICAgIC8qIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LiAqL1xuICAgICAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgICAgICovXG5cbiAgICAgIGRsLFxuICAgICAgbWVudSxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogQWRkcmVzcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgICAgICovXG5cbiAgICAgIG1lbnUsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIENvcnJlY3QgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICAgICAgICovXG5cbiAgICAgIG5hdiB1bCxcbiAgICAgIG5hdiBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA5KSBvciBzdXBwb3J0LWZvcihzYWZhcmksIDYpIHtcbiAgICAgIC8qKlxuICAgICAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAgICAgKi9cblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBAaWYgc3VwcG9ydC1mb3IoZmlyZWZveCwgMjgpIHtcbiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIH1cbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSBvciBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgcHJlLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA2KSB7XG4gICAgICAgIF9mb250LWZhbWlseTogJ2NvdXJpZXIgbmV3JywgbW9ub3NwYWNlO1xuICAgICAgfVxuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgICAqL1xuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gICAgICAgKi9cblxuICAgICAgZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICAgKiA0LiBBZGRyZXNzIGBmb250LWZhbWlseWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGB0ZXh0YXJlYWAgYW5kIG90aGVyIGZvcm0gaW4gSUUgN1xuICAgICAqIDUuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgd2l0aCBJRSA2LzcuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgICAqZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiA0ICovXG4gICAgICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiA1ICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgICAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICAgICAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICAgKi9cblxuICAgIGJ1dHRvbltkaXNhYmxlZF0sXG4gICAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICAgKi9cblxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCAxMCkge1xuICAgICAgLyoqXG4gICAgICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAgICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgICAgICpcbiAgICAgICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAgICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgICAgICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gICAgICAgKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICAgICAgICovXG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXG4gICAgICAgICAgKndpZHRoOiAxM3B4OyAvKiAzICovXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgICAqL1xuXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqL1xuXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKHNhZmFyaSwgNSkgb3Igc3VwcG9ydC1mb3IoY2hyb21lLCA5KSB7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICB9XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgICAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgICAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAgICogMy4gQ29ycmVjdCBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDExKSB7XG4gICAgICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgICAgfVxuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogMyAqL1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAgICovXG5cbiAgICBvcHRncm91cCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRhYmxlcykge1xuICAgIC8qIFRhYmxlc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAgICovXG5cbiAgICB0YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgLy8gcHggZmFsbGJhY2sgZm9yIElFIDggYW5kIGVhcmxpZXIuIE5vdGU6IElFIDkvMTAgZG9uJ3QgdW5kZXJzdGFuZCByZW1cbiAgLy8gaW4gZm9udCBzaG9ydGhhbmQsIGJ1dCBmb250LXNpemUgbG9uZ2hhbmQgaXMgZmluZS5cbiAgQGlmICRiYXNlLXVuaXQgPT0gcmVtIGFuZCBzdXBwb3J0LWZvcihpZSwgOCkge1xuICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gICRweC1mYWxsYmFjazogKCk7XG5cbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICAkcHgtdmFsdWU6ICR2YWx1ZTtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgICAgJHB4LXZhbHVlOiAkcHgtdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8sIHB4KTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICAgICRweC1mYWxsYmFjazogYXBwZW5kKCRweC1mYWxsYmFjaywgJHB4LXZhbHVlLCAkc2VwKTtcbiAgfVxuICBAaWYgJGJhc2UtdW5pdCA9PSByZW0gYW5kIHN1cHBvcnQtZm9yKGllLCA4KSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHgtZmFsbGJhY2s7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCJAaW1wb3J0ICdub3JtYWxpemUnLFxuICAgICAgICAndmFyaWFibGVzJyxcbiAgICAgICAgJ3N1c3knLFxuICAgICAgICAnbWl4aW5zJyxcbiAgICAgICAgJ2ljb25zJyxcbiAgICAgICAgJ2ZvbnRzJyxcbiAgICAgICAgJ2Jhc2UnLFxuICAgICAgICAnbGF5b3V0JyxcbiAgICAgICAgJ3BpY2ttZXVwLnNjc3MnO1xuXG5cblxuQGltcG9ydCAnbW9kdWxlcy9hZHMnLFxuICAgICAgICAnbW9kdWxlcy9icmVhZGNydW1iJyxcbiAgICAgICAgJ21vZHVsZXMvYnV0dG9ucycsXG4gICAgICAgICdtb2R1bGVzL2NvbnRhY3QnLFxuICAgICAgICAnbW9kdWxlcy9leGNlcnB0LWJsb2NrJyxcbiAgICAgICAgJ21vZHVsZXMvZXZlbnRzJyxcbiAgICAgICAgJ21vZHVsZXMvZmlsdGVycycsXG4gICAgICAgICdtb2R1bGVzL2Zvcm0tbmV3c2xldHRlcicsXG4gICAgICAgICdtb2R1bGVzL2Zvcm0tc2VhcmNoJyxcbiAgICAgICAgJ21vZHVsZXMvZm9ybXMnLFxuICAgICAgICAnbW9kdWxlcy9mbGV4aWJsZS1jb250ZW50JyxcbiAgICAgICAgJ21vZHVsZXMvaWNvbi1jYXRlZ29yeScsXG4gICAgICAgICdtb2R1bGVzL2ltYWdlLWZpZWxkJyxcbiAgICAgICAgJ21vZHVsZXMvaW5mby13aW5kb3cnLFxuICAgICAgICAvLydtb2R1bGVzL2ludHJvJyxcbiAgICAgICAgJ21vZHVsZXMvbG9nbycsXG4gICAgICAgICdtb2R1bGVzL25hdi1sYW5ndWFnZXMnLFxuICAgICAgICAnbW9kdWxlcy9uYXYtbWVudScsXG4gICAgICAgICdtb2R1bGVzL25hdi1wcmV2LW5leHQnLFxuICAgICAgICAnbW9kdWxlcy9ub3RpZmljYXRpb25zJyxcbiAgICAgICAgJ21vZHVsZXMvcGFydG5lcnMnLFxuICAgICAgICAnbW9kdWxlcy9zaWduYXR1cmUnLFxuICAgICAgICAnbW9kdWxlcy9zbGlkZXNob3cnLFxuICAgICAgICAnbW9kdWxlcy9zdG9yZScsXG4gICAgICAgICdtb2R1bGVzL3N0b3Jlcy1saXN0JyxcbiAgICAgICAgJ21vZHVsZXMvc3RvcmVzLW1hcCcsXG4gICAgICAgICdtb2R1bGVzL3RhYmxlcycsXG4gICAgICAgICdtb2R1bGVzL3RpdGxlcycsXG4gICAgICAgICdtb2R1bGVzL3RleHQnLFxuICAgICAgICAnbW9kdWxlcy91c2VmdWwtaW5mb3JtYXRpb24nLFxuICAgICAgICAnbW9kdWxlcy9zdW5kYXlzJztcblxuQGluY2x1ZGUgbm9ybWFsaXplKCk7XG5cblxuXG4ubWVudS10b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDNyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuYnRuLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAuNGVtIDFlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idG4tcHJvbW8ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
