/*  */
.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;
}
.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 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 screen and (max-width: 767.8px) {
  .advantages__content {
    margin-left: 5px;
  }
}
@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;
  }
}

.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: 991.8px) {
  .prices__info__content {
    width: 34%;
  }
}

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

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