/*  */
.info__crucero__container {
  background-color: #fff;
  border: 1px solid #32a3ed;
  border-radius: 25px;
  margin-bottom: 10px;
  padding-left: 0;
  padding-right: 0;
}

.all__info__content {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 10px;
  gap: 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 991.8px) {
  .all__info__content {
    padding: 15px;
  }
}
@media screen and (max-width: 575.8px) {
  .all__info__content {
    flex-wrap: wrap;
  }
}

@media (hover: hover) and (pointer: fine) {
  .first__image_itinerary:hover img {
    transform: scale(1.5);
    transition: top 0.5s ease-in-out, left 0.5s ease-in-out, transform 0.5s ease-in-out;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    transform-origin: left center;
  }
}
.image__content {
  position: relative;
  display: flex;
  max-width: 480px;
  /*@include media($xxl) {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
  } */
}
@media screen and (max-width: 991.8px) {
  .image__content {
    flex-direction: row;
    max-width: 250px;
  }
}
@media screen and (max-width: 1055.8px) {
  .image__content {
    flex-direction: column;
    width: 100%;
    max-width: 220px;
  }
}
@media screen and (max-width: 575.8px) {
  .image__content {
    flex-direction: unset;
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 767.8px) {
  .col-sm.info__content {
    flex: 1 0 0%;
    padding-left: 0px;
  }
}

@media screen and (max-width: 767.8px) {
  .info__titleContent .col-sm-auto.pe-3 {
    padding-right: 0rem !important;
  }
}

.image__img-content {
  width: 50%;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content {
    width: 100%;
    flex: 1;
    overflow: hidden;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content {
    max-height: none;
  }
}
.image__img-content.first__image_itinerary {
  overflow: visible;
  z-index: 95;
}
.image__img-content.first__image_itinerary:hover {
  z-index: 9999;
}
.image__img-content img {
  max-width: 100%;
  height: 100%;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content img {
    width: 100%;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content img {
    width: 100%;
    height: 100%;
    max-height: 100% !important;
  }
}
@media screen and (max-width: 767.8px) {
  .image__img-content img {
    max-width: 100%;
    width: 100%;
    height: 100%;
    max-height: 100%;
  }
}
.image__img-content .image__map {
  border-radius: 25px 0 0 25px;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media (max-width: 1440px) {
  .image__img-content .image__map {
    border-bottom-left-radius: 25px;
  }
}
@media (max-width: 1055px) {
  .image__img-content .image__map {
    border-bottom-left-radius: 0px;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media screen and (max-width: 767.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media screen and (max-width: 575.8px) {
  .image__img-content .image__ship {
    border-radius: 0 25px 0 0;
  }
}

.info__titleContent {
  display: flex;
  justify-content: left;
}
@media (max-width: 991.8px) {
  .info__titleContent {
    justify-content: center;
  }
}
@media screen and (max-width: 767.8px) {
  .info__titleContent {
    display: block;
  }
}

@media screen and (max-width: 767.8px) {
  .scImg-fluid--logoShip {
    margin: 0 auto;
  }
}

.advantages__content {
  display: flex;
  align-items: center;
  position: relative;
  flex-wrap: wrap;
}
@media (max-width: 1392px) {
  .advantages__content {
    flex-wrap: nowrap;
  }
}
@media (max-width: 1392px) {
  .advantages__content .badge.advantages:not(.btn-plus-tag) {
    display: none;
  }
}
.advantages__content .badge.advantages.first {
  display: inline-flex;
}
.advantages__content .badge.advantages.isPhone {
  display: inline-flex;
}

@media screen and (max-width: 767.8px) {
  .advantages__content {
    margin-left: 5px;
  }
}
@media screen and (max-width: 991.8px) {
  .advantages__content {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 767.8px) {
  .characteristics__content {
    margin-left: 5px;
  }
}

@media screen and (max-width: 575.8px) {
  .characteristics__content--phone-tab {
    padding-top: 24px;
    text-align: center;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__wrap {
    padding: 12px 12px 34px;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__title {
    font-weight: bold;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 575.8px) {
  .advantages__title {
    font-size: 19.84px;
  }
}
@media screen and (max-width: 359.8px) {
  .advantages__title {
    font-size: 19.84px;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__content--sm-full {
    margin-left: calc((100% - 100vw) / 2);
    margin-right: calc((100% - 100vw) / 2);
    width: 100vw;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    padding-left: 16px;
    padding-right: 16px;
  }
  .advantages__content--sm-full::-webkit-scrollbar {
    width: 1px;
  }
  .advantages__content--sm-full::-webkit-scrollbar-track {
    background: transparent;
  }
  .advantages__content--sm-full::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}

.title__info {
  font-weight: bold;
  color: #000;
}

.info__crucero .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 25px;
  font-size: 14px;
}

.advantages, .info__crucero .advantages {
  color: black;
  background-color: #e9f7e8;
  margin: 3px;
  border-radius: 25px;
  font-size: 14px;
  padding: 5px 10px;
}
@media screen and (max-width: 575.8px) {
  .advantages, .info__crucero .advantages {
    background-color: #e9f7e8;
    color: #000000;
    font-weight: normal;
    margin-right: 8px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 4px;
  }
}
@media screen and (max-width: 575.8px) {
  .advantages.text-white, .info__crucero .advantages.text-white {
    color: black !important;
  }
}
.advantages,
.advantages .ico {
  color: black !important;
}

.info__crucero .characteristics, .characteristics {
  background-color: #ecf8ff;
  color: #333;
  font-weight: normal;
  margin: 3px;
  padding: 8px;
  border-radius: 25px;
  font-size: 14px;
}
@media screen and (max-width: 575.8px) {
  .info__crucero .characteristics, .characteristics {
    margin-bottom: 10px;
    margin-right: 6px;
    padding: 9px 12px;
  }
}

.info__crucero .prices {
  display: flex;
  /*align-items: center;
  justify-content: center;*/
  height: 100%;
}
@media screen and (max-width: 1055.8px) {
  .info__crucero .prices {
    display: block;
    text-align: center;
  }
}

.info__crucero .price {
  color: #32a3ed;
  font-weight: 900;
  margin-bottom: 0;
}

.additional-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  padding: 15px;
}

.info__crucero .ico {
  font-size: 20px;
  margin-right: 10px;
  display: inline-flex;
  align-items: center;
  color: #fff;
}

.tab-ships-nav span.nav-link {
  color: #32a3ed;
  display: inline;
}

.tab-ships-nav span.nav-link i {
  color: #32a3ed;
  cursor: pointer;
  font-size: 12px;
  padding-left: 5px;
}

.prices__info__content {
  justify-content: center;
  width: 28%;
}
@media screen and (max-width: 1439.8px) {
  .prices__info__content {
    width: 38%;
  }
}

.title__info__content {
  max-width: 70%;
}
@media (max-width: 991.8px) {
  .title__info__content {
    text-align: center;
  }
}
@media screen and (max-width: 1439.8px) {
  .title__info__content {
    width: 60%;
  }
}

.btn-plus-tag,
.btn-plus-tag .ico {
  cursor: pointer;
  pointer-events: auto;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxpdGllcy9fY29sb3JzLnNjc3MiLCJjaGVja291dC9oZWFkZXItc2hpcC5zY3NzIiwiY2hlY2tvdXQvaGVhZGVyLXNoaXAuY3NzIiwidXRpbGl0aWVzL19jbWl4aW5zLnNjc3MiLCJ1dGlsaXRpZXMvX3Jlc3BvbnNpdmUuc2NzcyIsInV0aWxpdGllcy9fbWl4aW5zLWNsYXNzZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ0EsS0FBQTtBQ3BDQTtFQUNFLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBRUEsZUFBQTtFQUNBLGdCQUFBO0FDREY7O0FESUE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0FDREY7QUNxREU7RUYzREY7SUFVSSxhQUFBO0VDQUY7QUFDRjtBQ2dERTtFRjNERjtJQWNJLGVBQUE7RUNDRjtBQUNGOztBREVBO0VBQ0U7SUFDRSxxQkFBQTtJQUNBLG1GQUFBO0lBQ0EseUJBQUE7SUFDQSw0QkFBQTtJQUNBLDZCQUFBO0VDQ0Y7QUFDRjtBREVBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBRUEsZ0JBQUE7RUFFQTs7OztLQUFBO0FDRUY7QUN1QkU7RUYvQkY7SUFZSSxtQkFBQTtJQUNBLGdCQUFBO0VDQUY7QUFDRjtBQ2lCRTtFRi9CRjtJQWdCSSxzQkFBQTtJQUNBLFdBQUE7SUFDQSxnQkFBQTtFQ0VGO0FBQ0Y7QUNVRTtFRi9CRjtJQXNCSSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0VDR0Y7QUFDRjs7QUNHRTtFRkhGO0lBRUksWUFBQTtJQUNBLGlCQUFBO0VDR0Y7QUFDRjs7QUNKRTtFRklGO0lBRUksOEJBQUE7RUNHRjtBQUNGOztBREFBO0VBQ0UsVUFBQTtBQ0dGO0FDZEU7RUZVRjtJQUlJLFdBQUE7SUFDQSxPQUFBO0lBQ0EsZ0JBQUE7RUNJRjtBQUNGO0FDckJFO0VGVUY7SUFTSSxnQkFBQTtFQ01GO0FBQ0Y7QURBRTtFQUNFLGlCQUFBO0VBQ0EsV0FBQTtBQ0VKO0FEQUk7RUFDRSxhQUFBO0FDRU47QURFRTtFQUNFLGVBQUE7RUFDQSxZQUFBO0FDQUo7QUNyQ0U7RUZtQ0E7SUFNSSxXQUFBO0VDQUo7QUFDRjtBQzFDRTtFRm1DQTtJQVNJLFdBQUE7SUFDQSxZQUFBO0lBQ0EsMkJBQUE7RUNFSjtBQUNGO0FDakRFO0VGbUNBO0lBZUksZUFBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7RUNHSjtBQUNGO0FEQUU7RUFDRSw0QkFBQTtBQ0VKO0FDNURFO0VGeURBO0lBSUkseUJBQUE7RUNHSjtBQUNGO0FFbVZFO0VIM1ZBO0lHNFZFLCtCQVBZO0VGelVkO0FBQ0Y7QUU4VUU7RUgzVkE7SUc0VkUsOEJBUFk7RUZwVWQ7QUFDRjtBQzNFRTtFRnlEQTtJQVdJLHlCQUFBO0VDV0o7QUFDRjtBQ2hGRTtFRnlEQTtJQWVJLHlCQUFBO0VDWUo7QUFDRjtBQ3JGRTtFRjRFQTtJQVdJLHlCQUFBO0VDRUo7QUFDRjs7QURFQTtFQUNFLGFBQUE7RUFDQSxxQkFBQTtBQ0NGO0FFcVRFO0VIeFRGO0lHeVRJLHVCQWpCVTtFRmpTWjtBQUNGO0FDcEdFO0VGNEZGO0lBT0ksY0FBQTtFQ0tGO0FBQ0Y7O0FDekdFO0VGdUdGO0lBRUksY0FBQTtFQ0tGO0FBQ0Y7O0FERkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNLRjtBRThSRTtFSHZTRjtJR3dTSSxpQkFqQlU7RUYxUVo7QUFDRjtBRXlSRTtFSDdSSTtJRzhSRixhQWpCVTtFRnJRWjtBQUNGO0FETk07RUFDRSxvQkFBQTtBQ1FSO0FETk07RUFDRSxvQkFBQTtBQ1FSOztBQ3RJRTtFRnNJQTtJQUNFLGdCQUFBO0VDSUY7QUFDRjtBQzVJRTtFRjRJQTtJQUNFLGlCQUFBO0VDR0Y7QUFDRjtBQ2pKRTtFRmlKRjtJQUVJLGdCQUFBO0VDRUY7QUFDRjs7QUNsSUU7RUZ5SUY7SUFFSSxpQkFBQTtJQUNBLGtCQUFBO0VDSkY7QUFDRjs7QUN6SUU7RUZnSkY7SUFFSSx1QkFBQTtFQ0pGO0FBQ0Y7O0FDL0lFO0VGc0pGO0lBTUksaUJBQUE7SUFDQSxtQkFBQTtFQ1JGO0FBQ0Y7QUM5SU07RUY4SU47SUVySVksa0JBRFE7RUQwSWxCO0FBQ0Y7QUNuSk07RUY4SU47SUVySVksa0JBRFE7RUQrSWxCO0FBQ0Y7O0FDaEtFO0VGc0tGO0lJck9FLHFDQUFBO0lBQ0Esc0NBQUE7SUFDQSxZQUFBO0lBd0JBLGFBQUE7SUFDQSxpQkFBQTtJQUNBLGdCQUFBO0lBbkJBLHFCQUFBO0lBQ0Esd0NBQUE7SUorTkUsa0JBQUE7SUFDQSxtQkFBQTtFQ0dGO0VHak9BO0lBQ0UsVUFBQTtFSG1PRjtFR2hPQTtJQUNFLHVCQUFBO0VIa09GO0VHL05BO0lBQ0UsNkJBQUE7RUhpT0Y7QUFDRjs7QURUQTtFQUNFLGlCQUFBO0VBQ0EsV0FBQTtBQ1lGOztBRFZBO0VBQ0Usb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQ2FGOztBRFZFO0VBRUUsWURyUUk7RUNzUUoseUJEbFBxQjtFQ21QckIsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FDWUo7QUMvTUU7RUY0TEE7SUFVSSx5QkQzUmE7SUM0UmIsY0FBQTtJQUNBLG1CQUFBO0lBQ0EsaUJBQUE7SUFDQSxpQkFBQTtJQUNBLGFBQUE7SUFDQSxtQkFBQTtJQUNBLFFBQUE7RUNhSjtBQUNGO0FDM05FO0VGZ05FO0lBRUksdUJBQUE7RUNhTjtBQUNGO0FEVEU7O0VBRUUsdUJBQUE7QUNXSjs7QURQRTtFQUVFLHlCRC9RYztFQ2dSZCxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQ1NKO0FDOU9FO0VGNk5BO0lBV0ksbUJBQUE7SUFDQSxpQkFBQTtJQUNBLGlCQUFBO0VDVUo7QUFDRjs7QURQQTtFQUNFLGFBQUE7RUFDQTsyQkFBQTtFQUVBLFlBQUE7QUNVRjtBQ2hSRTtFRmtRRjtJQU9JLGNBQUE7SUFDQSxrQkFBQTtFQ1dGO0FBQ0Y7O0FEUkE7RUFDRSxjRDNVVTtFQzRVVixnQkFBQTtFQUNBLGdCQUFBO0FDV0Y7O0FEUkE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtBQ1dGOztBRFRBO0VBQ0UsZUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7QUNZRjs7QURUQTtFQUNFLGNBQUE7RUFDQSxlQUFBO0FDWUY7O0FEVEE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtBQ1lGOztBRFRBO0VBQ0UsdUJBQUE7RUFDQSxVQUFBO0FDWUY7QUMvVEU7RUZpVEY7SUFJSSxVQUFBO0VDY0Y7QUFDRjs7QURaQTtFQUVFLGNBQUE7QUNjRjtBRTRFRTtFSDVGRjtJRzZGSSxrQkFqQlU7RUZ4RFo7QUFDRjtBQzdVRTtFRndURjtJQU9JLFVBQUE7RUNrQkY7QUFDRjs7QURmQTs7RUFFRSxlQUFBO0VBQ0Esb0JBQUE7QUNrQkYiLCJmaWxlIjoiY2hlY2tvdXQvaGVhZGVyLXNoaXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZ1bmN0aW9uIGNvbG9yKCRjb2xvcikge1xyXG4vLyAgIEByZXR1cm4gdmFyKC0tYnMtI3skY29sb3J9KTtcclxuLy8gfVxyXG5cclxuLy8gJHZpb2xldC1jb2xvcjogIzVmMjQ5ZSAhZGVmYXVsdDtcclxuXHJcbiRjb2xvci1hZHZhbnRhZ2VzOiAjZTlmN2U4O1xyXG4kY29sb3Itc3VjY2VzczogIzJiYjAxOTtcclxuJGNvbG9yLWdyZWVuLWxpZ2h0OiAjNTZjNzQ3O1xyXG4kY29sb3Itc3VjY2Vzcy1saWdodDogI2U5ZjdlODtcclxuJGNvbG9yLXNreS1saWdodDogIzdhYmJlNztcclxuJGNvbG9yLXNreTogIzMyYTNlZDtcclxuJHRleHQtY29sb3I6ICMwMDAwMDA7XHJcbiRjb2xvci10ZXh0OiAjMDAwMDAwO1xyXG4kY29sb3ItZ3JheTogI2Q0ZDRkNDtcclxuJGNvbG9yLXNpbHZlcjogI2YwZjBmMDtcclxuJGNvbG9yLWxpZ2h0OiAjZjJmMmYyO1xyXG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7XHJcblxyXG4kd2hpdGU6IHdoaXRlO1xyXG4kYmxhY2s6IGJsYWNrO1xyXG4kc3VjY2VzczogJGNvbG9yLXN1Y2Nlc3M7XHJcblxyXG4vLy8gIENvbG9ycyBGb250c1xyXG4kdGV4dC1jb2xvcjogYmxhY2s7XHJcbiR0ZXh0LWxpZ2h0OiB3aGl0ZTtcclxuXHJcbi8vLyBDb2xvcnMgQmFja2dyb3VuZHNcclxuJGJnLWxpZ2h0OiB3aGl0ZTtcclxuJGJnLXdoaXRlOiB3aGl0ZTtcclxuJGJnLWdyYXkgOiBncmF5O1xyXG4kYmctc2lsdmVyIDogI2YwZjBmMDtcclxuJGJnLXN1Y2Nlc3MgOiAjMmJiMDE5O1xyXG5cclxuLy8vIEJvcmRlclxyXG4kYm9yZGVyLWdyYXkgOiBncmF5O1xyXG4kYm9yZGVyLWdyZWVuOiAjNTZjNzQ3O1xyXG5cclxuLyogICovXHJcbiRjb2xvci1ncmVlbi1saXN0OiAjMmJiMDE5O1xyXG4kY29sb3ItZ3JlZW4tbGlzdC1saWdodDogI2U5ZjdlODtcclxuJGJvcmRlci1jb2xvci1ncmF5OiAjZDNkM2QzO1xyXG4kYmctY29sb3ItZ3JheTogI2QzZDNkMztcclxuJGNvbG9yLXNreS1saWdodDogI2VjZjhmZjsiLCJAaW1wb3J0IFwiLi4vdXRpbGl0aWVzL2luZGV4XCI7XHJcblxyXG4uaW5mb19fY3J1Y2Vyb19fY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1za3k7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgcGFkZGluZy1yaWdodDogMDtcclxufVxyXG5cclxuLmFsbF9faW5mb19fY29udGVudCB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gIGdhcDogMTBweDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCRsZykge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCRzbSkge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4gIC5maXJzdF9faW1hZ2VfaXRpbmVyYXJ5OmhvdmVyIGltZyB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC41cyBlYXNlLWluLW91dCwgbGVmdCAwLjVzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyBcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLmltYWdlX19jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgbWF4LXdpZHRoOiA0ODBweDtcclxuXHJcbiAgLypAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gIH0gKi9cclxuICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgkbWxnKSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJHNtKSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5jb2wtc20uaW5mb19fY29udGVudHtcclxuICBAaW5jbHVkZSBtZWRpYSgkbWQpIHtcclxuICAgIGZsZXg6IDEgMCAwJTtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmluZm9fX3RpdGxlQ29udGVudCAuY29sLXNtLWF1dG8ucGUtM3tcclxuICBAaW5jbHVkZSBtZWRpYSgkbWQpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5pbWFnZV9faW1nLWNvbnRlbnQge1xyXG4gIHdpZHRoOiA1MCU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCR4eGwpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxleDogMTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCRsZykge1xyXG4gICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgIC8vd2lkdGg6IDUwJTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XHJcbiAgICAvL3dpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAmLmZpcnN0X19pbWFnZV9pdGluZXJhcnl7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHotaW5kZXg6IDk1O1xyXG5cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gb2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRsZykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbWFnZV9fbWFwIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDI1cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAwO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtcShib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAyNSwgMTQ0MCk7XHJcbiAgICBAaW5jbHVkZSBtcShib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAwLCAxMDU1KTtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxnKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW1hZ2VfX3NoaXAge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xyXG4gICAgICAvL2JvcmRlci1yYWRpdXM6IDAgMCAwIDI1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcclxuICAgICAgLy9ib3JkZXItcmFkaXVzOiAwIDI1cHggMCAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XHJcbiAgICAgIC8vYm9yZGVyLXJhZGl1czogMCAyNXB4IDAgMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRzbSkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDI1cHggMCAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmluZm9fX3RpdGxlQ29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcblxyXG4gIEBpbmNsdWRlIG1xKGp1c3RpZnktY29udGVudCwgY2VudGVyLCAkbGcpO1xyXG4gIFxyXG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4uc2NJbWctZmx1aWQtLWxvZ29TaGlwe1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4uYWR2YW50YWdlc19fY29udGVudHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgQGluY2x1ZGUgbXEoZmxleC13cmFwLCBub3dyYXAsIDEzOTIpO1xyXG5cclxuICAuYmFkZ2V7XHJcbiAgICAmLmFkdmFudGFnZXN7XHJcbiAgICAgICY6bm90KC5idG4tcGx1cy10YWcpe1xyXG4gICAgICAgIEBpbmNsdWRlIG1xKGRpc3BsYXksIG5vbmUsIDEzOTIpO1xyXG4gICAgICB9XHJcbiAgICAgICYuZmlyc3R7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIH1cclxuICAgICAgJi5pc1Bob25le1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gIC5hZHZhbnRhZ2VzX19jb250ZW50IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYSgkbGcpIHtcclxuICAuYWR2YW50YWdlc19fY29udGVudCB7XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICB9XHJcbn1cclxuXHJcbi5jaGFyYWN0ZXJpc3RpY3NfX2NvbnRlbnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbi5jaGFyYWN0ZXJpc3RpY3NfX2xhYmVsIHtcclxuICBAaW5jbHVkZSBtZWRpYVBob25lKCRtZCkge1xyXG4gICAgLy8gZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5jaGFyYWN0ZXJpc3RpY3NfX2NvbnRlbnQtLXBob25lLXRhYiB7XHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5hZHZhbnRhZ2VzX193cmFwIHtcclxuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcclxuICAgIHBhZGRpbmc6IDEycHggMTJweCAzNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmFkdmFudGFnZXNfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYVBob25lKFxyXG4gICAgKFxyXG4gICAgICBmb250LXNpemU6IDE5Ljg0cHgsXHJcbiAgICApXHJcbiAgKSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgfVxyXG59XHJcbi5hZHZhbnRhZ2VzX19sYWJlbCB7XHJcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGwge1xyXG4gIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xyXG4gICAgQGluY2x1ZGUgd2lkdGgtZXhwYW5kZWQ7XHJcbiAgICBAaW5jbHVkZSBzY3JvbGwteC1mbGV4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICB9XHJcbn1cclxuXHJcbi50aXRsZV9faW5mbyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuLmluZm9fX2NydWNlcm8gLmJhZGdlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuLmFkdmFudGFnZXMge1xyXG4gICYsXHJcbiAgLmluZm9fX2NydWNlcm8gJiB7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuLWxpc3QtbGlnaHQ7XHJcbiAgICBtYXJnaW46IDNweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYVBob25lIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFkdmFudGFnZXM7XHJcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGdhcDogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYudGV4dC13aGl0ZXtcclxuICAgICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICAgICAgY29sb3I6ICRibGFjayFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG4gICYsXHJcbiAgLmljb3tcclxuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLmNoYXJhY3RlcmlzdGljcyB7XHJcbiAgLmluZm9fX2NydWNlcm8gJixcclxuICAmIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1za3ktbGlnaHQ7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtYXJnaW46IDNweDtcclxuICAgIHBhZGRpbmc6IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICBwYWRkaW5nOiA5cHggMTJweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmluZm9fX2NydWNlcm8gLnByaWNlcyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAvKmFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Ki9cclxuICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCRtbGcpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLmluZm9fX2NydWNlcm8gLnByaWNlIHtcclxuICBjb2xvcjogJGNvbG9yLXNreTtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5hZGRpdGlvbmFsLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMTVweDtcclxufVxyXG4uaW5mb19fY3J1Y2VybyAuaWNvIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi50YWItc2hpcHMtbmF2IHNwYW4ubmF2LWxpbmt7XHJcbiAgY29sb3I6ICMzMmEzZWQ7XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4udGFiLXNoaXBzLW5hdiBzcGFuLm5hdi1saW5rIGl7XHJcbiAgY29sb3I6ICMzMmEzZWQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nLWxlZnQ6IDVweDtcclxufVxyXG5cclxuLnByaWNlc19faW5mb19fY29udGVudCB7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDI4JTtcclxuICBAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XHJcbiAgICB3aWR0aDogMzglO1xyXG4gIH1cclxufVxyXG4udGl0bGVfX2luZm9fX2NvbnRlbnQge1xyXG4gIC8vbWF4LXdpZHRoOiA1NzBweDtcclxuICBtYXgtd2lkdGg6IDcwJTtcclxuXHJcbiAgLy8gQGluY2x1ZGUgbXEobWF4LXdpZHRoLCBub25lLCAkeGwpO1xyXG4gIEBpbmNsdWRlIG1xKHRleHQtYWxpZ24sIGNlbnRlciwgJGxnKTtcclxuICBAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1wbHVzLXRhZyxcclxuLmJ0bi1wbHVzLXRhZyAuaWNvIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn0iLCIvKiAgKi9cbi5pbmZvX19jcnVjZXJvX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzJhM2VkO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5hbGxfX2luZm9fX2NvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmFsbF9faW5mb19fY29udGVudCB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuYWxsX19pbmZvX19jb250ZW50IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuZmlyc3RfX2ltYWdlX2l0aW5lcmFyeTpob3ZlciBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC41cyBlYXNlLWluLW91dCwgbGVmdCAwLjVzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cbi5pbWFnZV9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiA0ODBweDtcbiAgLypAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9ICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOHB4KSB7XG4gIC5pbWFnZV9fY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDU1LjhweCkge1xuICAuaW1hZ2VfX2NvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaW1hZ2VfX2NvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuY29sLXNtLmluZm9fX2NvbnRlbnQge1xuICAgIGZsZXg6IDEgMCAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5pbmZvX190aXRsZUNvbnRlbnQgLmNvbC1zbS1hdXRvLnBlLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaW1hZ2VfX2ltZy1jb250ZW50IHtcbiAgd2lkdGg6IDUwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICB9XG59XG4uaW1hZ2VfX2ltZy1jb250ZW50LmZpcnN0X19pbWFnZV9pdGluZXJhcnkge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgei1pbmRleDogOTU7XG59XG4uaW1hZ2VfX2ltZy1jb250ZW50LmZpcnN0X19pbWFnZV9pdGluZXJhcnk6aG92ZXIge1xuICB6LWluZGV4OiA5OTk5O1xufVxuLmltYWdlX19pbWctY29udGVudCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4uaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fbWFwIHtcbiAgYm9yZGVyLXJhZGl1czogMjVweCAwIDAgMjVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgLmltYWdlX19tYXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCAuaW1hZ2VfX21hcCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNTVweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fbWFwIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCAuaW1hZ2VfX21hcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweCAwIDAgMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fbWFwIHtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgLmltYWdlX19zaGlwIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDI1cHggMCAwO1xuICB9XG59XG5cbi5pbmZvX190aXRsZUNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuaW5mb19fdGl0bGVDb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuaW5mb19fdGl0bGVDb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5zY0ltZy1mbHVpZC0tbG9nb1NoaXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5hZHZhbnRhZ2VzX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTM5MnB4KSB7XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTJweCkge1xuICAuYWR2YW50YWdlc19fY29udGVudCAuYmFkZ2UuYWR2YW50YWdlczpub3QoLmJ0bi1wbHVzLXRhZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzX19jb250ZW50IC5iYWRnZS5hZHZhbnRhZ2VzLmZpcnN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4uYWR2YW50YWdlc19fY29udGVudCAuYmFkZ2UuYWR2YW50YWdlcy5pc1Bob25lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny44cHgpIHtcbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5jaGFyYWN0ZXJpc3RpY3NfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuY2hhcmFjdGVyaXN0aWNzX19jb250ZW50LS1waG9uZS10YWIge1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX193cmFwIHtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHggMzRweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuYWR2YW50YWdlc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTkuODRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5LjhweCkge1xuICAuYWR2YW50YWdlc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTkuODRweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50LS1zbS1mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIH1cbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50LS1zbS1mdWxsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4udGl0bGVfX2luZm8ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5pbmZvX19jcnVjZXJvIC5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uYWR2YW50YWdlcywgLmluZm9fX2NydWNlcm8gLmFkdmFudGFnZXMge1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWY3ZTg7XG4gIG1hcmdpbjogM3B4O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuYWR2YW50YWdlcywgLmluZm9fX2NydWNlcm8gLmFkdmFudGFnZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWY3ZTg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmFkdmFudGFnZXMudGV4dC13aGl0ZSwgLmluZm9fX2NydWNlcm8gLmFkdmFudGFnZXMudGV4dC13aGl0ZSB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzLFxuLmFkdmFudGFnZXMgLmljbyB7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuXG4uaW5mb19fY3J1Y2VybyAuY2hhcmFjdGVyaXN0aWNzLCAuY2hhcmFjdGVyaXN0aWNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZjhmZjtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogM3B4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmluZm9fX2NydWNlcm8gLmNoYXJhY3RlcmlzdGljcywgLmNoYXJhY3RlcmlzdGljcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgfVxufVxuXG4uaW5mb19fY3J1Y2VybyAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyphbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsqL1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDU1LjhweCkge1xuICAuaW5mb19fY3J1Y2VybyAucHJpY2VzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmluZm9fX2NydWNlcm8gLnByaWNlIHtcbiAgY29sb3I6ICMzMmEzZWQ7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hZGRpdGlvbmFsLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5pbmZvX19jcnVjZXJvIC5pY28ge1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udGFiLXNoaXBzLW5hdiBzcGFuLm5hdi1saW5rIHtcbiAgY29sb3I6ICMzMmEzZWQ7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnRhYi1zaGlwcy1uYXYgc3Bhbi5uYXYtbGluayBpIHtcbiAgY29sb3I6ICMzMmEzZWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLnByaWNlc19faW5mb19fY29udGVudCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjglO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOS44cHgpIHtcbiAgLnByaWNlc19faW5mb19fY29udGVudCB7XG4gICAgd2lkdGg6IDM4JTtcbiAgfVxufVxuXG4udGl0bGVfX2luZm9fX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDcwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOHB4KSB7XG4gIC50aXRsZV9faW5mb19fY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5LjhweCkge1xuICAudGl0bGVfX2luZm9fX2NvbnRlbnQge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbn1cblxuLmJ0bi1wbHVzLXRhZyxcbi5idG4tcGx1cy10YWcgLmljbyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59IiwiQHVzZSBcInNhc3M6bGlzdFwiO1xyXG5AdXNlIFwic2FzczptZXRhXCI7XHJcblxyXG4vLy8gRXZlbnQgd3JhcHBlclxyXG4vLy8gQGF1dGhvciBTbWFydEluQ29kZSAkYmctdXJsLFxyXG5cclxuLy8vIERlZmluZSBjb2xvciBhbmQgaGVpZ2h0IG9mIGJveC1lbGVtZW50c1xyXG4vLy9iYW5ja2dyb3VuZCBjb2xvciBhbmQgaGVpZ2h0XHJcbkBtaXhpbiBiZ2MoJG1pbi1oZWlnaHQsICRiZy1jb2xvcjogdHJhbnNwYXJlbnQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XHJcbiAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XHJcbn1cclxuXHJcbi8vL2JhbmNrZ3JvdW5kIGltYWdlIGFuZCBoZWlnaHRcclxuQG1peGluIGJnaSgkYmctaW1hZ2UsICRtaW4taGVpZ2h0LCAkYmctcG9zaXRpb246IGNlbnRlciwgJGJnLXJlcGVhdDogbm8tcmVwZWF0LCAkYnNpemU6IGNvdmVyKSB7XHJcbiAgJGJnLWltYWdlOiBcIi4uL2ltYWdlcy9cIiArICRiZy1pbWFnZTtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJGJnLWltYWdlKSAkYmctcmVwZWF0ICRiZy1wb3NpdGlvbjtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRic2l6ZTtcclxuICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcclxufVxyXG5cclxuLy8vYmFuY2tncm91bmQgaW1hZ2UgYW5kIGhlaWdodFxyXG5AbWl4aW4gYmdpbygkYmctaW1hZ2UsICRiZy1wb3NpdGlvbjogY2VudGVyLCAkYmctcmVwZWF0OiBuby1yZXBlYXQsICRic2l6ZTogY292ZXIpIHtcclxuICAkYmctaW1hZ2U6IFwiLi4vaW1hZ2VzL1wiICsgJGJnLWltYWdlO1xyXG4gIGJhY2tncm91bmQ6IHVybCgkYmctaW1hZ2UpICRiZy1yZXBlYXQgJGJnLXBvc2l0aW9uO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogJGJzaXplO1xyXG59XHJcblxyXG4vLy8gRGVmaW5lIHBhcmFtcyBDb250YWluZXIgd2lkdGggYW5kIHBhZGRpbmdcclxuQG1peGluIGNvbnRhaW5lcigkbWF4LXdpZHRoLCAkcGFkLWxlZnQsICRwYWQtcmlnaHQ6ICRwYWQtbGVmdCwgJGJveC1zOiBjb250ZW50LWJveCkge1xyXG4gIGJveC1zaXppbmc6ICRib3gtcztcclxuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XHJcbiAgcGFkZGluZy1sZWZ0OiAkcGFkLWxlZnQ7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZC1yaWdodDtcclxufVxyXG5cclxuLy8vZm9udHMgZWxlbWVudHNcclxuQG1peGluIGZvbnRzKFxyXG4gICRmb250LWZhbWlseSxcclxuICAkZm9udC1zaXplOiBtZWRpdW0sXHJcbiAgJGZvbnQtY29sb3I6IGJsYWNrLFxyXG4gICRmb250LXdlaWdodDogbm9ybWFsLFxyXG4gICRmb250LXN0eWxlOiBub3JtYWwsXHJcbiAgLy8gJGxpbmUtaGVpZ2h0OiBub3JtYWxcclxuKSB7XHJcbiAgY29sb3I6ICRmb250LWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgZm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XHJcbiAgLy8gbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxufVxyXG5cclxuLy8vZGVmaW5lIGZsZXggY2VudGVyXHJcbkBtaXhpbiBmbGV4Y2VuKCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogJGFsaWduO1xyXG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbn1cclxuXHJcbi8vL2RlZmluZSBhYnNvbHV0ZSBjZW50ZXJcclxuQG1peGluIGFic2NlbigkdG9wOiA1MCUsICRyaWdodDogNTAlLCAkYm90dG9tOiBhdXRvLCAkbGVmdDogYXV0bykge1xyXG4gIHRvcDogJHRvcDtcclxuICByaWdodDogJHJpZ2h0O1xyXG4gIGJvdHRvbTogJGJvdHRvbTtcclxuICBsZWZ0OiAkbGVmdDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkcmlnaHQsIC0kdG9wKTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQgKyAncHgnfSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWVkaWFTbSB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc20gKyAncHgnfSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWVkaWFEZXNrdG9wIHtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeygkc20gKyAwLjIpICsgJ3B4J30pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1lZGlhUGhvbmUoJHByb3BlcnRpZXM6IG51bGwpIHtcclxuICAkYnJlYWtwb2ludHM6ICgkc20tcHgsICR4cy1weCk7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtLXB4fSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBAaWYgJHByb3BlcnRpZXMge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsaXN0Lmxlbmd0aCgkYnJlYWtwb2ludHMpIHtcclxuICAgICAgJGJyZWFrcG9pbnQ6IGxpc3QubnRoKCRicmVha3BvaW50cywgJGkpO1xyXG5cclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWtwb2ludH0pIHtcclxuICAgICAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZXMgaW4gJHByb3BlcnRpZXMge1xyXG4gICAgICAgICAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWVzKSA9PSBcImxpc3RcIiBhbmQgbGlzdC5sZW5ndGgoJHZhbHVlcykgPT0gMiBhbmQgJGkgPT0gMSB7XHJcbiAgICAgICAgICAgICRtYXg6IGxpc3QubnRoKCR2YWx1ZXMsIDEpO1xyXG4gICAgICAgICAgICAkbWluOiBsaXN0Lm50aCgkdmFsdWVzLCAyKTtcclxuICAgICAgICAgICAgJHJlc3BvbnNpdmUtdmFsdWU6IGlmKCRpID09IDEsIHJlc3BvbnNpdmVVbml0bGVzcygkbWF4LCAkbWluLCAkc20sICR4cyksICRtaW4pO1xyXG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLXZhbHVlO1xyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICR2YWx1ZTogaWYoJGkgPiBsaXN0Lmxlbmd0aCgkdmFsdWVzKSwgbGlzdC5udGgoJHZhbHVlcywgbGlzdC5sZW5ndGgoJHZhbHVlcykpLCBsaXN0Lm50aCgkdmFsdWVzLCAkaSkpO1xyXG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XHJcbkB1c2UgJ3Nhc3M6bWV0YSc7XHJcbkB1c2UgJ3Nhc3M6bWF0aCc7XHJcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXHJcbi8vIFJlc3BvbnNpdmUgVmFyaWFibGVzIGZvciByZXNwb25zaXZlIG1peGluc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXFxcXFxyXG5cclxuLy9Gb3IgbWl4aW4gUmVzcG9uc2l2ZVxyXG4kcGhvbmUtcmVzcG9uc2l2ZTogJHNtO1xyXG4kdGFibGV0LXJlc3BvbnNpdmU6ICRsZztcclxuJGRlc2t0b3AtcmVzcG9uc2l2ZTogJHh4bDtcclxuXHJcbi8vRm9yIE1lZGlhIFF1ZXJ5IGJsb2NrXHJcbiRkZDogMC4wMjsgLy9kaWZlcmVuY2VcclxuJHBob25lLXNtYWxsOiAoJHhzIC0gJGRkKSArIHB4O1xyXG4kcGhvbmU6ICgkc20gLSAkZGQpICsgcHg7XHJcbiRwaG9uZS1sYXJnZTogKCRtZCAtICRkZCkgKyBweDtcclxuJHRhYmxldC1zbWFsbDogNzkwcHg7XHJcbiR0YWJsZXQ6ICgkbGcgLSAkZGQpICsgcHg7XHJcbiRkZXNrdG9wLXNtYWxsOiAxMDkwcHg7XHJcbiRkZXNrdG9wOiAoJHhsIC0gJGRkKSArIHB4O1xyXG4kZGVza3RvcC1tZWRpdW06ICgkeHhsIC0gJGRkKSArIHB4O1xyXG4kZGVza3RvcC1sYXJnZTogMTY1MHB4O1xyXG4kZGVza3RvcC14LWxhcmdlOiAxOTUwcHg7XHJcblxyXG4kcGhvbmUtZGVmYXVsdDogJHBob25lLXNtYWxsOyAvL2RlZmF1bHRcclxuJHRhYmxldC1kZWZhdWx0OiAkdGFibGV0O1xyXG4kZGVza3RvcC1kZWZhdWx0OiAkZGVza3RvcC1tZWRpdW07IC8vZGVmYXVsdFxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxcXFxcclxuLy8gUmVzcG9uc2l2ZSBNaXhpbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxcXFxcclxuXHJcbi8vLyBWYXI6ICBQcm9wIGZvciBmcmFtZXdvcmsgY3NzIC0tLS0tLS0tLS0tLS0tLS0tLVxcXFxcclxuJHByb3BlcnR5LWFsbDogKFxyXG4gIGl0ZW1zLWNlbnRlcjogYWxpZ24taXRlbXMsXHJcbiAgbWluLXctYXV0bzogbWluLXdpZHRoLFxyXG4gIGZsZXgtMTogZmxleCxcclxuICBmbGV4LWluaXRpYWw6IGZsZXgsXHJcbiAgZmxleC1jb2w6IGZsZXgtZGlyZWN0aW9uLFxyXG4gIGZsZXgtd3JhcDogZmxleC13cmFwLFxyXG4gIG1yLTA6IG1hcmdpbi1yaWdodCxcclxuICBtbC0wOiBtYXJnaW4tbGVmdCxcclxuKTtcclxuXHJcbiRwcm9wZXJ0eS12YWx1ZS1hbGw6IChcclxuICBpdGVtcy1jZW50ZXI6IGNlbnRlcixcclxuICBtaW4tdy1hdXRvOiBhdXRvLFxyXG4gIGZsZXgtMTogMSAxIDAlLFxyXG4gIGZsZXgtaW5pdGlhbDogMCAxIGF1dG8sXHJcbiAgZmxleC1jb2w6IGNvbHVtbixcclxuICBmbGV4LXdyYXA6IHdyYXAsXHJcbiAgbXItMDogMCxcclxuICBtbC0wOiAwLFxyXG4pO1xyXG5cclxuLy8vIFZhcjogIFByb3AgZm9yIHJlc3BvbnNpdmUgZ2xvYmFsIC0tLS0tLS0tLS0tLS0tLS0tLVxcXFxcclxuJHByb3BlcnR5LW1hcDogKFxyXG4gIGZ6OiBmb250LXNpemUsXHJcbiAgbGg6IGxpbmUtaGVpZ2h0LFxyXG4gIG06IG1hcmdpbixcclxuICBtdDogbWFyZ2luLXRvcCxcclxuICBtcjogbWFyZ2luLXJpZ2h0LFxyXG4gIG1iOiBtYXJnaW4tYm90dG9tLFxyXG4gIG1sOiBtYXJnaW4tbGVmdCxcclxuICBwOiBwYWRkaW5nLFxyXG4gIHB0OiBwYWRkaW5nLXRvcCxcclxuICBwcjogcGFkZGluZy1yaWdodCxcclxuICBwYjogcGFkZGluZy1ib3R0b20sXHJcbiAgcGw6IHBhZGRpbmctbGVmdCxcclxuICB0OiB0b3AsXHJcbiAgbDogbGVmdCxcclxuICBiOiBib3R0b20sXHJcbiAgcjogcmlnaHQsXHJcbiAgdzogd2lkdGgsXHJcbiAgbXc6IG1heC13aWR0aCxcclxuICBteHc6IG1heC13aWR0aCxcclxuICBtYXh3OiBtYXgtd2lkdGgsXHJcbiAgbW53OiBtaW4td2lkdGgsXHJcbiAgbWludzogbWluLXdpZHRoLFxyXG4gIGg6IGhlaWdodCxcclxuICBtaDogbWluLWhlaWdodCxcclxuICBtbmg6IG1pbi1oZWlnaHQsXHJcbiAgbWluaDogbWluLWhlaWdodCxcclxuICBteGg6IG1heC1oZWlnaHQsXHJcbiAgbWF4aDogbWF4LWhlaWdodCxcclxuICBiejogYmFja2dyb3VuZC1zaXplLFxyXG4pO1xyXG5cclxuLy8vIFNjaGVtYVxyXG4vLy8gY2FsYyggI3skbWluLXB4fSArICgjeyRtYXh9IC0gI3skbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKSk7XHJcbi8vLyBjYWxjKCAxNnB4ICsgKDIxIC0gMTYpICogKCgxMDB2dyAtIDM2MHB4KSAvICgxNDQwIC0gMzYwKSkpO1xyXG5cclxuLy8vIEZ1bmN0aW9uIFJlc3BvbnNpdmUgLS0tLS0tLS0tLS0tLS0tXFxcXFxyXG4vLy8gSG93IHVzZTogcGFkZGluZy1sZWZ0OiByZXNwb25zaXZlKCRwbC1tYXgsICRwbC1taW4sICR3LW1heCwgJHctbWluKSA7XHJcbkBmdW5jdGlvbiByZXNwb25zaXZlKFxyXG4gICRtYXgsXHJcbiAgJG1pbjogXCJcIixcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxyXG4pIHtcclxuICBAaWYgKCRtaW4gPT0gXCJcIiBvciAkbWF4ID09JG1pbikge1xyXG4gICAgQHJldHVybiAkbWF4ICsgcHg7XHJcbiAgfVxyXG5cclxuICAkbWluLXB4OiAkbWluICsgcHg7XHJcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcclxuICAkcmVzdWx0OiBjYWxjKFxyXG4gICAgI3skbWluLXB4fSArICgjeyRtYXh9IC0gI3skbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXHJcbiAgICAgICAgICAoI3skdy1tYXh9IC0gI3skdy1taW59KSlcclxuICApO1xyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJG51bWJlcikge1xyXG4gIEByZXR1cm4gbWF0aC5kaXYoJG51bWJlciwgKCRudW1iZXIgKiAwICsgMSkpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVzcG9uc2l2ZVVuaXRsZXNzKFxyXG4gICRtYXgsXHJcbiAgJG1pbjogXCJcIixcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxyXG4pIHtcclxuXHJcbiAgJG1heHVubGVzczogaWYobWF0aC5pcy11bml0bGVzcygkbWF4KSwgJG1heCwgc3RyaXAtdW5pdHMoJG1heCkpO1xyXG4gICRtaW51bmxlc3M6IGlmKG1hdGguaXMtdW5pdGxlc3MoJG1pbiksICRtaW4sIHN0cmlwLXVuaXRzKCRtaW4pKTtcclxuXHJcbiAgQGlmICgkbWludW5sZXNzID09IFwiXCIgb3IgJG1heHVubGVzcyA9PSAkbWludW5sZXNzKSB7XHJcbiAgICBAcmV0dXJuICRtYXh1bmxlc3MgKyBweDtcclxuICB9XHJcblxyXG4gICRtaW4tcHg6ICRtaW51bmxlc3MgKyBweDtcclxuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xyXG4gICRyZXN1bHQ6IGNhbGMoXHJcbiAgICAjeyRtaW4tcHh9ICsgKCN7JG1heHVubGVzc30gLSAjeyRtaW51bmxlc3N9KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC9cclxuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxyXG4gICk7XHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8gTWl4aW5zIFJlc3BvbnNpdmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxcXFxyXG5cclxuLy9Ib3cgdG8gdXNlOiAgIEBpbmNsdWRlICBmb250LXJlc3BvbnNpdmUoMjYsIDIwKSBvciBmb250LXJlc3BvbnNpdmUoMjYsIDIwLCAxNDQwLCAzNjApXHJcbi8vIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgKDI2IC0gMTYpICogKCgxMDB2dyAtIDMwMHB4KSAvICgxNjAwIC0gMzAwKSkpIDtcclxuQG1peGluIGZvbnQtcmVzcG9uc2l2ZShcclxuICAkZi1tYXgsXHJcbiAgJGYtbWluOiAkZm9udC1zaXplLXNtYWxsLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXHJcbikge1xyXG4gICRmLW1pbi1weDogJGYtbWluICsgcHg7XHJcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcclxuICAkZm9udC1zaXplOiAkZi1tYXggKyBweDtcclxuICAkZGVza3RvcC1weDogJGRlc2t0b3AtcmVzcG9uc2l2ZSAqIDFweDtcclxuICAkcGhvbmUtcHg6ICRwaG9uZS1yZXNwb25zaXZlICogMXB4O1xyXG5cclxuICAkcmVzdWx0LWNhbGM6IHJlc3BvbnNpdmUoJGYtbWF4LCAkZi1taW4sICR3LW1heCwgJHctbWluKTtcclxuXHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG5cclxuICBAaWYgKCR3LW1heCA9PSRkZXNrdG9wLXJlc3BvbnNpdmUgYW5kICR3LW1pbiA9PSRwaG9uZS1yZXNwb25zaXZlKSB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGRlc2t0b3AtcHgpIHtcclxuICAgICAgJiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkcmVzdWx0LWNhbGM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHBob25lLXB4KSB7XHJcbiAgICAgICYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogI3skZi1taW4tcHh9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBmb250LXNpemU6ICRyZXN1bHQtY2FsYztcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHctbWluLXB4KSB7XHJcbiAgICAgICYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogI3skZi1taW4tcHh9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIHIoZm9udC1zaXplLCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MCwgMzksIDE0NDAsIDM3NSkgb3IgIEBpbmNsdWRlICByZXNwb25zaXZlKGZ6LCA2MHB4LCAzOXB4LCAxNDQwLCAzNzUsIGZhbHNlKVxyXG4vLyBAaW5jbHVkZSByZXNwb25zaXZlKGgsIDY2LjExLCAzMCk7XHJcbkBtaXhpbiByKFxyXG4gICRhdHRyOiBcIlwiLFxyXG4gICR2YWx1ZS1taW46IFwiXCIsXHJcbiAgJHZhbHVlLW1heDogXCJcIixcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkb25seS1tZWQtcXVlcnk6IGZhbHNlXHJcbikge1xyXG4gIEBpZiAkdy1taW4gPT0gXCJcIiB7XHJcbiAgICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlO1xyXG4gIH1cclxuXHJcbiAgQGlmICR3LW1heCA9PSBcIlwiIHtcclxuICAgICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZTtcclxuICB9XHJcblxyXG4gIEBpZiAkdmFsdWUtbWF4ID09IFwiXCIge1xyXG4gICAgJHNpemUtbWF4OiAkdmFsdWUtbWluO1xyXG4gIH1cclxuXHJcbiAgLy9jb25kaXRpb25hbCBpZiBhdHRyaWJ1dGVzIGV4aXN0IHB4XHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1taW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2l6ZS1taW46IHN0cmluZy5zbGljZSgjeyRzaXplLW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1pbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWF4fSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNpemUtbWF4OiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1tYXh9LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHctbWluOiBzdHJpbmcuc2xpY2UoI3skdy1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHctbWF4OiBzdHJpbmcuc2xpY2UoI3skdy1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkc2l6ZS1tYXgtcHg6ICR2YWx1ZS1tYXggKyBweDtcclxuICAkc2l6ZS1taW4tcHg6ICR2YWx1ZS1taW4gKyBweDtcclxuICAkdy1tYXgtcHg6ICR3LW1heCArIHB4O1xyXG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XHJcblxyXG4gICRyZXNwb25zaXZlLWNhbGM6IGNhbGMoXHJcbiAgICAjeyRzaXplLW1pbi1weH0gKyAoI3skdmFsdWUtbWF4fSAtICN7JHZhbHVlLW1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xyXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXHJcbiAgKTtcclxuXHJcbiAgJHByb3BlcnR5OiBcIlwiO1xyXG5cclxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xyXG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1tYXAsICRhdHRyKTtcclxuICB9IEBlbHNlIHtcclxuICAgICRwcm9wZXJ0eTogJGF0dHI7XHJcbiAgfVxyXG5cclxuICBAaWYgKG5vdCAkb25seS1tZWQtcXVlcnkpIHtcclxuICAgIC8vaW1wcmVzcyBhdHRyaWJ1dGUgeW91ciBzdHlsZXMgY3NzXHJcbiAgICAjeyRwcm9wZXJ0eX06ICRzaXplLW1pbi1weDtcclxuICB9XHJcblxyXG4gIEBpZiAoJHNpemUtbWluLXB4ICE9ICRzaXplLW1heC1weCkge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHctbWluLXB4fSkge1xyXG4gICAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLWNhbGM7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHctbWF4LXB4fSkge1xyXG4gICAgICAjeyRwcm9wZXJ0eX06ICN7JHNpemUtbWF4LXB4fTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgcihmb250LXNpemUsIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwcHgsIDM5cHgsIDE0NDAsIDM3NSwgZmFsc2UpXHJcbi8vIEBpbmNsdWRlIHJlc3BvbnNpdmUoaCwgNjYuMTEsIDMwKTtcclxuQG1peGluIHJpKFxyXG4gICRhdHRyOiBcIlwiLFxyXG4gICR2YWx1ZS1tYXg6IFwiXCIsXHJcbiAgJHZhbHVlLW1pbjogXCJcIixcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxyXG4pIHtcclxuICBAaW5jbHVkZSByKFxyXG4gICAgJGF0dHIsXHJcbiAgICAkdmFsdWUtbWluLFxyXG4gICAgJHZhbHVlLW1heCxcclxuICAgICR3LW1pbixcclxuICAgICR3LW1heCxcclxuICApXHJcbn1cclxuXHJcbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShmb250LXNpemUsIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwcHgsIDM5cHgsIDE0NDAsIDM3NSwgZmFsc2UpXHJcbi8vIEBpbmNsdWRlIHJlc3BvbnNpdmUoaCwgNjYuMTEsIDMwKTtcclxuQG1peGluIHJlc3BvbnNpdmUoXHJcbiAgJGF0dHI6IFwiXCIsXHJcbiAgJHZhbHVlLW1heDogXCJcIixcclxuICAkdmFsdWUtbWluOiBcIlwiLFxyXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcclxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlLFxyXG4gICRvbmx5LW1lZC1xdWVyeTogZmFsc2VcclxuKSB7XHJcbiAgQGlmICR3LW1heCA9PSBcIlwiIHtcclxuICAgICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZTtcclxuICB9XHJcblxyXG4gIEBpZiAkdmFsdWUtbWluID09IFwiXCIge1xyXG4gICAgJHNpemUtbWluOiAkdmFsdWUtbWF4O1xyXG4gIH1cclxuXHJcbiAgLy9jb25kaXRpb25hbCBpZiBhdHRyaWJ1dGVzIGV4aXN0IHB4XHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1tYXh9LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2l6ZS1tYXg6IHN0cmluZy5zbGljZSgjeyRzaXplLW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1heH0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWlufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNpemUtbWluOiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1taW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHctbWF4OiBzdHJpbmcuc2xpY2UoI3skdy1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHctbWluOiBzdHJpbmcuc2xpY2UoI3skdy1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkc2l6ZS1tYXgtcHg6ICR2YWx1ZS1tYXggKyBweDtcclxuICAkc2l6ZS1taW4tcHg6ICR2YWx1ZS1taW4gKyBweDtcclxuICAkdy1tYXgtcHg6ICR3LW1heCArIHB4O1xyXG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XHJcbiAgJGRlc2t0b3AtcHg6ICRkZXNrdG9wLXJlc3BvbnNpdmUgKiAxcHg7XHJcbiAgJHBob25lLXB4OiAkcGhvbmUtcmVzcG9uc2l2ZSAqIDFweDtcclxuXHJcbiAgJHJlc3BvbnNpdmUtY2FsYzogY2FsYyhcclxuICAgICN7JHNpemUtbWluLXB4fSArICgjeyR2YWx1ZS1tYXh9IC0gI3skdmFsdWUtbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXHJcbiAgICAgICAgICAoI3skdy1tYXh9IC0gI3skdy1taW59KSlcclxuICApO1xyXG5cclxuICAkcHJvcGVydHk6IFwiXCI7XHJcblxyXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LW1hcCwgJGF0dHIpKSB7XHJcbiAgICAkcHJvcGVydHk6IG1hcC5nZXQoJHByb3BlcnR5LW1hcCwgJGF0dHIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHByb3BlcnR5OiAkYXR0cjtcclxuICB9XHJcblxyXG4gIEBpZiAobm90ICRvbmx5LW1lZC1xdWVyeSkge1xyXG4gICAgLy8gJiB7XHJcbiAgICAgIC8vaW1wcmVzcyBhdHRyaWJ1dGUgeW91ciBzdHlsZXMgY3NzXHJcbiAgICAgICN7JHByb3BlcnR5fTogJHNpemUtbWF4LXB4O1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgQGlmICgkc2l6ZS1tYXgtcHggIT0kc2l6ZS1taW4tcHgpIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyR3LW1heC1weH0pIHtcclxuICAgICAgI3skcHJvcGVydHl9OiAkcmVzcG9uc2l2ZS1jYWxjO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyR3LW1pbi1weH0pIHtcclxuICAgICAgI3skcHJvcGVydHl9OiAkc2l6ZS1taW4tcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPbmx5IFJlc3BvbnNpdmUgTWVkaWEgcXVlcnkgaW5saW5lXHJcbi8vSG93IHRvIHVzZTogICBAaW5jbHVkZSByZXNwb25zaXZlLW1xKGZ6LCA2MCwgMzksIDE0NDApIHdoZXJlXHJcbi8vIGF0dHI6IEF0cmlidXRvIGRlIGxhIHByb3BpZWRhZFxyXG4vLyBzaXplLW1heDogVmFsb3IgbWF4aW1vIGRlIGxhIHF1ZXJ5IGluaWNpYWxcclxuLy8gc2l6ZS1taW46IFZhbG9yIG1pbmltbyBkZSBsYSBxdWVyeSBpbmljaWFsXHJcbi8vIHctbWF4OiBQYW50YWxsYSBtYXhpbWEgeSBNZWRpYSBxdWVyeSBwb3IgZGVmZWN0b1xyXG4vLyB3LW1pbjogUGFudGFsbGEgbWluaW1hXHJcbi8vIHR3by1tcTogU2kgc2UgcmVxdWllcmUgcGFyYSBsYSBpbnRlcnJ1cGNpb24gZGUgbGEgc2VndW5kYSBtZWRpYSBxdWVyeVxyXG5AbWl4aW4gcmVzcG9uc2l2ZS1tcShcclxuICAkYXR0cjogXCJcIixcclxuICAkdmFsdWUtbWF4OiBcIlwiLFxyXG4gICR2YWx1ZS1taW46IFwiXCIsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmUsXHJcbiAgJHR3by1tcTogZmFsc2VcclxuKSB7XHJcbiAgQGlmICR2YWx1ZS1taW4gPT0gXCJcIiB7XHJcbiAgICAkc2l6ZS1taW46ICR2YWx1ZS1tYXg7XHJcbiAgfVxyXG5cclxuICAvL2NvbmRpdGlvbmFsIGlmIGF0dHJpYnV0ZXMgZXhpc3QgcHhcclxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1heH0sIFwicHhcIikgIT1udWxsIHtcclxuICAgICRzaXplLW1heDogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWF4fSwgXCJweFwiKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1taW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2l6ZS1taW46IHN0cmluZy5zbGljZSgjeyRzaXplLW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1pbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkdy1tYXg6IHN0cmluZy5zbGljZSgjeyR3LW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1taW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkdy1taW46IHN0cmluZy5zbGljZSgjeyR3LW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gICRzaXplLW1heC1weDogJHZhbHVlLW1heCArIHB4O1xyXG4gICRzaXplLW1pbi1weDogJHZhbHVlLW1pbiArIHB4O1xyXG4gICR3LW1heC1weDogJHctbWF4ICsgcHg7XHJcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcclxuICAkZGVza3RvcC1weDogJGRlc2t0b3AtcmVzcG9uc2l2ZSAqIDFweDtcclxuICAkcGhvbmUtcHg6ICRwaG9uZS1yZXNwb25zaXZlICogMXB4O1xyXG5cclxuICAkcmVzcG9uc2l2ZS1jYWxjOiBjYWxjKFxyXG4gICAgI3skc2l6ZS1taW4tcHh9ICsgKCN7JHZhbHVlLW1heH0gLSAjeyR2YWx1ZS1taW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC9cclxuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxyXG4gICk7XHJcblxyXG4gICRwcm9wZXJ0eTogXCJcIjtcclxuXHJcbiAgQGlmIChtYXAuaGFzLWtleSgkcHJvcGVydHktbWFwLCAkYXR0cikpIHtcclxuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkcHJvcGVydHk6ICRhdHRyO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHctbWF4LXB4fSkge1xyXG4gICAgI3skcHJvcGVydHl9OiAkcmVzcG9uc2l2ZS1jYWxjO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkdHdvLW1xKSB7XHJcbiAgICBAaWYgKCRzaXplLW1heC1weCAhPSRzaXplLW1pbi1weCkge1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skdy1taW4tcHh9KSB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9OiAjeyRzaXplLW1pbi1weH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgUmVzcG9uc2l2ZSBNZWRpYSBxdWVyeSBpbmxpbmVcclxuLy8gSG93IHRvIHVzZTogICBAaW5jbHVkZSBtcTIoZnosIDYwLCAxNDQwKVxyXG5AbWl4aW4gbXFpKCRhdHRyOiBcIlwiLCAkc2NyZWVuOiAkZGVza3RvcC1yZXNwb25zaXZlKSB7XHJcbiAgQGlmIHN0cmluZy5pbmRleCgjeyRzY3JlZW59LCBcInB4XCIpICE9bnVsbCB7XHJcbiAgICAkc2NyZWVuOiBzdHJpbmcuc2xpY2UoI3skc2NyZWVufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgLSAxKTtcclxuICB9XHJcblxyXG4gICRwcm9wZXJ0eTogXCJcIjtcclxuICAkdmFsdWU6IFwiXCI7XHJcblxyXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LWFsbCwgJGF0dHIpKSB7XHJcbiAgICAkcHJvcGVydHk6IG1hcC5nZXQoJHByb3BlcnR5LWFsbCwgJGF0dHIpO1xyXG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRwcm9wZXJ0eS12YWx1ZS1hbGwsICRhdHRyKTtcclxuXHJcbiAgICAkc2NyZWVuLXB4OiAkc2NyZWVuICsgcHg7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHNjcmVlbi1weH0pIHtcclxuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPbmx5IFJlc3BvbnNpdmUgTWVkaWEgcXVlcnkgaW5saW5lXHJcbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgbXEoZnosIDYwLCAxNDQwKVxyXG5AbWl4aW4gbXEoJGF0dHI6IFwiXCIsICR2YWx1ZTogXCJcIiwgJHNjcmVlbjogJGRlc2t0b3AtcmVzcG9uc2l2ZSkge1xyXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skc2NyZWVufSwgXCJweFwiKSAhPW51bGwge1xyXG4gICAgJHNjcmVlbjogc3RyaW5nLnNsaWNlKCN7JHNjcmVlbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzY3JlZW59LCBcInB4XCIpIC0gMSk7XHJcbiAgfVxyXG5cclxuICAkcHJvcGVydHk6IFwiXCI7XHJcblxyXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LW1hcCwgJGF0dHIpKSB7XHJcbiAgICAkcHJvcGVydHk6IG1hcC5nZXQoJHByb3BlcnR5LW1hcCwgJGF0dHIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHByb3BlcnR5OiAkYXR0cjtcclxuICB9XHJcblxyXG4gICRzaXplLXB4OiBcIlwiO1xyXG5cclxuICBAaWYgKG1ldGEudHlwZS1vZigkdmFsdWUpID09IFwic3RyaW5nXCIpIHtcclxuICAgICRzaXplLXB4OiAjeyR2YWx1ZX07XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkcHg6IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwicHhcIik7XHJcbiAgICAkZW06IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwiZW1cIik7XHJcbiAgICAkcmVtOiBzdHJpbmcuaW5kZXgoI3skdmFsdWV9LCBcInJlbVwiKTtcclxuICAgICRwZXJjZW50OiBzdHJpbmcuaW5kZXgoI3skdmFsdWV9LCBcIiVcIik7XHJcblxyXG4gICAgQGlmICgkZW0gb3IgJHJlbSBvciAkcGVyY2VudCBvciAkcHgpIHtcclxuICAgICAgJHNpemUtcHg6ICN7JHZhbHVlfTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkc2l6ZS1weDogJHZhbHVlICsgcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkc2NyZWVuLXB4OiAkc2NyZWVuICsgcHg7XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRzY3JlZW4tcHh9KSB7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICRzaXplLXB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHAtcmVzcG9uc2l2ZShcclxuICAkcHQtbWF4OiBcIlwiLFxyXG4gICRwdC1taW46IFwiXCIsXHJcbiAgJHByLW1heDogXCJcIixcclxuICAkcHItbWluOiBcIlwiLFxyXG4gICRwYi1tYXg6IFwiXCIsXHJcbiAgJHBiLW1pbjogXCJcIixcclxuICAkcGwtbWF4OiBcIlwiLFxyXG4gICRwbC1taW46IFwiXCIsXHJcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxyXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcclxuKSB7XHJcbiAgQGlmICRwdC1tYXggIT0gXCJcIiBhbmQgJHB0LW1pbiAhPSBcIlwiIHtcclxuICAgIHBhZGRpbmctdG9wOiByZXNwb25zaXZlKCRwdC1tYXgsICRwdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuXHJcbiAgICBAaWYgJHByLW1heCAhPSBcIlwiIGFuZCAkcHItbWluICE9IFwiXCIge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZXNwb25zaXZlKCRwci1tYXgsICRwci1taW4sICR3LW1heCwgJHctbWluKTtcclxuXHJcbiAgICAgIEBpZiAkcGItbWF4ICE9IFwiXCIgYW5kICRwYi1taW4gIT0gXCJcIiB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlc3BvbnNpdmUoJHBiLW1heCwgJHBiLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG5cclxuICAgICAgICBAaWYgJHBsLW1heCAhPSBcIlwiIGFuZCAkcGwtbWluICE9IFwiXCIge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZXNwb25zaXZlKCRwbC1tYXgsICRwbC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcHItbWF4LCAkcHItbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZXNwb25zaXZlKCRwci1tYXgsICRwci1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlc3BvbnNpdmUoJHB0LW1heCwgJHB0LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbS1yZXNwb25zaXZlKFxyXG4gICRtdC1tYXg6IFwiXCIsXHJcbiAgJG10LW1pbjogXCJcIixcclxuICAkbXItbWF4OiBcIlwiLFxyXG4gICRtci1taW46IFwiXCIsXHJcbiAgJG1iLW1heDogXCJcIixcclxuICAkbWItbWluOiBcIlwiLFxyXG4gICRtbC1tYXg6IFwiXCIsXHJcbiAgJG1sLW1pbjogXCJcIixcclxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXHJcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxyXG4pIHtcclxuICBAaWYgJG10LW1heCAhPSBcIlwiIGFuZCAkbXQtbWluICE9IFwiXCIge1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtdCwgJG10LW1heCwgJG10LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG5cclxuICAgIEBpZiAkbXItbWF4ICE9IFwiXCIgYW5kICRtci1taW4gIT0gXCJcIiB7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobXIsICRtci1tYXgsICRtci1taW4sICR3LW1heCwgJHctbWluKTtcclxuXHJcbiAgICAgIEBpZiAkbWItbWF4ICE9IFwiXCIgYW5kICRtYi1taW4gIT0gXCJcIiB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtYiwgJG1iLW1heCwgJG1iLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG5cclxuICAgICAgICBAaWYgJG1sLW1heCAhPSBcIlwiIGFuZCAkbWwtbWluICE9IFwiXCIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtbCwgJG1sLW1heCwgJG1sLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtbCwgJG1yLW1heCwgJG1yLW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtYiwgJG10LW1heCwgJG10LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWwsICRtci1tYXgsICRtci1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobXIsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtYiwgJG10LW1heCwgJG10LW1pbiwgJHctbWF4LCAkdy1taW4pO1xyXG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1sLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBjb250YWluZXIteCB7XHJcbiAgLy8gQGluY2x1ZGUgbXEocGFkZGluZy1sZWZ0LCAxNiwgJGxnKTtcclxuICAvLyBAaW5jbHVkZSBtcShwYWRkaW5nLXJpZ2h0LCAxNiwgJGxnKTtcclxuXHJcbiAgQGluY2x1ZGUgbXEocGFkZGluZy1sZWZ0LCAxNSwgJHNtKTtcclxuICBAaW5jbHVkZSBtcShwYWRkaW5nLXJpZ2h0LCAxNSwgJHNtKTtcclxufVxyXG5cclxuQG1peGluIGlucHV0LWRhdGUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG4gIC8qJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpZaUlHaGxhV2RvZEQwaU1qWWlJSFpwWlhkQ2IzZzlJakFnTUNBeU5pQXlOaUlnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BISmxZM1FnZDJsa2RHZzlJakkySWlCb1pXbG5hSFE5SWpJMklpQnllRDBpTVRNaUlHWnBiR3c5SWlORVEwUkNSRU1pTHo0S1BIQmhkR2dnWkQwaVRUZ3VPRGc0T0RrZ01USXVNMGd4TWk0MVZqRTFMamhJT0M0NE9EZzRPVTB4Tnk0MU5UVTJJREU0TGpaSU55NDBORFEwTkZZeE1DNDVTREUzTGpVMU5UWk5NVGN1TlRVMU5pQTNMalJJTVRZdU9ETXpNMVkyU0RFMUxqTTRPRGxXTnk0MFNEa3VOakV4TVRGV05rZzRMakUyTmpZM1ZqY3VORWczTGpRME5EUTBRemN1TURZeE16VWdOeTQwSURZdU5qa3pPVFVnTnk0MU5EYzFJRFl1TkRJek1EY2dOeTQ0TVRBd05VTTJMakUxTWpFNElEZ3VNRGN5TmlBMklEZ3VOREk0TnlBMklEZ3VPRll4T0M0MlF6WWdNVGd1T1RjeE15QTJMakUxTWpFNElERTVMak15TnpRZ05pNDBNak13TnlBeE9TNDFPRGs1UXpZdU5qa3pPVFVnTVRrdU9EVXlOU0EzTGpBMk1UTTFJREl3SURjdU5EUTBORFFnTWpCSU1UY3VOVFUxTmtNeE55NDVNemcySURJd0lERTRMak13TmlBeE9TNDROVEkxSURFNExqVTNOamtnTVRrdU5UZzVPVU14T0M0NE5EYzRJREU1TGpNeU56UWdNVGtnTVRndU9UY3hNeUF4T1NBeE9DNDJWamd1T0VNeE9TQTRMalF5T0RjZ01UZ3VPRFEzT0NBNExqQTNNallnTVRndU5UYzJPU0EzTGpneE1EQTFRekU0TGpNd05pQTNMalUwTnpVZ01UY3VPVE00TmlBM0xqUWdNVGN1TlRVMU5pQTNMalJhSWlCbWFXeHNQU0lqTkRrME5UUkdJaTgrQ2p3dmMzWm5QZ289XCIpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDQ1cHg7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTNweCk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9Ki9cclxufVxyXG5cclxuQG1peGluIHdpZHRoLWV4cGFuZGVkIHtcclxuICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xyXG4gIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAtIDEwMHZ3KSAvIDIpO1xyXG4gIHdpZHRoOiAxMDB2dztcclxufVxyXG5AbWl4aW4gZnVsbC13aWR0aCB7XHJcbiAgQGluY2x1ZGUgd2lkdGgtZXhwYW5kZWQoKTtcclxufVxyXG5cclxuQG1peGluIGhpZGUtc2Nyb2xsYmFyIHtcclxuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDFweDtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2Nyb2xsLXgtZmxleCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICBvdmVyZmxvdy14OiBhdXRvO1xyXG5cclxuICBAaW5jbHVkZSBoaWRlLXNjcm9sbGJhcjtcclxufVxyXG5cclxuQG1peGluIGltYWdlLWZ1bGwtY29udGVudCB7XHJcbiAgaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZpeGVkLWJvdHRvbSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogYXV0bztcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB6LWluZGV4OiAxMTAxO1xyXG59XHJcblxyXG5AbWl4aW4gcHgtbW9iaWxlIHtcclxuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTZweDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBzZWxlY3RXcmFwcGVyIHtcclxuICBzZWxlY3Qge1xyXG4gICAgb3V0bGluZS1jb2xvcjogJGNvbG9yLXNreTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1za3k7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICBcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgXHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ljb25zL2Fycm93LnBuZ1wiKSA5MCUgI2YwZjBmMCBuby1yZXBlYXQ7XHJcbiAgXHJcbiAgICAvLyBAaW5jbHVkZSBtcShiYWNrZ3JvdW5kLXBvc2l0aW9uLCA5NSUsICRzbSk7XHJcbiAgXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pY29ucy9hcnJvdy5wbmdcIikgOTAlICR3aGl0ZSBuby1yZXBlYXQ7XHJcbiAgICAgIG91dGxpbmU6ICRjb2xvci1za3k7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYVBob25lIHtcclxuICAgICAgJiwgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHRleHQtbG9hZCB7XHJcbiAgY29sb3I6ICM5OTk5O1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGFuaW1hdGlvbjogZmFkZVRleHQgNHMgaW5maW5pdGU7XHJcbn1cclxuIl19 */
