@import url(../lib/swiper.css);
.dna-carousel {
  position: relative;
  margin: 40px 0;
}

.dna-carousel__header {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 10px;
}

.dna-carousel__title {
  margin: 0 !important;
}

.dna-carousel__controls {
  display: flex;
  gap: 10px;
  margin-left: auto;
}
.dna-carousel__controls--hidden {
  display: none;
}

@media screen and (min-width: 768px) {
  .dna-carousel__footer {
    display: grid;
    grid-template-columns: [whitespace] 1fr [pagination] auto [more] 1fr;
    gap: 2rem;
    align-items: center;
  }
  .dna-carousel__footer .swiper-pagination {
    grid-column: pagination;
    margin: 20px 0 0;
  }
  .dna-carousel__footer .dna-carousel__more {
    grid-column: more;
    margin: 20px 0 0;
  }
}

.dna-carousel__more {
  text-align: right;
  margin-top: 1rem;
}

.swiper {
  --swiper-theme-color: #DA0070;
}

.swiper-wrapper {
  padding-top: 10px;
}

.swiper-slide {
  height: auto;
}

.swiper-pagination {
  line-height: 0;
  --swiper-pagination-bottom: 20px;
  --swiper-pagination-bullet-size: 1rem;
  --swiper-pagination-bullet-width: 2rem;
  --swiper-pagination-bullet-height: 1rem;
  --swiper-pagination-bullet-border-radius: 0.75rem;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 0;
  --swiper-pagination-bullet-vertical-gap: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1rem;
  position: static;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .swiper-pagination {
    display: none;
  }
}

.swiper-pagination-lock {
  margin: 0;
}

.swiper-pagination-bullet {
  border: 2px solid #948B89;
  transition: all 0.2s ease-in-out;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
  border-color: #DA0070;
}

.swiper-pagination-bullet-active {
  width: 3rem;
  border-color: #DA0070;
}

.swiper-scrollbar {
  --swiper-scrollbar-size: 6px;
  --swiper-scrollbar-border-radius: 3px;
  --swiper-scrollbar-bg-color: #EDE8E1;
  --swiper-scrollbar-drag-bg-color: #DA0070;
  position: static !important;
  margin: 1rem 0;
}
@media screen and (min-width: 768px) {
  .swiper-scrollbar {
    display: none;
  }
}
.swiper-scrollbar.swiper-scrollbar-horizontal {
  width: 100%;
}

.dna-carousel {
  --dna-swiper-slides: 1;
  --dna-swiper-gutter: 0;
}
@media screen and (min-width: 768px) {
  .dna-carousel[data-slidecount="2"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 480px) {
  .dna-carousel[data-slidecount="3"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 1024px) {
  .dna-carousel[data-slidecount="3"] {
    --dna-swiper-slides: 3;
  }
}
@media screen and (min-width: 480px) {
  .dna-carousel[data-slidecount="4"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 1024px) {
  .dna-carousel[data-slidecount="4"] {
    --dna-swiper-slides: 3;
  }
}
@media screen and (min-width: 1280px) {
  .dna-carousel[data-slidecount="4"] {
    --dna-swiper-slides: 4;
  }
}
@media screen and (min-width: 480px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 768px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 3;
  }
}
@media screen and (min-width: 1024px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 4;
  }
}
@media screen and (min-width: 1280px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 5;
  }
}
.dna-carousel .swiper-slide {
  width: calc((100% - (var(--dna-swiper-slides) - 1) * var(--dna-swiper-gutter)) / var(--dna-swiper-slides));
}
.dna-carousel .swiper-slide:not(:first-child) {
  margin-left: var(--dna-swiper-gutter);
}
.dna-carousel .swiper-init-ready .swiper-slide {
  width: auto;
  margin-left: 0;
}

.dna-carousel.product-carousel .dna-card {
  border: 1px solid #EFEEED;
  box-shadow: 0px 2px 16px 0px rgba(18, 18, 18, 0.06);
  border-radius: 8px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzIjpbImNhcmQtY2Fyb3VzZWwuc2NzcyIsImhvbWUvamVua2lucy9hZ2VudC93b3Jrc3BhY2UvRE5BZmkvQlVJTERfQU5EX0RFUExPWV9QTEFOUy9ETkEuZmlfRFhQX1BST0RfQVdTL1Byb2RfYXBwMl9saWZlcmF5X2luc3RhbGxfYW5kX2RlcGxveS9kbmEtbGlmZXJheS1zb3VyY2UvZG5hLWZpLXRoZW1lL3NyYy9jc3MvZG5hL19taXhpbnMuc2NzcyIsImhvbWUvamVua2lucy9hZ2VudC93b3Jrc3BhY2UvRE5BZmkvQlVJTERfQU5EX0RFUExPWV9QTEFOUy9ETkEuZmlfRFhQX1BST0RfQVdTL1Byb2RfYXBwMl9saWZlcmF5X2luc3RhbGxfYW5kX2RlcGxveS9kbmEtbGlmZXJheS1zb3VyY2UvZG5hLWZpLXRoZW1lL3NyYy9jc3MvZG5hL192YXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS1E7QUFFUjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7O0FDbkJJO0VEc0JSO0lBRUk7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7OztBQUlOO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQzVFTTtFRDJEUjtJQW1CSTs7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7QUFDQTtFQUNFLGNFeERlOzs7QUYyRG5CO0VBQ0U7RUFDQSxjRTdEaUI7OztBRmlFbkI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FDckdNO0VEOEZSO0lBU0k7OztBQUVGO0VBQ0U7OztBQU1KO0VBQ0U7RUFDQTs7QUNsSE07RURvSE47SUFFSTs7O0FDakdFO0VEb0dOO0lBRUk7OztBQ3JIRTtFRG1ITjtJQUtJOzs7QUN6R0U7RUQ0R047SUFFSTs7O0FDN0hFO0VEMkhOO0lBS0k7OztBQzdIRTtFRHdITjtJQVFJOzs7QUNwSEU7RUR1SE47SUFFSTs7O0FDOUlFO0VENElOO0lBS0k7OztBQzNJRTtFRHNJTjtJQVFJOzs7QUMzSUU7RURtSU47SUFXSTs7O0FBSUo7RUFDRTs7QUFDQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7O0FBS0Y7RUNKRTtFQUNBO0VBQ0EsZUM1Rm9CIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwiLi4vdmFyc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG5AaW1wb3J0IHVybCguLi9saWIvc3dpcGVyLmNzcyk7XG5cbi5kbmEtY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNDBweCAwO1xufVxuLmRuYS1jYXJvdXNlbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgLy8gdG90YWwgMjBweCwgd2hlbiBzd2lwZXIgaGFzIHRvcCBwYWRkaW5nXG59XG4uZG5hLWNhcm91c2VsX190aXRsZSB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLmRuYS1jYXJvdXNlbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAmLS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5kbmEtY2Fyb3VzZWxfX2Zvb3RlciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFt3aGl0ZXNwYWNlXSAxZnIgW3BhZ2luYXRpb25dIGF1dG8gW21vcmVdIDFmcjtcbiAgICBnYXA6IDJyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICBncmlkLWNvbHVtbjogcGFnaW5hdGlvbjtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgfVxuICAgIC5kbmEtY2Fyb3VzZWxfX21vcmUge1xuICAgICAgZ3JpZC1jb2x1bW46IG1vcmU7XG4gICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIH1cbiAgfVxufVxuLmRuYS1jYXJvdXNlbF9fbW9yZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uc3dpcGVyIHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICN7JGNvbG9yLW1haW4tLXBpbmt9O1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7IC8vIHJvb20gZm9yIGNhcmQgbGFiZWwgb24gdG9wXG59XG5cbi5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDA7IC8vIHJlbW92ZSB3aGl0ZXNwYWNlXG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tOiAyMHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplOiAxcmVtO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aDogMnJlbTtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaGVpZ2h0OiAxcmVtO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHk6IDE7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHk6IDE7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwOiAwO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXA6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC41cmVtIDFyZW07XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbjogMjBweCAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHsgLy8gZGlzYWJsZWQgcGFnaW5hdGlvblxuICBtYXJnaW46IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWxpbmUtLTAxO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAmOm5vdCguc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSk6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XG4gIH1cbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XG59XG5cblxuLnN3aXBlci1zY3JvbGxiYXIge1xuICAtLXN3aXBlci1zY3JvbGxiYXItc2l6ZTogNnB4O1xuICAtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1czogM3B4O1xuICAtLXN3aXBlci1zY3JvbGxiYXItYmctY29sb3I6ICN7JGNvbG9yLWJnLS1zYW5kLTAyfTtcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3I6ICN7JGNvbG9yLW1haW4tLXBpbmt9O1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG4vLyBjb250ZW50IGFsaWdubWVudCBiZWZvcmUgdGhlIHN3aXBlciBpcyBpbml0aWFsaXplZCAoPSBoYXMgc3dpcGVyLWluaXQtcmVhZHkgY2xhc3MpXG4uZG5hLWNhcm91c2VsIHtcbiAgLS1kbmEtc3dpcGVyLXNsaWRlczogMTtcbiAgLS1kbmEtc3dpcGVyLWd1dHRlcjogMDsgLy8gYWN0dWFsIHZhbHVlIGlzIHNldCBpbiAuZnRsXG5cbiAgJltkYXRhLXNsaWRlY291bnQ9XCIyXCJdIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMjtcbiAgICB9XG4gIH1cbiAgJltkYXRhLXNsaWRlY291bnQ9XCIzXCJdIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLW1vYmlsZSkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAzO1xuICAgIH1cbiAgfVxuICAmW2RhdGEtc2xpZGVjb3VudD1cIjRcIl0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcbiAgICAgIC0tZG5hLXN3aXBlci1zbGlkZXM6IDM7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1jb250ZW50KSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiA0O1xuICAgIH1cbiAgfVxuICAmW2RhdGEtc2xpZGVjb3VudD1cIjVcIl0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiA0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3AtY29udGVudCkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogNTtcbiAgICB9XG4gIH1cblxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtICgodmFyKC0tZG5hLXN3aXBlci1zbGlkZXMpIC0gMSkgKiB2YXIoLS1kbmEtc3dpcGVyLWd1dHRlcikpKSAvIHZhcigtLWRuYS1zd2lwZXItc2xpZGVzKSk7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZG5hLXN3aXBlci1ndXR0ZXIpO1xuICAgIH1cbiAgfVxuICAvLyBjbGVhciB3aGVuIGluaXQgaXMgZG9uZVxuICAuc3dpcGVyLWluaXQtcmVhZHkgLnN3aXBlci1zbGlkZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmRuYS1jYXJvdXNlbC5wcm9kdWN0LWNhcm91c2VsIHtcbiAgLmRuYS1jYXJkIHtcbiAgICBAaW5jbHVkZSBkcm9wc2hhZG93LWVsZXZhdGlvbi1sb3coKTtcbiAgfVxufVxuXG4vL1xuLy8gQ2Fyb3VzZWxcbi8vXG4vLyBDYXJvdXNlbCBzdHlsZXNcbi8vXG4vLyBTdHlsZWd1aWRlIDMxXG5cbi8vIENhcm91c2VsXG4vL1xuLy8gRmlnbWE6IGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL0piQlJNTmVYREpoMjVXZmR0dTJpdVMvV2ViLUVsZW1lbnRzP3R5cGU9ZGVzaWduJm5vZGUtaWQ9MzI1LTk3NzcmbW9kZT1kZXNpZ24mdD1QOENxSFVTMm5BTkNKbVk1LTBcbi8vXG4vLyBDYXJvdXNlbCBjYW4gaGF2ZSBhIHRpdGxlIGFuZCByZWFkIG1vcmUgLWxpbmsgYnV0IHRob3NlIGNhbiBiZSBhbHNvIGxlZnQgb3V0LiBUaGUgcGFnaW5hdGlvbiBlbGVtZW50IGJlbG93IHRoZSBjYXJvdXNlbCBpdGVtc1xuLy8gaXMgc3dpdGNoZWQgdG8gc2xpZGVyIG1vZGUgaW4gc21hbGxlciB2aWV3cy4gQWxzbyB0aGUgY2Fyb3VzZWwgY29udHJvbHMgYXJlIG5vdCBzaG93biBpZiBhbGwgdGhlIGVsZW1lbnRzIGZpdCB0byB0aGUgdmlld3BvcnQuXG4vLyBUaGVyZSBhcmUgMyBzYW1wbGUgY2FyZHMgaW4gZWFjaCBjYXJvdXNlbCwgc28gY2hhbmdlIHRoZSBicm93c2VyIHdpZHRoIHRvIGNoZWNrIGhvdyB0aGUgdmlldyB3aWR0aCBhZmZlY3RzIHRoZSBVSS5cbi8vXG4vLyBDYXJvdXNlbCBiZWhhdmlvdXIgaXMgYSBiaXQgZGlmZmVyZW50IGlmIGl0IGNvbnRhaW5zIHByb2R1Y3RzIG9yIHN1YnNjcmlwdGlvbnMuIEluIHRob3NlIGNhc2VzIHdlIHNob3cgcGFydGlhbCBzbGlkZXMuXG4vLyBJbiBwYXJ0aWFsIHNsaWRlcyBjYXNlcyB0aGUgcG9zc2libGUgY2FyZCBhbW91bnRzIGFyZSAxLCAxLjMzMywgMS41LCAxLjY2NiwgMiwgMi4zMzMsIDIuNSwgMi42NjYsIDMuMzMzLCAzLjUsIDMuNjY2LCA0LjMzMyBhbmQgNC41LlxuLy8gV2UgcGljayB0aGUgb25lIHdoaWNoIGlzIGNsb3Nlc3QgdG8gdGhlIGFpbWVkIHRhcmdldCB3aWR0aC4gRm9yIHByb2R1Y3QgY2FyZHMgdGhlIHRhcmdldCB3aWR0aCBpcyAyODVweCwgZm9yIHN1YnNjcmlwdGlvbiBjYXJkcyAzODBweC5cbi8vXG4vLyBGb3Igb3RoZXIgY2FyZHMgd2UgZGlzcGxheSBvbmx5IGZ1bGwgY2FyZHMuIFRoZSBhbW91bnQgb2YgcGFyYWxsZWwgY2FyZHMgaW4gZGVza3RvcCBpcyBkZWZpbmVkIGluIGRhdGEtYXR0cmlidXRlIGRhdGEtc2xpZGVjb3VudC4gSW4gdGhpc1xuLy8gZXhhbXBsZSBpdCBpcyBzZXQgdG8gYmUgMS4gQWxzbyB0aGUgZ2FwIGJldHdlZW4gdGhlIHNsaWRlcyBjYW4gYmUgc2V0IHVzaW5nIGRhdGEtc2xpZGVnYXAgYW5kIGFkZGl0aW9uYWxseSB3aXRoIGNzcyB2YXJpYWJsZSAtLWRuYS1zd2lwZXItZ3V0dGVyXG4vLyB3aGljaCBlbmFibGVzIHRoZSBVSSB0byBiZSB0aGUgc2FtZSBldmVuIHdoZW4gdGhlIGNhcm91c2VsIGphdmFzY3JpcHQgaXMgbm90IGluaXRpYWxpemVkIHlldC5cbi8vXG4vLyAuZHMtcHJvZHVjdC1jYXJkIC0gUHJvZHVjdCBjYXJkc1xuLy8gLnN1YnNjcmlwdGlvbmNhcmQgLSBTdWJzY3JpcHRpb24gY2FyZHNcbi8vIC5kbmEtY2FyZC1mcmVlLmRzLWJnLS1za3ktMDIgLSBGcmVlc3R5bGUgY2FyZHNcbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZGl2IGNsYXNzPVwiaGlkZS13aXRob3V0LW1vZGlmaWVyXCI+IDwhLS0gZGVtbyAtLT5cbi8vIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWwgcHJvZHVjdC1jYXJvdXNlbFwiIGRhdGEtc2xpZGVjb3VudD1cIjFcIiBkYXRhLXNsaWRlZ2FwPVwiMTBcIiBzdHlsZT1cIi0tZG5hLXN3aXBlci1ndXR0ZXI6MTBweDtcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19oZWFkZXJcIj5cbi8vICAgICAgICAgPGgyIGNsYXNzPVwiZG5hLWNhcm91c2VsX190aXRsZSBoM1wiPkNhcm91c2VsIHRpdGxlPC9oMj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fY29udHJvbHNcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1wcmV2IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kIGRzLWJ0bi0tZGlzYWJsZWRcIiB0YWJJbmRleD1cIi0xXCJcbi8vICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJFZGVsbGluZW5cIiBhcmlhLWNvbnRyb2xzPVwic3dpcGVyLXdyYXBwZXItMTg2MDM5MTE0NDc1ZmQyOFwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25MZWZ0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgPC9zdmc+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1uZXh0IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kXCIgdGFiSW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZXVyYWF2YVwiIGFyaWEtY29udHJvbHM9XCJzd2lwZXItd3JhcHBlci0xODYwMzkxMTQ0NzVmZDI4XCIgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25SaWdodFwiPjwvdXNlPlxuLy8gICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCJzd2lwZXJcIj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci13cmFwcGVyXCI+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInskbW9kaWZpZXJzfVwiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZCAxXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwieyRtb2RpZmllcnN9XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkIDJcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ7JG1vZGlmaWVyc31cIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmQgM1xuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19mb290ZXJcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItcGFnaW5hdGlvblwiPjwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zY3JvbGxiYXJcIj48L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX21vcmVcIj5cbi8vICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtaWNvbi1idG5cIj5cbi8vICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNBcnJvd1JpZ2h0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgICAgICAgICBBbGwgcHJvZHVjdHNcbi8vICAgICAgICAgICAgICAgICA8L2E+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgPC9kaXY+XG4vLyAgICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgMzEuMVxuXG4vLyBDYXJvdXNlbCB3aXRoIGFub3RoZXIgc2V0dGluZ3Ncbi8vXG4vLyBIZXJlIHdlIGhhdmUgc2V2ZXJhbCBjYXJkcyB0byBkaXNwbGF5IGluIHRoZSBjYXJvdXNlbCwgMyBjb2x1bW5zLCBiaWdnZXIgZ3JpZCBhbmQgbG9uZyB0ZXh0c1xuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxcIiBkYXRhLXNsaWRlY291bnQ9XCIzXCIgZGF0YS1zbGlkZWdhcD1cIjMwXCIgc3R5bGU9XCItLWRuYS1zd2lwZXItZ3V0dGVyOjMwcHg7XCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9faGVhZGVyXCI+XG4vLyAgICAgICAgIDxoMiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fdGl0bGUgaDNcIj5Mb25nIHRpdGxlIGFzIGFuIGV4YW1wbGUgaG93IGl0IGFsaWducyB3aXRoIHRoZSBidXR0b25zPC9oMj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fY29udHJvbHNcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1wcmV2IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kIGRzLWJ0bi0tZGlzYWJsZWRcIiB0YWJJbmRleD1cIi0xXCJcbi8vICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJFZGVsbGluZW5cIiBhcmlhLWNvbnRyb2xzPVwic3dpcGVyLXdyYXBwZXItMTg2MDM5MTE0NDc1ZmQyOFwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25MZWZ0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgPC9zdmc+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1uZXh0IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kXCIgdGFiSW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZXVyYWF2YVwiIGFyaWEtY29udHJvbHM9XCJzd2lwZXItd3JhcHBlci0xODYwMzkxMTQ0NzVmZDI4XCIgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25SaWdodFwiPjwvdXNlPlxuLy8gICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCJzd2lwZXJcIj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci13cmFwcGVyXCI+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19mb290ZXJcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItcGFnaW5hdGlvblwiPjwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zY3JvbGxiYXJcIj48L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX21vcmVcIj5cbi8vICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtaWNvbi1idG5cIj5cbi8vICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNBcnJvd1JpZ2h0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgICAgICAgICBFeGFtcGxlIG9mIGhvdyBsaW5rIGFuZCBidWxsZXRzIGFsaWduXG4vLyAgICAgICAgICAgICAgICAgPC9hPlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gPC9kaXY+XG4vL1xuLy8gU3R5bGVndWlkZSAzMS4yXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICAgIEBpZiAkcG9pbnQgPT0gbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0IC0gMSkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gc21hbGxlci10aGFuLWRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3AtY29udGVudCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3AtY29udGVudCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2UtZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGV4dHJhbGFyZ2UtZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWV4dHJhbGFyZ2UtZGVza3RvcCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0LW9ubHkge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2UtbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbW9iaWxlKSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZS1tb2JpbGUtb25seSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsLW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSAtIDEpICB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB0aW55LW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRpbnktbW9iaWxlIC0gMSkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IG1heC1wYWdlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBhZ2UtbWF4LXdpZHRoKSAgeyBAY29udGVudDsgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhICgjeyRwb2ludH0pIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5AbWl4aW4gY29udGFpbmVyLXNtYWxsLW1vYmlsZSB7XG4gICAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtbGFyZ2UtbW9iaWxlIC0gMX0pIHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBjb250YWluZXItbGFyZ2UtbW9iaWxlIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aC1sYXJnZS1tb2JpbGV9KSB7IEBjb250ZW50OyB9XG59XG5AbWl4aW4gY29udGFpbmVyLXRhYmxldCB7XG4gICAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtdGFibGV0fSkgeyBAY29udGVudDsgfVxufVxuQG1peGluIGNvbnRhaW5lci1kZXNrdG9wIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aC1kZXNrdG9wfSkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gb3JpZW50YXRpb24oJG9yaWVudGF0aW9uKSB7XG4gICAgQGlmICRvcmllbnRhdGlvbiA9PSBsYW5kc2NhcGUge1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRvcmllbnRhdGlvbiA9PSBwb3J0cmFpdCB7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCkgeyBAY29udGVudDsgfVxuICAgIH1cbn1cblxuQG1peGluIGhpZ2gtcmVzKCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBUaGUgbWljcm8gY2xlYXJmaXggaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBkaXNwbGF5OnRhYmxlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UobWF0aC5kaXYoJGhlaWdodCwkcmF0aW8tb3Itd2lkdGgpKSwgcGVyY2VudGFnZShtYXRoLmRpdigxLCRyYXRpby1vci13aWR0aCkpKTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBtaXhpbiB0cmFuc3BhcmVudC1zZWxlY3Rpb24ge1xuICAgICY6OnNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGhlcm8tZm9udC1zaXplKCRtb2JpbGUsICRsYXJnZW1vYmlsZSwgJHRhYmxldCwgJGRlc2t0b3AsICRsYXJnZWRlc2t0b3A6ICRkZXNrdG9wKSB7XG4gICAgZm9udC1zaXplOiAkbW9iaWxlICsgcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1tb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiAkbGFyZ2Vtb2JpbGUgKyBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGV0ICsgcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6ICRkZXNrdG9wICsgcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6ICRsYXJnZWRlc2t0b3AgKyBweDtcbiAgICB9XG59XG5cbkBtaXhpbiBtYXRjaFRvSGVhZGVySGVpZ2h0KCRwcm9wZXJ0eSwgJGlzQm9keUVsZW1lbnQ6IGZhbHNlLCAkZXh0cmFoZWlnaHQ6IDAsICRuZWdhdGl2ZTpmYWxzZSkge1xuICAgICRtdWx0aXBsaWVyOiAxO1xuICAgIEBpZiAkbmVnYXRpdmUgeyAkbXVsdGlwbGllcjogLTF9XG5cbiAgICAjeyRwcm9wZXJ0eX06ICgkaGVhZGVyLWhlaWdodC1tb2JpbGUgKyAkZXh0cmFoZWlnaHQpICogJG11bHRpcGxpZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3AgKyAkZXh0cmFoZWlnaHQpICogJG11bHRpcGxpZXI7XG4gICAgfVxufVxuXG5AbWl4aW4gcG9zaXRpb25BYnNvbHV0ZUZ1bGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbn1cbkBtaXhpbiBwb3NpdGlvbkFic29sdXRlQ2VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cbkBtaXhpbiBidXR0b25TdHlsZVJlc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuQG1peGluIGxpc3RTdHlsZVJlc2V0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgID4gbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24tbG93KCRjbGlwOiBudWxsKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpbmUtLTA0O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggMTZweCAwcHggc2NhbGVfY29sb3IoJGNvbG9yLXRleHQtLWJsYWNrLCAkYWxwaGE6IC05NCUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1ub3JtYWw7XG4gICAgQGlmKCRjbGlwKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuQG1peGluIGRyb3BzaGFkb3ctZWxldmF0aW9uLWhpZ2goJGNsaXA6IG51bGwpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGluZS0tMDQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IDBweCBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0tYmxhY2ssICRhbHBoYTogLTkyJSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLW5vcm1hbDtcbiAgICBAaWYoJGNsaXApIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24tZXh0cmEtaGlnaCgkY2xpcDogbnVsbCkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1saW5lLS0wNDtcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDY0cHggMHB4IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtODQlKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tbm9ybWFsO1xuICAgIEBpZigkY2xpcCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cbkBtaXhpbiBkZWZhdWx0LWZvY3VzKCRyYWRpdXM6IG51bGwpIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tY29sb3ItZm9jdXMtcmluZy1pbm5lciksIDBweCAwcHggMHB4IDRweCB2YXIoLS1jb2xvci1mb2N1cy1yaW5nLW91dGVyKTtcbiAgICAgICAgQGlmKCRyYWRpdXMpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWl4aW4gaW5uZXItZm9jdXMoJHJhZGl1czogbnVsbCkge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDJweCB2YXIoLS1jb2xvci1mb2N1cy1yaW5nLW91dGVyKSwgaW5zZXQgMHB4IDBweCAwcHggNHB4IHZhcigtLWNvbG9yLWZvY3VzLXJpbmctaW5uZXIpO1xuICAgICAgICBAaWYoJHJhZGl1cykge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiBpbnB1dC1maWVsZC1pY29uKCR1cmwsICR1cmwyOiBudWxsKSB7XG4gICAgQGlmKCR1cmwyKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkdXJsKSwgdXJsKCR1cmwyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR1cmwpO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGNlbnRlciwgcmlnaHQgMzVweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbn1cbkBtaXhpbiB1bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4yZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IGZyb20tZm9udDtcbn1cbkBtaXhpbiBsaW5rLXVuZGVybGluZSB7XG4gICAgQGluY2x1ZGUgdW5kZXJsaW5lO1xuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gaG92ZXItYWN0aXZlLXN0YXRlLWVmZmVjdHMoJHRleHQtY29sb3I6IG51bGwsICR0ZXh0LWNvbG9yLWNoYW5nZTogZmFsc2UsICRiZy1jb2xvcjogbnVsbCwgJGJvcmRlci1jb2xvcjogbnVsbCkge1xuICAgICY6aG92ZXIge1xuICAgICAgICBAaWYoJHRleHQtY29sb3ItY2hhbmdlKSB7XG4gICAgICAgICAgICBjb2xvcjogc2NhbGVfY29sb3IoJHRleHQtY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBAaWYoJGJnLWNvbG9yKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcigkYmctY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICB9XG4gICAgICAgIEBpZigkYm9yZGVyLWNvbG9yKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHNjYWxlX2NvbG9yKCRib3JkZXItY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGlmKCR0ZXh0LWNvbG9yLWNoYW5nZSkge1xuICAgICAgICAgICAgY29sb3I6IHNjYWxlX2NvbG9yKCR0ZXh0LWNvbG9yLCAkbGlnaHRuZXNzOiAxMCUpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBAaWYoJGJnLWNvbG9yKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcigkYmctY29sb3IsICRsaWdodG5lc3M6IDEwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmKCRib3JkZXItY29sb3IpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2NhbGVfY29sb3IoJGJvcmRlci1jb2xvciwgJGxpZ2h0bmVzczogMTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gR1JJRFxuQG1peGluIGdyaWQoJGNvbHVtbnM6MSwgJGdhcDokZ3JpZC1nYXAtLXNtYWxsKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6ICRnYXA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMsIG1pbm1heCgwLCAxZnIpKTtcbn1cbkBtaXhpbiBncmlkLWNvbHVtbnMoJGNvbHVtbnM6MSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLCBtaW5tYXgoMCwgMWZyKSk7XG59XG5cbkBtaXhpbiBmdWxsLWNhcmQtbGluay1vdmVybGF5KCkge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgIH1cbn0iLCIvLyBCcmVha3BvaW50c1xuJGJyZWFrcG9pbnQtdGlueS1tb2JpbGU6IDM2MHB4O1xuJGJyZWFrcG9pbnQtbGFyZ2UtbW9iaWxlOiA0ODBweDtcbiRicmVha3BvaW50LXRhYmxldDogNzY4cHg7XG4kYnJlYWtwb2ludC1kZXNrdG9wOiAxMDI0cHg7XG4kYnJlYWtwb2ludC1kZXNrdG9wLWNvbnRlbnQ6IDEyODBweDtcbiRicmVha3BvaW50LWxhcmdlLWRlc2t0b3A6IDE0NDBweDtcbiRicmVha3BvaW50LWV4dHJhbGFyZ2UtZGVza3RvcDogMTkyMHB4O1xuLy8gY29udGFpbmVyIHdpZHRocyBpbiBub3JtYWwgcGFnZSBjb250ZW50XG4kY29udGFpbmVyLXdpZHRoLWxhcmdlLW1vYmlsZTogJGJyZWFrcG9pbnQtbGFyZ2UtbW9iaWxlIC0gMioyMHB4O1xuJGNvbnRhaW5lci13aWR0aC10YWJsZXQ6ICRicmVha3BvaW50LXRhYmxldCAtIDIqNDBweDtcbiRjb250YWluZXItd2lkdGgtZGVza3RvcDogJGJyZWFrcG9pbnQtZGVza3RvcCAtIDIqNDBweDtcblxuJGZvbnQtc2l6ZS1ub3JtYWw6ICAgICAgICAgICAgIDE2cHg7XG4kZm9udC1zaXplLWVtcGhhc2l6ZWQ6ICAgICAgICAgMThweDtcbiRmb250LXNpemUtYmlnZ2VyOiAgICAgICAgICAgICAyMHB4O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICAgICAgIDMycHg7XG4kZm9udC1zaXplLWxhcmdlc3Q6ICAgICAgICAgICAgNDRweDtcbiRmb250LXNpemUtaHVnZTogICAgICAgICAgICAgICA4MHB4O1xuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAgICAgIDE0cHg7XG4kZm9udC1zaXplLWV4dHJhc21hbGw6ICAgICAgICAgMTJweDtcbiRmb250LXNpemUtdGlueTogICAgICAgICAgICAgICAxMHB4O1xuXG4kbGluZS1oZWlnaHQtbm9ybWFsOiAgICAgICAgICAgMS4yNTsgLy8gZm9yIDE2cHgsIDIwcHhcbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAgICAxLjU7IC8vIGZvciAxNnB4LCAyNHB4XG5cbiRmb250LWZhbWlseS1oZWFkaW5nLWRlbWktYm9sZDogJ0ROQSBIZWFkaW5nIERlbWkgQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktaGVhZGluZy1ib2xkOiAgICAgICdETkEgSGVhZGluZyBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1oZWFkaW5nLWJsYWNrOiAgICAgJ0ROQSBIZWFkaW5nIEJsYWNrJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS10ZXh0LWJvbGQ6ICAgICAgICAgJ0ROQSBUZXh0IEJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXRleHQtbWVkaXVtOiAgICAgICAnRE5BIFRleHQgTWVkaXVtJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS10ZXh0LXJlZ3VsYXI6ICAgICAgJ0ROQSBUZXh0IFJlZ3VsYXInLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLyBjb2xvcnMgaHR0cHM6Ly93d3cuZmlnbWEuY29tL2ZpbGUvTDRJRzZTRzNBTDdzdWU5WUcxZzJnQi9ETkEtQ29sb3JzLU5FVz9ub2RlLWlkPTIlM0E0MTlcbiRjb2xvci1tYWluLS13aGl0ZTogI0ZGRkZGRjtcbiRjb2xvci1tYWluLS1ibGFjazogIzEyMTIxMjtcbiRjb2xvci1tYWluLS1waW5rOiAjREEwMDcwO1xuJGNvbG9yLW1haW4tLXBpbmstMDE6ICNGRjgyQzE7XG4kY29sb3ItbWFpbi0tcGluay0wMjogI0ZGQkZERjtcbiRjb2xvci1tYWluLS1wbHVtOiAjNTUxQzNFO1xuJGNvbG9yLW1haW4tLXBsdW0tMDE6ICM2OTIxNEM7XG4kY29sb3ItbWFpbi0tcGx1bS0wMjogIzc5MkE1OTtcblxuJGNvbG9yLWFjY2VudC0tbGVtb246ICNGRkYzNDc7XG4kY29sb3ItYWNjZW50LS1sZW1vbi0wMTogI0ZGRjlBMztcbiRjb2xvci1hY2NlbnQtLWxlbW9uLTAyOiAjRkZGQUJBO1xuJGNvbG9yLWFjY2VudC0tc2t5OiAjMkVDQUYwO1xuJGNvbG9yLWFjY2VudC0tc2t5LTAxOiAjNzdEQ0Y1O1xuJGNvbG9yLWFjY2VudC0tc2t5LTAyOiAjOTZFNEY4O1xuJGNvbG9yLWFjY2VudC0tb3JhbmdlOiAjRkZBNjMzO1xuJGNvbG9yLWFjY2VudC0tb3JhbmdlLTAxOiAjRkZDQTg1O1xuJGNvbG9yLWFjY2VudC0tb3JhbmdlLTAyOiAjRkZEQkFEO1xuXG4kY29sb3ItYmctLXdoaXRlOiAjRkZGRkZGO1xuJGNvbG9yLWJnLS1zYW5kOiAjRkRGQkZBO1xuJGNvbG9yLWJnLS1zYW5kLTAxOiAjRjhGNEYxO1xuJGNvbG9yLWJnLS1zYW5kLTAyOiAjRURFOEUxO1xuJGNvbG9yLWJnLS1mcm9zdGVkZ2xhc3M6ICNmNWY1ZjVlYjtcblxuJGNvbG9yLXRleHQtLWJsYWNrOiAjMTIxMjEyO1xuJGNvbG9yLXRleHQtLWRhcmstZ3JheTogIzUwNTA1MDtcbiRjb2xvci10ZXh0LS1wbHVtOiAjNTUxQzNFO1xuJGNvbG9yLXRleHQtLXBpbms6ICNEQTAwNzA7XG4kY29sb3ItdGV4dC0td2hpdGU6ICNGRkZGRkY7XG4kY29sb3ItdGV4dC0tZGlzYWJsZWQ6IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtNTAlKTtcblxuJGNvbG9yLXV0aWxpdHktLXRleHQtbGluazogI0RBMDA3MDtcbiRjb2xvci11dGlsaXR5LS10ZXh0LWxpbmstaG92ZXI6IHNjYWxlX2NvbG9yKCRjb2xvci11dGlsaXR5LS10ZXh0LWxpbmssICRsaWdodG5lc3M6IC0yMCUpO1xuJGNvbG9yLXV0aWxpdHktLWZvY3VzOiAjMDA2NEUyO1xuJGNvbG9yLXV0aWxpdHktLWZvY3VzLWxpZ2h0OiAjRDhFOUZGO1xuXG4kY29sb3ItbGluZS0tMDE6ICM5NDhCODk7XG4kY29sb3ItbGluZS0tMDI6ICNENEQyQ0U7XG4kY29sb3ItbGluZS0tMDM6ICNFN0U1RTM7XG4kY29sb3ItbGluZS0tMDQ6ICNFRkVFRUQ7XG5cbiRjb2xvci1ub3RpZmljYXRpb24tLWluZm86ICMwQjdDOTk7XG4kY29sb3Itbm90aWZpY2F0aW9uLS13YXJuaW5nOiAjRUI2NjAwO1xuJGNvbG9yLW5vdGlmaWNhdGlvbi0tZXJyb3I6ICNERDBBMEE7XG4kY29sb3Itbm90aWZpY2F0aW9uLS1zdWNjZXNzOiAjMDA4NTAwO1xuXG4kYm9yZGVyLXJhZGl1cy0tc21hbGw6IDRweDtcbiRib3JkZXItcmFkaXVzLS1ub3JtYWw6IDhweDtcbiRib3JkZXItcmFkaXVzLS1mdWxsOiA1MCU7XG5cblxuLy9wYWdlIG1pbiBtYXggd2lkdGhzXG4kcGFnZS1taW4td2lkdGg6IDMyMHB4O1xuJHBhZ2UtbWF4LXdpZHRoOiAyNTYwcHg7XG4kcGFnZS1sYXlvdXQtbm9ybWFsLWNvbnRlbnQtbWF4d2lkdGg6IDEyMDBweDtcbiRwYWdlLWxheW91dC1tZWRpdW0tY29udGVudC1tYXh3aWR0aDogODYwcHg7XG4kcGFnZS1sYXlvdXQtc21hbGwtY29udGVudC1tYXh3aWR0aDogNjQwcHg7XG5cbi8vIGdyaWQgcGFkZGluZ3NcbiRncmlkLWdhcC0tc21hbGw6IDEwcHg7XG4kZ3JpZC1nYXAtLXdpZGU6IDMwcHg7XG4kZ3JpZC1nYXAtLWxhcmdlOiA2MHB4O1xuJGdyaWQtcGFkZGluZzogMTBweDtcblxuLy9wb3J0bGV0IG1hcmdpbnNcbiRtYXJnaW4tcG9ydGxldC1kZWZhdWx0OiAgICAgICAgNTBweDtcbiRtYXJnaW4tcG9ydGxldC1zbWFsbDogICAgICAgICAgMzBweDtcbiRtYXJnaW4tcG9ydGxldC1leHRyYXNtYWxsOiAgICAgMTBweDtcbiRtYXJnaW4tcG9ydGxldC1leHRyYWxhcmdlOiAgICAgMjB2aDtcblxuLy9pbnB1dCB2YXJpYWJsZXNcbiRidXR0b24taGVpZ2h0LWRlZmF1bHQ6ICAgNDBweDtcbiRidXR0b24taGVpZ2h0LXNtYWxsOiAgICAgMzJweDtcbiRpbnB1dC1oZWlnaHQtZGVmYXVsdDogICAgNDBweDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGNvbG9yLWxpbmUtLTAxO1xuJGlucHV0LWZpZWxkLWJnOiAgICAgICAgICAgICAgICAkY29sb3ItYmctLXdoaXRlO1xuJGlucHV0LXRleHQtY29sb3I6ICAgICAgICAgICAgICAkY29sb3ItdGV4dC0tYmxhY2s7XG4kaW5wdXQtYm9yZGVyLXNob3J0aGFuZDogICAgICAgIDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuJGZvcm0tZWxlbWVudHMtbWF4LXdpZHRoOiAgICAgICA1MTVweDtcblxuLy9sYWJlbFxuJGRzLWxhYmVsLWhlaWdodDogMjJweDtcblxuLy8gVXNlIHRoZXNlIGNvbG9ycyBhbnl3aGVyZSBhIGxpbmssIGlucHV0IG9yIGEgYnV0dG9uIGlzIGRpc2FibGVkIVxuJGRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAjZjJmMmYyO1xuJGRpc2FibGVkLXRleHQ6ICAgICAgICAgICAgICAgICAjOTk5OTk5O1xuXG5cbiRoZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDEwOHB4OyAvLyA0OHB4IHNpdGUgbmF2ICsgNjAgbWFpbiBuYXZcbiRoZWFkZXItaGVpZ2h0LW1vYmlsZTogOThweDsgLy8gMzhweCBzaXRlIG5hdiArIDYwIG1haW4gbmF2XG4kaGVhZGVyLW1haW4tbmF2LWhlaWdodDogNjBweDtcbiRzZWNvbmRhcnktbmF2LWhlaWdodC1kZXNrdG9wOiA1N3B4OyAvLyBuZWVkZWQgZm9yIHRvYXN0ZXIgcG9zaXRpb25pbmdcbiRzZWNvbmRhcnktbmF2LWhlaWdodC1tb2JpbGU6IDY0cHg7XG4kYWRtaW4tZG9ja2Jhci1oZWlnaHQ6IDc0cHg7XG4kYWRtaW4tZWRpdC1tb2RlLWRvY2tiYXItaGVpZ2h0OiAxNTVweDtcblxuJGNhcmQtaGVpZ2h0OiA0MDBweDtcbiRjYXJkLWhlaWdodC1hY3R1YWw6IDQwMHB4IC0gMnB4OyAvL2JvcmRlcnNcbiRjYXJkLWhlaWdodC1leHRlbmRlZDogNjAwcHg7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogMjBweDtcblxuJGZvcm0tZWxlbWVudC1ib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcblxuJHRhYi1pdGVtLWhlaWdodDogMzZweDtcblxuLy8gei1pbmRleCBsZXZlbHNcbiR6LWluZGV4LWxldmVsLTEtYmFzZTogMDtcbiR6LWluZGV4LWxldmVsLTItZmxvYXRpbmc6IDIwMDsgLy8gZm9yIGFsbCBmaXJzdCBsZXZlbCBmbG9hdGluZyBlbGVtZW50c1xuJHotaW5kZXgtbGV2ZWwtMy1wb3B1cC1vdmVybGF5OiA2MDA7IC8vIGZvciBoZWFkZXIgbG9naW4gbW9kYWxzIGFuZCBvdGhlciBwb3B1cHMgdGhhdCBzaG91bGQgYmUgdW5kZXIgdGhlIGhlYWRlclxuJHotaW5kZXgtbGV2ZWwtNC1oZWFkZXI6IDEwMDA7XG4kei1pbmRleC1sZXZlbC01LWNoYXQ6IDEwNDA7IC8vIFNob3VsZCBiZSBhYm92ZSBoZWFkZXIgYnV0IGJlbG93IG92ZXJsYXkuIFJvY2tldCBtb2RhbCBoYXMgei1pbmRleDogMTA1MCwgc28gd2UgbmVlZCBDaGF0IHRvIGJlIGp1c3QgYmVsb3csIGFuZCBhYm92ZSB0aGVpciBoZWFkZXIgdGhhdCBoYXMgMTAzMC5cbiR6LWluZGV4LWxldmVsLTYtbW9kYWwtb3ZlcmxheTogMTEwMDsgLy8gZm9yIG1vZGFsIHRoYXQgc2hvdWxkIGNvdmVyIHRoZSBoZWFkZXJcbiR6LWluZGV4LWxldmVsLTctbW9kYWw6IDEyMDA7IC8vIHRvcCBsZXZlbCBtb2RhbHMiXSwiZmlsZSI6ImNhcmQtY2Fyb3VzZWwuY3NzIn0= */
