@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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzIjpbImNhcmQtY2Fyb3VzZWwuc2NzcyIsIkM6L0Rldi9ETkEvZG5hLmZpLWR4cC9kbmEtZmktdGhlbWUvc3JjL2Nzcy9kbmEvX21peGlucy5zY3NzIiwiQzovRGV2L0ROQS9kbmEuZmktZHhwL2RuYS1maS10aGVtZS9zcmMvY3NzL2RuYS9fdmFycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtRO0FBRVI7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7OztBQ25CSTtFRHNCUjtJQUVJO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7Ozs7QUFJTjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUM1RU07RUQyRFI7SUFtQkk7Ozs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7O0FBQ0E7RUFDRSxjRXhEZTs7O0FGMkRuQjtFQUNFO0VBQ0EsY0U3RGlCOzs7QUZpRW5CO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQ3JHTTtFRDhGUjtJQVNJOzs7QUFFRjtFQUNFOzs7QUFNSjtFQUNFO0VBQ0E7O0FDbEhNO0VEb0hOO0lBRUk7OztBQ2pHRTtFRG9HTjtJQUVJOzs7QUNySEU7RURtSE47SUFLSTs7O0FDekdFO0VENEdOO0lBRUk7OztBQzdIRTtFRDJITjtJQUtJOzs7QUM3SEU7RUR3SE47SUFRSTs7O0FDcEhFO0VEdUhOO0lBRUk7OztBQzlJRTtFRDRJTjtJQUtJOzs7QUMzSUU7RURzSU47SUFRSTs7O0FDM0lFO0VEbUlOO0lBV0k7OztBQUlKO0VBQ0U7O0FBQ0E7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7OztBQUtGO0VDREU7RUFDQTtFQUNBLGVDL0ZvQiIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbkBpbXBvcnQgXCIuLi92YXJzXCI7XHJcbkBpbXBvcnQgXCIuLi9taXhpbnNcIjtcclxuXHJcbkBpbXBvcnQgdXJsKC4uL2xpYi9zd2lwZXIuY3NzKTtcclxuXHJcbi5kbmEtY2Fyb3VzZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDQwcHggMDtcclxufVxyXG4uZG5hLWNhcm91c2VsX19oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAycmVtO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgLy8gdG90YWwgMjBweCwgd2hlbiBzd2lwZXIgaGFzIHRvcCBwYWRkaW5nXHJcbn1cclxuLmRuYS1jYXJvdXNlbF9fdGl0bGUge1xyXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5kbmEtY2Fyb3VzZWxfX2NvbnRyb2xzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMTBweDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAmLS1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuLmRuYS1jYXJvdXNlbF9fZm9vdGVyIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW3doaXRlc3BhY2VdIDFmciBbcGFnaW5hdGlvbl0gYXV0byBbbW9yZV0gMWZyO1xyXG4gICAgZ2FwOiAycmVtO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xyXG4gICAgICBncmlkLWNvbHVtbjogcGFnaW5hdGlvbjtcclxuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIH1cclxuICAgIC5kbmEtY2Fyb3VzZWxfX21vcmUge1xyXG4gICAgICBncmlkLWNvbHVtbjogbW9yZTtcclxuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmRuYS1jYXJvdXNlbF9fbW9yZSB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgbWFyZ2luLXRvcDogMXJlbTtcclxufVxyXG5cclxuLnN3aXBlciB7XHJcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICN7JGNvbG9yLW1haW4tLXBpbmt9O1xyXG59XHJcbi5zd2lwZXItd3JhcHBlciB7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7IC8vIHJvb20gZm9yIGNhcmQgbGFiZWwgb24gdG9wXHJcbn1cclxuXHJcbi5zd2lwZXItc2xpZGUge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuXHJcbi5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgbGluZS1oZWlnaHQ6IDA7IC8vIHJlbW92ZSB3aGl0ZXNwYWNlXHJcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b206IDIwcHg7XHJcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZTogMXJlbTtcclxuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aDogMnJlbTtcclxuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQ6IDFyZW07XHJcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYm9yZGVyLXJhZGl1czogMC43NXJlbTtcclxuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eTogMTtcclxuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1vcGFjaXR5OiAxO1xyXG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwOiAwO1xyXG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXZlcnRpY2FsLWdhcDogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBnYXA6IDAuNXJlbSAxcmVtO1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHsgLy8gZGlzYWJsZWQgcGFnaW5hdGlvblxyXG4gIG1hcmdpbjogMDtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItbGluZS0tMDE7XHJcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAmOm5vdCguc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSk6aG92ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItbWFpbi0tcGluaztcclxuICB9XHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gIHdpZHRoOiAzcmVtO1xyXG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XHJcbn1cclxuXHJcblxyXG4uc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLXNpemU6IDZweDtcclxuICAtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIC0tc3dpcGVyLXNjcm9sbGJhci1iZy1jb2xvcjogI3skY29sb3ItYmctLXNhbmQtMDJ9O1xyXG4gIC0tc3dpcGVyLXNjcm9sbGJhci1kcmFnLWJnLWNvbG9yOiAjeyRjb2xvci1tYWluLS1waW5rfTtcclxuXHJcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMXJlbSAwO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAmLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBjb250ZW50IGFsaWdubWVudCBiZWZvcmUgdGhlIHN3aXBlciBpcyBpbml0aWFsaXplZCAoPSBoYXMgc3dpcGVyLWluaXQtcmVhZHkgY2xhc3MpXHJcbi5kbmEtY2Fyb3VzZWwge1xyXG4gIC0tZG5hLXN3aXBlci1zbGlkZXM6IDE7XHJcbiAgLS1kbmEtc3dpcGVyLWd1dHRlcjogMDsgLy8gYWN0dWFsIHZhbHVlIGlzIHNldCBpbiAuZnRsXHJcblxyXG4gICZbZGF0YS1zbGlkZWNvdW50PVwiMlwiXSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xyXG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAyO1xyXG4gICAgfVxyXG4gIH1cclxuICAmW2RhdGEtc2xpZGVjb3VudD1cIjNcIl0ge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1tb2JpbGUpIHtcclxuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xyXG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAzO1xyXG4gICAgfVxyXG4gIH1cclxuICAmW2RhdGEtc2xpZGVjb3VudD1cIjRcIl0ge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1tb2JpbGUpIHtcclxuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xyXG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAzO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLWNvbnRlbnQpIHtcclxuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogNDtcclxuICAgIH1cclxuICB9XHJcbiAgJltkYXRhLXNsaWRlY291bnQ9XCI1XCJdIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlKSB7XHJcbiAgICAgIC0tZG5hLXN3aXBlci1zbGlkZXM6IDI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xyXG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAzO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XHJcbiAgICAgIC0tZG5hLXN3aXBlci1zbGlkZXM6IDQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3AtY29udGVudCkge1xyXG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiA1O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN3aXBlci1zbGlkZSB7XHJcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtICgodmFyKC0tZG5hLXN3aXBlci1zbGlkZXMpIC0gMSkgKiB2YXIoLS1kbmEtc3dpcGVyLWd1dHRlcikpKSAvIHZhcigtLWRuYS1zd2lwZXItc2xpZGVzKSk7XHJcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWRuYS1zd2lwZXItZ3V0dGVyKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gY2xlYXIgd2hlbiBpbml0IGlzIGRvbmVcclxuICAuc3dpcGVyLWluaXQtcmVhZHkgLnN3aXBlci1zbGlkZSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmRuYS1jYXJvdXNlbC5wcm9kdWN0LWNhcm91c2VsIHtcclxuICAuZG5hLWNhcmQge1xyXG4gICAgQGluY2x1ZGUgZHJvcHNoYWRvdy1lbGV2YXRpb24tbG93KCk7XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBDYXJvdXNlbFxyXG4vL1xyXG4vLyBDYXJvdXNlbCBzdHlsZXNcclxuLy9cclxuLy8gU3R5bGVndWlkZSAzMVxyXG5cclxuLy8gQ2Fyb3VzZWxcclxuLy9cclxuLy8gRmlnbWE6IGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL0piQlJNTmVYREpoMjVXZmR0dTJpdVMvV2ViLUVsZW1lbnRzP3R5cGU9ZGVzaWduJm5vZGUtaWQ9MzI1LTk3NzcmbW9kZT1kZXNpZ24mdD1QOENxSFVTMm5BTkNKbVk1LTBcclxuLy9cclxuLy8gQ2Fyb3VzZWwgY2FuIGhhdmUgYSB0aXRsZSBhbmQgcmVhZCBtb3JlIC1saW5rIGJ1dCB0aG9zZSBjYW4gYmUgYWxzbyBsZWZ0IG91dC4gVGhlIHBhZ2luYXRpb24gZWxlbWVudCBiZWxvdyB0aGUgY2Fyb3VzZWwgaXRlbXNcclxuLy8gaXMgc3dpdGNoZWQgdG8gc2xpZGVyIG1vZGUgaW4gc21hbGxlciB2aWV3cy4gQWxzbyB0aGUgY2Fyb3VzZWwgY29udHJvbHMgYXJlIG5vdCBzaG93biBpZiBhbGwgdGhlIGVsZW1lbnRzIGZpdCB0byB0aGUgdmlld3BvcnQuXHJcbi8vIFRoZXJlIGFyZSAzIHNhbXBsZSBjYXJkcyBpbiBlYWNoIGNhcm91c2VsLCBzbyBjaGFuZ2UgdGhlIGJyb3dzZXIgd2lkdGggdG8gY2hlY2sgaG93IHRoZSB2aWV3IHdpZHRoIGFmZmVjdHMgdGhlIFVJLlxyXG4vL1xyXG4vLyBDYXJvdXNlbCBiZWhhdmlvdXIgaXMgYSBiaXQgZGlmZmVyZW50IGlmIGl0IGNvbnRhaW5zIHByb2R1Y3RzIG9yIHN1YnNjcmlwdGlvbnMuIEluIHRob3NlIGNhc2VzIHdlIHNob3cgcGFydGlhbCBzbGlkZXMuXHJcbi8vIEluIHBhcnRpYWwgc2xpZGVzIGNhc2VzIHRoZSBwb3NzaWJsZSBjYXJkIGFtb3VudHMgYXJlIDEsIDEuMzMzLCAxLjUsIDEuNjY2LCAyLCAyLjMzMywgMi41LCAyLjY2NiwgMy4zMzMsIDMuNSwgMy42NjYsIDQuMzMzIGFuZCA0LjUuXHJcbi8vIFdlIHBpY2sgdGhlIG9uZSB3aGljaCBpcyBjbG9zZXN0IHRvIHRoZSBhaW1lZCB0YXJnZXQgd2lkdGguIEZvciBwcm9kdWN0IGNhcmRzIHRoZSB0YXJnZXQgd2lkdGggaXMgMjg1cHgsIGZvciBzdWJzY3JpcHRpb24gY2FyZHMgMzgwcHguXHJcbi8vXHJcbi8vIEZvciBvdGhlciBjYXJkcyB3ZSBkaXNwbGF5IG9ubHkgZnVsbCBjYXJkcy4gVGhlIGFtb3VudCBvZiBwYXJhbGxlbCBjYXJkcyBpbiBkZXNrdG9wIGlzIGRlZmluZWQgaW4gZGF0YS1hdHRyaWJ1dGUgZGF0YS1zbGlkZWNvdW50LiBJbiB0aGlzXHJcbi8vIGV4YW1wbGUgaXQgaXMgc2V0IHRvIGJlIDEuIEFsc28gdGhlIGdhcCBiZXR3ZWVuIHRoZSBzbGlkZXMgY2FuIGJlIHNldCB1c2luZyBkYXRhLXNsaWRlZ2FwIGFuZCBhZGRpdGlvbmFsbHkgd2l0aCBjc3MgdmFyaWFibGUgLS1kbmEtc3dpcGVyLWd1dHRlclxyXG4vLyB3aGljaCBlbmFibGVzIHRoZSBVSSB0byBiZSB0aGUgc2FtZSBldmVuIHdoZW4gdGhlIGNhcm91c2VsIGphdmFzY3JpcHQgaXMgbm90IGluaXRpYWxpemVkIHlldC5cclxuLy9cclxuLy8gLmRzLXByb2R1Y3QtY2FyZCAtIFByb2R1Y3QgY2FyZHNcclxuLy8gLnN1YnNjcmlwdGlvbmNhcmQgLSBTdWJzY3JpcHRpb24gY2FyZHNcclxuLy8gLmRuYS1jYXJkLWZyZWUuZHMtYmctLXNreS0wMiAtIEZyZWVzdHlsZSBjYXJkc1xyXG4vL1xyXG4vLyBNYXJrdXA6XHJcbi8vIDxkaXYgY2xhc3M9XCJoaWRlLXdpdGhvdXQtbW9kaWZpZXJcIj4gPCEtLSBkZW1vIC0tPlxyXG4vLyA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsIHByb2R1Y3QtY2Fyb3VzZWxcIiBkYXRhLXNsaWRlY291bnQ9XCIxXCIgZGF0YS1zbGlkZWdhcD1cIjEwXCIgc3R5bGU9XCItLWRuYS1zd2lwZXItZ3V0dGVyOjEwcHg7XCI+XHJcbi8vICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19oZWFkZXJcIj5cclxuLy8gICAgICAgICA8aDIgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX3RpdGxlIGgzXCI+Q2Fyb3VzZWwgdGl0bGU8L2gyPlxyXG4vLyAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2NvbnRyb2xzXCI+XHJcbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1wcmV2IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kIGRzLWJ0bi0tZGlzYWJsZWRcIiB0YWJJbmRleD1cIi0xXCJcclxuLy8gICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkVkZWxsaW5lblwiIGFyaWEtY29udHJvbHM9XCJzd2lwZXItd3JhcHBlci0xODYwMzkxMTQ0NzVmZDI4XCJcclxuLy8gICAgICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvbkxlZnRcIj48L3VzZT5cclxuLy8gICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fYnV0dG9uLW5leHQgZHMtYXJyb3ctYnRuIGRzLWFycm93LWJ0bi0tcm91bmRcIiB0YWJJbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCJcclxuLy8gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2V1cmFhdmFcIiBhcmlhLWNvbnRyb2xzPVwic3dpcGVyLXdyYXBwZXItMTg2MDM5MTE0NDc1ZmQyOFwiIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvblJpZ2h0XCI+PC91c2U+XHJcbi8vICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuLy8gICAgICAgICAgICAgPC9kaXY+XHJcbi8vICAgICAgICAgPC9kaXY+XHJcbi8vICAgICA8L2Rpdj5cclxuLy8gICAgIDxkaXYgY2xhc3M9XCJzd2lwZXJcIj5cclxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInskbW9kaWZpZXJzfVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkIDFcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInskbW9kaWZpZXJzfVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkIDJcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInskbW9kaWZpZXJzfVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkIDNcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19mb290ZXJcIj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1wYWdpbmF0aW9uXCI+PC9kaXY+XHJcbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2Nyb2xsYmFyXCI+PC9kaXY+XHJcbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX21vcmVcIj5cclxuLy8gICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcy1pY29uLWJ0blwiPlxyXG4vLyAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNBcnJvd1JpZ2h0XCI+PC91c2U+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgQWxsIHByb2R1Y3RzXHJcbi8vICAgICAgICAgICAgICAgICA8L2E+XHJcbi8vICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgPC9kaXY+XHJcbi8vIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSAzMS4xXHJcblxyXG4vLyBDYXJvdXNlbCB3aXRoIGFub3RoZXIgc2V0dGluZ3NcclxuLy9cclxuLy8gSGVyZSB3ZSBoYXZlIHNldmVyYWwgY2FyZHMgdG8gZGlzcGxheSBpbiB0aGUgY2Fyb3VzZWwsIDMgY29sdW1ucywgYmlnZ2VyIGdyaWQgYW5kIGxvbmcgdGV4dHNcclxuLy9cclxuLy8gTWFya3VwOlxyXG4vLyA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsXCIgZGF0YS1zbGlkZWNvdW50PVwiM1wiIGRhdGEtc2xpZGVnYXA9XCIzMFwiIHN0eWxlPVwiLS1kbmEtc3dpcGVyLWd1dHRlcjozMHB4O1wiPlxyXG4vLyAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9faGVhZGVyXCI+XHJcbi8vICAgICAgICAgPGgyIGNsYXNzPVwiZG5hLWNhcm91c2VsX190aXRsZSBoM1wiPkxvbmcgdGl0bGUgYXMgYW4gZXhhbXBsZSBob3cgaXQgYWxpZ25zIHdpdGggdGhlIGJ1dHRvbnM8L2gyPlxyXG4vLyAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2NvbnRyb2xzXCI+XHJcbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1wcmV2IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kIGRzLWJ0bi0tZGlzYWJsZWRcIiB0YWJJbmRleD1cIi0xXCJcclxuLy8gICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkVkZWxsaW5lblwiIGFyaWEtY29udHJvbHM9XCJzd2lwZXItd3JhcHBlci0xODYwMzkxMTQ0NzVmZDI4XCJcclxuLy8gICAgICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvbkxlZnRcIj48L3VzZT5cclxuLy8gICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fYnV0dG9uLW5leHQgZHMtYXJyb3ctYnRuIGRzLWFycm93LWJ0bi0tcm91bmRcIiB0YWJJbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCJcclxuLy8gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2V1cmFhdmFcIiBhcmlhLWNvbnRyb2xzPVwic3dpcGVyLXdyYXBwZXItMTg2MDM5MTE0NDc1ZmQyOFwiIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvblJpZ2h0XCI+PC91c2U+XHJcbi8vICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuLy8gICAgICAgICAgICAgPC9kaXY+XHJcbi8vICAgICAgICAgPC9kaXY+XHJcbi8vICAgICA8L2Rpdj5cclxuLy8gICAgIDxkaXYgY2xhc3M9XCJzd2lwZXJcIj5cclxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcclxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19mb290ZXJcIj5cclxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1wYWdpbmF0aW9uXCI+PC9kaXY+XHJcbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2Nyb2xsYmFyXCI+PC9kaXY+XHJcbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX21vcmVcIj5cclxuLy8gICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcy1pY29uLWJ0blwiPlxyXG4vLyAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNBcnJvd1JpZ2h0XCI+PC91c2U+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbi8vICAgICAgICAgICAgICAgICAgICAgRXhhbXBsZSBvZiBob3cgbGluayBhbmQgYnVsbGV0cyBhbGlnblxyXG4vLyAgICAgICAgICAgICAgICAgPC9hPlxyXG4vLyAgICAgICAgICAgICA8L2Rpdj5cclxuLy8gICAgICAgICA8L2Rpdj5cclxuLy8gICAgIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSAzMS4yXHJcbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xyXG4gICAgQGlmICRwb2ludCA9PSBtb2JpbGUge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCAtIDEpICB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0IHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBzbWFsbGVyLXRoYW4tZGVza3RvcCB7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtZGVza3RvcCAtIDEpIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBkZXNrdG9wIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wKSB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcC1jb250ZW50IHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wLWNvbnRlbnQpIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZS1kZXNrdG9wIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1kZXNrdG9wKSB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gZXh0cmFsYXJnZS1kZXNrdG9wIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1leHRyYWxhcmdlLWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXQtb25seSB7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0KSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtZGVza3RvcCAtIDEpIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZS1tb2JpbGUge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGxhcmdlLW1vYmlsZS1vbmx5IHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tb2JpbGUpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQgLSAxKSB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gc21hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tb2JpbGUgLSAxKSAgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHRpbnktbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC10aW55LW1vYmlsZSAtIDEpICB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbWF4LXBhZ2Uge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwYWdlLW1heC13aWR0aCkgIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQG1lZGlhICgjeyRwb2ludH0pIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gY29udGFpbmVyLW1vYmlsZSB7XHJcbiAgICBAY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aC10YWJsZXQgLSAxfSkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBjb250YWluZXItc21hbGwtbW9iaWxlIHtcclxuICAgIEBjb250YWluZXIgKG1heC13aWR0aDogI3skY29udGFpbmVyLXdpZHRoLWxhcmdlLW1vYmlsZSAtIDF9KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIGNvbnRhaW5lci1sYXJnZS1tb2JpbGUge1xyXG4gICAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtbGFyZ2UtbW9iaWxlfSkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBjb250YWluZXItdGFibGV0IHtcclxuICAgIEBjb250YWluZXIgKG1pbi13aWR0aDogI3skY29udGFpbmVyLXdpZHRoLXRhYmxldH0pIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gY29udGFpbmVyLWRlc2t0b3Age1xyXG4gICAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtZGVza3RvcH0pIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5cclxuQG1peGluIG9yaWVudGF0aW9uKCRvcmllbnRhdGlvbikge1xyXG4gICAgQGlmICRvcmllbnRhdGlvbiA9PSBsYW5kc2NhcGUge1xyXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRvcmllbnRhdGlvbiA9PSBwb3J0cmFpdCB7XHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoaWdoLXJlcygpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcclxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGUgbWljcm8gY2xlYXJmaXggaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXHJcbkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgICAgICBkaXNwbGF5OnRhYmxlO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6Ym90aDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKG1hdGguZGl2KCRoZWlnaHQsJHJhdGlvLW9yLXdpZHRoKSksIHBlcmNlbnRhZ2UobWF0aC5kaXYoMSwkcmF0aW8tb3Itd2lkdGgpKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc3BhcmVudC1zZWxlY3Rpb24ge1xyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaGVyby1mb250LXNpemUoJG1vYmlsZSwgJGxhcmdlbW9iaWxlLCAkdGFibGV0LCAkZGVza3RvcCwgJGxhcmdlZGVza3RvcDogJGRlc2t0b3ApIHtcclxuICAgIGZvbnQtc2l6ZTogJG1vYmlsZSArIHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1tb2JpbGUpIHtcclxuICAgICAgICBmb250LXNpemU6ICRsYXJnZW1vYmlsZSArIHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcclxuICAgICAgICBmb250LXNpemU6ICR0YWJsZXQgKyBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGRlc2t0b3AgKyBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtZGVza3RvcCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGxhcmdlZGVza3RvcCArIHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0Y2hUb0hlYWRlckhlaWdodCgkcHJvcGVydHksICRpc0JvZHlFbGVtZW50OiBmYWxzZSwgJGV4dHJhaGVpZ2h0OiAwLCAkbmVnYXRpdmU6ZmFsc2UpIHtcclxuICAgICRtdWx0aXBsaWVyOiAxO1xyXG4gICAgQGlmICRuZWdhdGl2ZSB7ICRtdWx0aXBsaWVyOiAtMX1cclxuXHJcbiAgICAjeyRwcm9wZXJ0eX06ICgkaGVhZGVyLWhlaWdodC1tb2JpbGUgKyAkZXh0cmFoZWlnaHQpICogJG11bHRpcGxpZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06ICgkaGVhZGVyLWhlaWdodC1kZXNrdG9wICsgJGV4dHJhaGVpZ2h0KSAqICRtdWx0aXBsaWVyO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcG9zaXRpb25BYnNvbHV0ZUZ1bGwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcbn1cclxuQG1peGluIHBvc2l0aW9uQWJzb2x1dGVDZW50ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uU3R5bGVSZXNldCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gbGlzdFN0eWxlUmVzZXQge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBvdmVyZmxvdzogaW5pdGlhbDtcclxuICAgID4gbGkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGRyb3BzaGFkb3ctZWxldmF0aW9uLWxvdygkY2xpcDogbnVsbCkge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpbmUtLTA0O1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAxNnB4IDBweCBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0tYmxhY2ssICRhbHBoYTogLTk0JSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tbm9ybWFsO1xyXG4gICAgQGlmKCRjbGlwKSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24taGlnaCgkY2xpcDogbnVsbCkge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpbmUtLTA0O1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IDBweCBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0tYmxhY2ssICRhbHBoYTogLTkyJSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tbm9ybWFsO1xyXG4gICAgQGlmKCRjbGlwKSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24tZXh0cmEtaGlnaCgkY2xpcDogbnVsbCkge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpbmUtLTA0O1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDhweCA2NHB4IDBweCBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0tYmxhY2ssICRhbHBoYTogLTg0JSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tbm9ybWFsO1xyXG4gICAgQGlmKCRjbGlwKSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gZGVmYXVsdC1mb2N1cygkcmFkaXVzOiBudWxsKSB7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tY29sb3ItZm9jdXMtcmluZy1pbm5lciksIDBweCAwcHggMHB4IDRweCB2YXIoLS1jb2xvci1mb2N1cy1yaW5nLW91dGVyKTtcclxuICAgICAgICBAaWYoJHJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gaW5uZXItZm9jdXMoJHJhZGl1czogbnVsbCkge1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMnB4IHZhcigtLWNvbG9yLWZvY3VzLXJpbmctb3V0ZXIpLCBpbnNldCAwcHggMHB4IDBweCA0cHggdmFyKC0tY29sb3ItZm9jdXMtcmluZy1pbm5lcik7XHJcbiAgICAgICAgQGlmKCRyYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGlucHV0LWZpZWxkLWljb24oJHVybCwgJHVybDI6IG51bGwpIHtcclxuICAgIEBpZigkdXJsMikge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR1cmwpLCB1cmwoJHVybDIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCk7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGNlbnRlciwgcmlnaHQgMzVweCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XHJcbn1cclxuQG1peGluIHVuZGVybGluZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4yZW07XHJcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XHJcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiBmcm9tLWZvbnQ7XHJcbn1cclxuQG1peGluIGxpbmstdW5kZXJsaW5lIHtcclxuICAgIEBpbmNsdWRlIHVuZGVybGluZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGhvdmVyLWFjdGl2ZS1zdGF0ZS1lZmZlY3RzKCR0ZXh0LWNvbG9yOiBudWxsLCAkdGV4dC1jb2xvci1jaGFuZ2U6IGZhbHNlLCAkYmctY29sb3I6IG51bGwsICRib3JkZXItY29sb3I6IG51bGwpIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpZigkdGV4dC1jb2xvci1jaGFuZ2UpIHtcclxuICAgICAgICAgICAgY29sb3I6IHNjYWxlX2NvbG9yKCR0ZXh0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYoJGJnLWNvbG9yKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlX2NvbG9yKCRiZy1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZigkYm9yZGVyLWNvbG9yKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2NhbGVfY29sb3IoJGJvcmRlci1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIEBpZigkdGV4dC1jb2xvci1jaGFuZ2UpIHtcclxuICAgICAgICAgICAgY29sb3I6IHNjYWxlX2NvbG9yKCR0ZXh0LWNvbG9yLCAkbGlnaHRuZXNzOiAxMCUpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZigkYmctY29sb3IpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGVfY29sb3IoJGJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYoJGJvcmRlci1jb2xvcikge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHNjYWxlX2NvbG9yKCRib3JkZXItY29sb3IsICRsaWdodG5lc3M6IDEwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHUklEXHJcbkBtaXhpbiBncmlkKCRjb2x1bW5zOjEsICRnYXA6JGdyaWQtZ2FwLS1zbWFsbCkge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJGdhcDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLCBtaW5tYXgoMCwgMWZyKSk7XHJcbn1cclxuQG1peGluIGdyaWQtY29sdW1ucygkY29sdW1uczoxKSB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29sdW1ucywgbWlubWF4KDAsIDFmcikpO1xyXG59XHJcblxyXG5AbWl4aW4gZnVsbC1jYXJkLWxpbmstb3ZlcmxheSgpIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgaW5zZXQ6IDA7XHJcbiAgICB9XHJcbn0iLCIvLyBCcmVha3BvaW50c1xyXG4kYnJlYWtwb2ludC10aW55LW1vYmlsZTogMzYwcHg7XHJcbiRicmVha3BvaW50LWxhcmdlLW1vYmlsZTogNDgwcHg7XHJcbiRicmVha3BvaW50LXRhYmxldDogNzY4cHg7XHJcbiRicmVha3BvaW50LWRlc2t0b3A6IDEwMjRweDtcclxuJGJyZWFrcG9pbnQtZGVza3RvcC1jb250ZW50OiAxMjgwcHg7XHJcbiRicmVha3BvaW50LWxhcmdlLWRlc2t0b3A6IDE0NDBweDtcclxuJGJyZWFrcG9pbnQtZXh0cmFsYXJnZS1kZXNrdG9wOiAxOTIwcHg7XHJcbi8vIGNvbnRhaW5lciB3aWR0aHMgaW4gbm9ybWFsIHBhZ2UgY29udGVudFxyXG4kY29udGFpbmVyLXdpZHRoLWxhcmdlLW1vYmlsZTogJGJyZWFrcG9pbnQtbGFyZ2UtbW9iaWxlIC0gMioyMHB4O1xyXG4kY29udGFpbmVyLXdpZHRoLXRhYmxldDogJGJyZWFrcG9pbnQtdGFibGV0IC0gMio0MHB4O1xyXG4kY29udGFpbmVyLXdpZHRoLWRlc2t0b3A6ICRicmVha3BvaW50LWRlc2t0b3AgLSAyKjQwcHg7XHJcblxyXG4kZm9udC1zaXplLW5vcm1hbDogICAgICAgICAgICAgMTZweDtcclxuJGZvbnQtc2l6ZS1lbXBoYXNpemVkOiAgICAgICAgIDE4cHg7XHJcbiRmb250LXNpemUtYmlnZ2VyOiAgICAgICAgICAgICAyMHB4O1xyXG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgICAgICAgMzJweDtcclxuJGZvbnQtc2l6ZS1sYXJnZXN0OiAgICAgICAgICAgIDQ0cHg7XHJcbiRmb250LXNpemUtaHVnZTogICAgICAgICAgICAgICA4MHB4O1xyXG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgICAgICAgMTRweDtcclxuJGZvbnQtc2l6ZS1leHRyYXNtYWxsOiAgICAgICAgIDEycHg7XHJcbiRmb250LXNpemUtdGlueTogICAgICAgICAgICAgICAxMHB4O1xyXG5cclxuJGxpbmUtaGVpZ2h0LW5vcm1hbDogICAgICAgICAgIDEuMjU7IC8vIGZvciAxNnB4LCAyMHB4XHJcbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAgICAxLjU7IC8vIGZvciAxNnB4LCAyNHB4XHJcblxyXG4kZm9udC1mYW1pbHktaGVhZGluZy1kZW1pLWJvbGQ6ICdETkEgSGVhZGluZyBEZW1pIEJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktaGVhZGluZy1ib2xkOiAgICAgICdETkEgSGVhZGluZyBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWhlYWRpbmctYmxhY2s6ICAgICAnRE5BIEhlYWRpbmcgQmxhY2snLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktdGV4dC1ib2xkOiAgICAgICAgICdETkEgVGV4dCBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXRleHQtbWVkaXVtOiAgICAgICAnRE5BIFRleHQgTWVkaXVtJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXRleHQtcmVndWxhcjogICAgICAnRE5BIFRleHQgUmVndWxhcicsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblxyXG4vLyBjb2xvcnMgaHR0cHM6Ly93d3cuZmlnbWEuY29tL2ZpbGUvTDRJRzZTRzNBTDdzdWU5WUcxZzJnQi9ETkEtQ29sb3JzLU5FVz9ub2RlLWlkPTIlM0E0MTlcclxuJGNvbG9yLW1haW4tLXdoaXRlOiAjRkZGRkZGO1xyXG4kY29sb3ItbWFpbi0tYmxhY2s6ICMxMjEyMTI7XHJcbiRjb2xvci1tYWluLS1waW5rOiAjREEwMDcwO1xyXG4kY29sb3ItbWFpbi0tcGluay0wMTogI0ZGODJDMTtcclxuJGNvbG9yLW1haW4tLXBpbmstMDI6ICNGRkJGREY7XHJcbiRjb2xvci1tYWluLS1wbHVtOiAjNTUxQzNFO1xyXG4kY29sb3ItbWFpbi0tcGx1bS0wMTogIzY5MjE0QztcclxuJGNvbG9yLW1haW4tLXBsdW0tMDI6ICM3OTJBNTk7XHJcblxyXG4kY29sb3ItYWNjZW50LS1sZW1vbjogI0ZGRjM0NztcclxuJGNvbG9yLWFjY2VudC0tbGVtb24tMDE6ICNGRkY5QTM7XHJcbiRjb2xvci1hY2NlbnQtLWxlbW9uLTAyOiAjRkZGQUJBO1xyXG4kY29sb3ItYWNjZW50LS1za3k6ICMyRUNBRjA7XHJcbiRjb2xvci1hY2NlbnQtLXNreS0wMTogIzc3RENGNTtcclxuJGNvbG9yLWFjY2VudC0tc2t5LTAyOiAjOTZFNEY4O1xyXG4kY29sb3ItYWNjZW50LS1vcmFuZ2U6ICNGRkE2MzM7XHJcbiRjb2xvci1hY2NlbnQtLW9yYW5nZS0wMTogI0ZGQ0E4NTtcclxuJGNvbG9yLWFjY2VudC0tb3JhbmdlLTAyOiAjRkZEQkFEO1xyXG5cclxuJGNvbG9yLWJnLS13aGl0ZTogI0ZGRkZGRjtcclxuJGNvbG9yLWJnLS1zYW5kOiAjRkRGQkZBO1xyXG4kY29sb3ItYmctLXNhbmQtMDE6ICNGOEY0RjE7XHJcbiRjb2xvci1iZy0tc2FuZC0wMjogI0VERThFMTtcclxuJGNvbG9yLWJnLS1mcm9zdGVkZ2xhc3M6ICNmNWY1ZjVlYjtcclxuXHJcbiRjb2xvci10ZXh0LS1ibGFjazogIzEyMTIxMjtcclxuJGNvbG9yLXRleHQtLWRhcmstZ3JheTogIzUwNTA1MDtcclxuJGNvbG9yLXRleHQtLXBsdW06ICM1NTFDM0U7XHJcbiRjb2xvci10ZXh0LS1waW5rOiAjREEwMDcwO1xyXG4kY29sb3ItdGV4dC0td2hpdGU6ICNGRkZGRkY7XHJcbiRjb2xvci10ZXh0LS1kaXNhYmxlZDogc2NhbGVfY29sb3IoJGNvbG9yLXRleHQtLWJsYWNrLCAkYWxwaGE6IC01MCUpO1xyXG5cclxuJGNvbG9yLXV0aWxpdHktLXRleHQtbGluazogI0RBMDA3MDtcclxuJGNvbG9yLXV0aWxpdHktLXRleHQtbGluay1ob3Zlcjogc2NhbGVfY29sb3IoJGNvbG9yLXV0aWxpdHktLXRleHQtbGluaywgJGxpZ2h0bmVzczogLTIwJSk7XHJcbiRjb2xvci11dGlsaXR5LS1mb2N1czogIzAwNjRFMjtcclxuJGNvbG9yLXV0aWxpdHktLWZvY3VzLWxpZ2h0OiAjRDhFOUZGO1xyXG5cclxuJGNvbG9yLWxpbmUtLTAxOiAjOTQ4Qjg5O1xyXG4kY29sb3ItbGluZS0tMDI6ICNENEQyQ0U7XHJcbiRjb2xvci1saW5lLS0wMzogI0U3RTVFMztcclxuJGNvbG9yLWxpbmUtLTA0OiAjRUZFRUVEO1xyXG5cclxuJGNvbG9yLW5vdGlmaWNhdGlvbi0taW5mbzogIzBCN0M5OTtcclxuJGNvbG9yLW5vdGlmaWNhdGlvbi0td2FybmluZzogI0VCNjYwMDtcclxuJGNvbG9yLW5vdGlmaWNhdGlvbi0tZXJyb3I6ICNERDBBMEE7XHJcbiRjb2xvci1ub3RpZmljYXRpb24tLXN1Y2Nlc3M6ICMwMDg1MDA7XHJcblxyXG4kYm9yZGVyLXJhZGl1cy0tc21hbGw6IDRweDtcclxuJGJvcmRlci1yYWRpdXMtLW5vcm1hbDogOHB4O1xyXG4kYm9yZGVyLXJhZGl1cy0tZnVsbDogNTAlO1xyXG5cclxuXHJcbi8vcGFnZSBtaW4gbWF4IHdpZHRoc1xyXG4kcGFnZS1taW4td2lkdGg6IDMyMHB4O1xyXG4kcGFnZS1tYXgtd2lkdGg6IDI1NjBweDtcclxuJHBhZ2UtbGF5b3V0LW5vcm1hbC1jb250ZW50LW1heHdpZHRoOiAxMjAwcHg7XHJcbiRwYWdlLWxheW91dC1tZWRpdW0tY29udGVudC1tYXh3aWR0aDogODYwcHg7XHJcbiRwYWdlLWxheW91dC1zbWFsbC1jb250ZW50LW1heHdpZHRoOiA2NDBweDtcclxuXHJcbi8vIGdyaWQgcGFkZGluZ3NcclxuJGdyaWQtZ2FwLS1zbWFsbDogMTBweDtcclxuJGdyaWQtZ2FwLS13aWRlOiAzMHB4O1xyXG4kZ3JpZC1nYXAtLWxhcmdlOiA2MHB4O1xyXG4kZ3JpZC1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLy9wb3J0bGV0IG1hcmdpbnNcclxuJG1hcmdpbi1wb3J0bGV0LWRlZmF1bHQ6ICAgICAgICA1MHB4O1xyXG4kbWFyZ2luLXBvcnRsZXQtc21hbGw6ICAgICAgICAgIDMwcHg7XHJcbiRtYXJnaW4tcG9ydGxldC1leHRyYXNtYWxsOiAgICAgMTBweDtcclxuJG1hcmdpbi1wb3J0bGV0LWV4dHJhbGFyZ2U6ICAgICAyMHZoO1xyXG5cclxuLy9pbnB1dCB2YXJpYWJsZXNcclxuJGJ1dHRvbi1oZWlnaHQtZGVmYXVsdDogICA0MHB4O1xyXG4kYnV0dG9uLWhlaWdodC1zbWFsbDogICAgIDMycHg7XHJcbiRpbnB1dC1oZWlnaHQtZGVmYXVsdDogICAgNDBweDtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAkY29sb3ItbGluZS0tMDE7XHJcbiRpbnB1dC1maWVsZC1iZzogICAgICAgICAgICAgICAgJGNvbG9yLWJnLS13aGl0ZTtcclxuJGlucHV0LXRleHQtY29sb3I6ICAgICAgICAgICAgICAkY29sb3ItdGV4dC0tYmxhY2s7XHJcbiRpbnB1dC1ib3JkZXItc2hvcnRoYW5kOiAgICAgICAgMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiRmb3JtLWVsZW1lbnRzLW1heC13aWR0aDogICAgICAgNTE1cHg7XHJcblxyXG4vL2xhYmVsXHJcbiRkcy1sYWJlbC1oZWlnaHQ6IDIycHg7XHJcblxyXG4vLyBVc2UgdGhlc2UgY29sb3JzIGFueXdoZXJlIGEgbGluaywgaW5wdXQgb3IgYSBidXR0b24gaXMgZGlzYWJsZWQhXHJcbiRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgI2YyZjJmMjtcclxuJGRpc2FibGVkLXRleHQ6ICAgICAgICAgICAgICAgICAjOTk5OTk5O1xyXG5cclxuXHJcbiRoZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDEwOHB4OyAvLyA0OHB4IHNpdGUgbmF2ICsgNjAgbWFpbiBuYXZcclxuJGhlYWRlci1oZWlnaHQtbW9iaWxlOiA5OHB4OyAvLyAzOHB4IHNpdGUgbmF2ICsgNjAgbWFpbiBuYXZcclxuJGhlYWRlci1tYWluLW5hdi1oZWlnaHQ6IDYwcHg7XHJcbiRzZWNvbmRhcnktbmF2LWhlaWdodC1kZXNrdG9wOiA1N3B4OyAvLyBuZWVkZWQgZm9yIHRvYXN0ZXIgcG9zaXRpb25pbmdcclxuJHNlY29uZGFyeS1uYXYtaGVpZ2h0LW1vYmlsZTogNjRweDtcclxuJGFkbWluLWRvY2tiYXItaGVpZ2h0OiA3NHB4O1xyXG4kYWRtaW4tZWRpdC1tb2RlLWRvY2tiYXItaGVpZ2h0OiAxNTVweDtcclxuXHJcbiRjYXJkLWhlaWdodDogNDAwcHg7XHJcbiRjYXJkLWhlaWdodC1hY3R1YWw6IDQwMHB4IC0gMnB4OyAvL2JvcmRlcnNcclxuJGNhcmQtaGVpZ2h0LWV4dGVuZGVkOiA2MDBweDtcclxuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDIwcHg7XHJcblxyXG4kZm9ybS1lbGVtZW50LWJvcmRlci13aWR0aDogMCAxcHggMXB4O1xyXG5cclxuJHRhYi1pdGVtLWhlaWdodDogMzZweDtcclxuXHJcbi8vIHotaW5kZXggbGV2ZWxzXHJcbiR6LWluZGV4LWxldmVsLTEtYmFzZTogMDtcclxuJHotaW5kZXgtbGV2ZWwtMi1mbG9hdGluZzogMjAwOyAvLyBmb3IgYWxsIGZpcnN0IGxldmVsIGZsb2F0aW5nIGVsZW1lbnRzXHJcbiR6LWluZGV4LWxldmVsLTMtcG9wdXAtb3ZlcmxheTogNjAwOyAvLyBmb3IgaGVhZGVyIGxvZ2luIG1vZGFscyBhbmQgb3RoZXIgcG9wdXBzIHRoYXQgc2hvdWxkIGJlIHVuZGVyIHRoZSBoZWFkZXJcclxuJHotaW5kZXgtbGV2ZWwtNC1oZWFkZXI6IDEwMDA7XHJcbiR6LWluZGV4LWxldmVsLTUtY2hhdDogMTA0MDsgLy8gU2hvdWxkIGJlIGFib3ZlIGhlYWRlciBidXQgYmVsb3cgb3ZlcmxheS4gUm9ja2V0IG1vZGFsIGhhcyB6LWluZGV4OiAxMDUwLCBzbyB3ZSBuZWVkIENoYXQgdG8gYmUganVzdCBiZWxvdywgYW5kIGFib3ZlIHRoZWlyIGhlYWRlciB0aGF0IGhhcyAxMDMwLlxyXG4kei1pbmRleC1sZXZlbC02LW1vZGFsLW92ZXJsYXk6IDExMDA7IC8vIGZvciBtb2RhbCB0aGF0IHNob3VsZCBjb3ZlciB0aGUgaGVhZGVyXHJcbiR6LWluZGV4LWxldmVsLTctbW9kYWw6IDEyMDA7IC8vIHRvcCBsZXZlbCBtb2RhbHMiXSwiZmlsZSI6ImNhcmQtY2Fyb3VzZWwuY3NzIn0= */
