@charset "UTF-8";
/**
 * Usage:
 *
 *   background-color: color(white);
 */
.u-type--light {
  font-weight: 300;
}

.u-type--regular {
  font-weight: 400;
}

.u-type--medium {
  font-weight: 500;
}

.u-type--bold {
  font-weight: 700;
}

/* breakpoints */
.c-navigation__toggle {
  font-size: 16px;
}

.c-navigation {
  background-color: #da251d;
}
.c-navigation .file-type-icon-media-link > .component-content {
  display: -webkit-box;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
          align-items: center;
}
.c-navigation .c-nav-hamburger {
  display: none;
}
.c-navigation li:not(.c-navigation__list-item):not(.c-navigation__more-list-item) {
  display: none;
}
.c-navigation .row.column-splitter.o-grid {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row;
}
.c-navigation .c-link--redsm a {
  color: white;
}
.c-navigation .row.column-splitter > .header-fixed-col1 {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  width: 150px;
}
.c-navigation .row.column-splitter > .header-fixed-col2 {
  width: calc(100vw - 150px);
}
.c-navigation .header-fixed-col2 > .row > .header-fixed-col2 {
  width: calc(100vw - 300px);
}
.c-navigation .row.column-splitter > .u-1\/3\@md {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
}
.c-navigation, .c-navigation a {
  color: #ffffff;
  text-decoration: none;
}
.c-navigation .navigation-title {
  font-size: 1.4rem;
  margin-top: 5px;
  font-weight: 500;
  line-height: normal;
}
.c-navigation .navigation-icon--close {
  height: 27px;
  width: 24px;
}
.c-navigation.c-navigation--white {
  background-color: #ffffff;
}
.c-navigation.c-navigation--white, .c-navigation.c-navigation--white a {
  color: #000000;
}
.c-navigation.c-navigation--white svg {
  fill: black;
}
.c-navigation.c-navigation--white a:hover, .c-navigation.c-navigation--white a:focus {
  background-color: #ededed;
}
.c-navigation.c-navigation--white .c-navigation__list-item.active > a {
  background-color: #ededed;
}
.c-navigation.c-navigation--white .c-navigation__list-item > a:hover, .c-navigation.c-navigation--white .c-navigation__list-item > a:focus {
  background-color: #ededed;
}

.c-navigation__list {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
}
.c-navigation__list.iOS9 .c-navigation__list-item:not(:last-child) {
  max-width: 33%;
  word-break: break-word;
  -ms-hyphens: auto;
  hyphens: auto;
}

.c-navigation__list-item {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  text-align: left;
}
.c-navigation__list-item.active > a {
  background-color: #740000;
  border: none;
  border-bottom: 4px solid #ffffff;
}
.c-navigation__list-item > a {
  display: block;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  padding: 14px 8px 14px;
  min-height: 100%;
}
.c-navigation__list-item > a:hover, .c-navigation__list-item > a:focus {
  background-color: #740000;
  border: none;
  border-bottom: 4px solid #ffffff;
}
.c-navigation__list-item:last-child > a {
  height: 100%;
}

.c-navigation__more-list {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #da251d;
  z-index: 11;
}
.c-navigation--white .c-navigation__more-list {
  background-color: #ffffff;
}

.c-navigation__more-list--open {
  display: block;
}

.c-navigation__parent--open {
  background-color: #740000;
}
.c-navigation--white .c-navigation__parent--open {
  background-color: #ededed;
}

.c-navigation__more-list {
  width: 280px;
}

.c-navigation__more-list-item {
  text-align: left;
}
.c-navigation__more-list-item > a {
  display: -webkit-box;
  display: flex;
  padding: 10px 16px;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.c-navigation__more-list-item > a:hover, .c-navigation__more-list-item > a:focus {
  background-color: #a3001c;
  border: none;
}
.c-navigation__more-list-item > a > div {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}
.c-navigation--white .c-navigation__more-list-item > a {
  border-top: 1px solid #ededed;
}
.c-navigation__more-list-item > a .navigation-title {
  margin-top: 0;
}
.c-navigation__more-list-item > a .navigation-icon {
  margin-right: 16px;
}

@media (max-width: 1000px) {
  .c-navigation li:not(.c-navigation__list-item):not(.c-navigation__more-list-item) {
    display: block !important;
  }
  .c-navigation .file-type-icon-media-link > .component-content span {
    display: none !important;
  }
  .c-navigation .row.column-splitter > .header-fixed-col1:has(.file-type-icon-media-link) {
    -webkit-box-pack: end !important;
            justify-content: flex-end !important;
  }
  .c-navigation .ttc-main-navigation {
    display: none !important;
  }
  .c-navigation .row.column-splitter.o-grid {
    display: -webkit-box !important;
    display: flex !important;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }
  .c-nav-hamburger {
    display: -webkit-box !important;
    display: flex !important;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
    margin: 0 20px 0 8px !important;
    gap: 8px;
  }
  .c-nav-hamburger a {
    flex-shrink: 0;
    line-height: 0;
  }
  .c-navigation .navigation-title {
    margin-top: 0;
  }
  .c-nav-hamburger__btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-pack: justify;
            justify-content: space-between;
    width: 39px;
    height: 36px;
    flex-shrink: 0;
  }
  .c-nav-hamburger__btn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #ffffff;
    border-radius: 2px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  .c-nav-hamburger__btn.is-open span:nth-child(1) {
    -webkit-transform: translateY(9px) rotate(45deg);
            transform: translateY(9px) rotate(45deg);
  }
  .c-nav-hamburger__btn.is-open span:nth-child(2) {
    opacity: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  .c-nav-hamburger__btn.is-open span:nth-child(3) {
    -webkit-transform: translateY(-9px) rotate(-45deg);
            transform: translateY(-9px) rotate(-45deg);
  }
  .c-navigation--white .c-nav-hamburger__btn span {
    background-color: #000000;
  }
  .c-navigation__list {
    height: 72px;
  }
  .c-navigation__list li:last-child {
    height: 100%;
  }
  .c-navigation__list-item {
    -webkit-box-flex: 1;
            flex: 1 1 auto;
  }
  .c-navigation__list-item > a {
    padding: 16px 12%;
  }
  .c-navigation__toggle {
    padding: 0 !important;
    position: relative;
  }
  .c-navigation__toggle .navigation-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .c-navigation__toggle .navigation-title {
    display: none;
  }
  .c-navigation__list-item:last-child {
    -webkit-box-flex: 0;
            flex: 0 1 56px;
  }
  .c-navigation__more-list-item:last-child {
    -webkit-box-shadow: 0px 19px 34px rgba(0, 0, 0, 0.7);
            box-shadow: 0px 19px 34px rgba(0, 0, 0, 0.7);
  }
  .navigation-icon--open {
    height: 40px;
    width: 40px;
    max-width: 100%;
  }
  .c-navigation__list > li > a .navigation-title {
    max-width: 76px;
  }
  .c-navigation__parent--open .navigation-icon--close {
    display: block;
  }
  .c-navigation__parent--open .navigation-icon--open {
    display: none;
  }
  .c-navigation__more-list {
    width: 100%;
  }
  .c-header__open {
    position: relative;
    z-index: 9999;
  }
  .c-navigation__more-backdrop {
    visibility: hidden;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  }
  .c-navigation__more-backdrop.c-navigation__more-backdrop--open {
    z-index: 9998;
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 1000px) {
  .c-nav-overlay {
    width: 100%;
    height: 0;
    position: absolute;
    background-color: #da251d;
    overflow-y: auto;
    -webkit-transition: height 0.3s ease;
    transition: height 0.3s ease;
  }
  .c-nav-overlay.is-open {
    height: calc(100dvh - var(--nav-height, 40px));
  }
  .c-navigation--white .c-nav-overlay {
    background-color: #ffffff;
  }
  .c-nav-search-overlay__hint span {
    display: none;
  }
  .c-nav-overlay__list {
    list-style: none;
    margin: 0;
    padding: 0;
    padding-bottom: calc(env(safe-area-insert-bottom, 0px));
  }
  .c-nav-overlay__item a {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    padding: 16px 24px;
    color: #ffffff;
    text-decoration: none;
  }
  .c-nav-overlay__item a .navigation-icon {
    margin-right: 16px;
    flex-shrink: 0;
  }
  .c-nav-overlay__item a .navigation-title {
    font-weight: 500;
  }
  .c-navigation__list-item:not(:last-child) {
    -webkit-box-shadow: inset -1px 0 0 0 #740000;
            box-shadow: inset -1px 0 0 0 #740000;
  }
  .c-navigation--white .c-navigation__list-item:not(:last-child) {
    -webkit-box-shadow: inset -1px 0 0 0 #ededed;
            box-shadow: inset -1px 0 0 0 #ededed;
  }
  .navigation-icon--close {
    display: none;
  }
}
@media (max-width: 459px) {
  .c-navigation__list-item:last-child {
    -webkit-box-flex: 1;
            flex: 1 0 40px;
  }
  .c-navigation__list > li > a .navigation-title {
    max-width: 100%;
  }
  .c-navigation__list-item > a {
    padding: 16px 6px;
  }
}
@media (min-width: 640px) {
  .c-navigation__parent--open {
    position: relative;
  }
  .c-navigation__parent--open::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: 9px;
    left: 50%;
    z-index: 12;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #740000;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
  }
  .c-navigation--white .c-navigation__parent--open::before {
    border-bottom: 10px solid #ffffff;
  }
  .c-navigation__more-list {
    -webkit-filter: drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.5));
  }
  .c-navigation__list-item {
    text-align: center;
  }
}
.u-overflow-hidden {
  overflow: hidden !important;
}

@media (min-width: 1000px) {
  .c-navigation .navigation-icon--close {
    display: none;
  }
  .c-navigation .ttc-main-navigation {
    border-left: 1px solid rgba(255, 255, 255, 0.3137254902);
    border-right: 1px solid rgba(255, 255, 255, 0.3137254902);
  }
  .c-navigation__list-item {
    position: relative;
  }
  .c-navigation__list-item > a {
    display: block;
    padding: 10px 35px;
    border-bottom: 4px solid #da251d;
  }
}
/* ═══════════════════════════════════════════════════
   SEARCH OVERLAY
   ═══════════════════════════════════════════════════ */
.c-nav-search-overlay__submit {
  position: absolute;
  right: 56px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.9);
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  cursor: pointer;
  line-height: 0;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.c-nav-search-overlay__submit svg {
  width: 16px;
  height: 16px;
}
.c-nav-search-overlay__submit:hover, .c-nav-search-overlay__submit:focus {
  background: rgba(255, 255, 255, 0.24);
  color: #fff;
  outline: none;
}

.c-nav-search-overlay {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10000;
  background: #da251d;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-nav-search-overlay.is-open {
  max-height: 420px;
  border-top: 1px solid rgba(255, 255, 255, 0.3137254902);
}

.c-nav-search-overlay__inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 40px 24px 48px;
}

.c-nav-search-overlay__input-wrap {
  position: relative;
  margin-bottom: 20px;
}

.c-nav-search-overlay__icon {
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 25px;
  height: 25px;
  pointer-events: none;
  opacity: 0.6;
}
.c-nav-search-overlay__icon svg {
  width: 100%;
  height: 100%;
  fill: #fff;
}

.c-nav-search-overlay__input {
  width: 100%;
  padding: 18px 56px 18px 56px;
  font-size: 2rem;
  font-weight: 400;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-radius: 12px;
  outline: none;
  -webkit-transition: border-color 0.25s ease, background 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: border-color 0.25s ease, background 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, -webkit-box-shadow 0.25s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.c-nav-search-overlay__input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input::placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input:focus {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.18);
  -webkit-box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1);
          box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1);
}

.c-nav-search-overlay__close {
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  line-height: 0;
  opacity: 0.5;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
.c-nav-search-overlay__close svg {
  width: 20px;
  height: 20px;
  fill: #fff;
}
.c-nav-search-overlay__close:hover, .c-nav-search-overlay__close:focus {
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(1.15);
          transform: translateY(-50%) scale(1.15);
}

.c-nav-search-overlay__hint {
  text-align: center;
  color: rgba(255, 255, 255, 0.42);
  font-size: 1.5rem;
  margin-top: 4px;
  letter-spacing: 0.02em;
  font-family: inherit;
}
.c-nav-search-overlay__hint kbd {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  padding: 1px 6px;
  font-family: inherit;
}

.c-nav-search-results {
  margin-top: 16px;
  max-height: 200px;
  overflow-y: auto;
}

.c-nav-search-results__item {
  display: block;
  padding: 12px 16px;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.c-nav-search-results__item:hover, .c-nav-search-results__item:focus {
  background: rgba(255, 255, 255, 0.1);
}

/* ═══════════════════════════════════════════════════
   SHARED panel backdrop
   ═══════════════════════════════════════════════════ */
.c-nav-panel-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.35s ease, visibility 0.35s ease;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.c-nav-panel-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — mobile adjustments
   ═══════════════════════════════════════════════════ */
@media (max-width: 1000px) {
  .c-nav-search-overlay__inner {
    padding: 28px 16px 36px;
  }
  .c-nav-search-overlay__icon {
    width: 25px;
    height: 25px;
  }
  .c-nav-search-overlay__input {
    font-size: 1.7rem;
    padding: 14px 48px 14px 48px;
  }
  .c-nav-translate__grid {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 8px;
  }
  .c-nav-translate__inner {
    padding: 24px 16px 32px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1uYXZpZ2F0aW9uLmNzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2NvbG9yLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHlwZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudC1uYXZpZ2F0aW9uLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHJhbnNpdGlvbnMuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3Nhc3MtbXEtbW9kLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7O0VBQUE7QUNrUUU7RUFDRSxnQkFBQTtBRjNQSjs7QUUwUEU7RUFDRSxnQkFBQTtBRnZQSjs7QUVzUEU7RUFDRSxnQkFBQTtBRm5QSjs7QUVrUEU7RUFDRSxnQkFBQTtBRi9PSjs7QUdQQSxnQkFBQTtBQ1hBO0VBQ0UsZUFBQTtBSnNCRjs7QUluQkE7RUFDRSx5QkFBQTtBSnNCRjtBSXBCRTtFQUNFLG9CQUFBO0VBQUEsYUFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtVQUFBLG1CQUFBO0FKc0JKO0FJbEJFO0VBQ0UsYUFBQTtBSm9CSjtBSWpCRTtFQUNFLGFBQUE7QUptQko7QUloQkU7RUFDRSw4QkFBQTtFQUFBLDZCQUFBO1VBQUEsY0FBQTtBSmtCSjtBSWZFO0VBQ0UsWUFBQTtBSmlCSjtBSWRFO0VBQ0Usb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7VUFBQSx1QkFBQTtFQUNBLFlBQUE7QUpnQko7QUliRTtFQUNFLDBCQUFBO0FKZUo7QUlaRTtFQUNFLDBCQUFBO0FKY0o7QUlYRTtFQUNFLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHdCQUFBO1VBQUEsdUJBQUE7QUphSjtBSVZFO0VBQ0UsY0FBQTtFQUNBLHFCQUFBO0FKWUo7QUlURTtFQUVFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUpVSjtBSUxFO0VBQ0UsWUFBQTtFQUNBLFdBQUE7QUpPSjtBSUpFO0VBQ0UseUJB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QSxrREFBQTtFQUFBLCtFQUFBO0FKdEhGO0FJd0hFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0FKdEhKO0FJeUhFO0VBRUUsVUFBQTtFQUNBLCtDQUFBO1VBQUEsdUNBQUE7QUp4SEo7O0FJNEhBO0VBQ0Usa0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7QUp6SEY7QUkySEU7RUFDRSxvQ0FBQTtFQUNBLDBDQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0FKekhKOztBSTZIQTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtBSjFIRjs7QUk2SEE7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLHdDQUFBO0VBQUEsZ0NBQUE7QUoxSEY7QUk0SEU7RUFFRSxvQ0FBQTtBSjNISjs7QUlpSUE7O3dEQUFBO0FBSUE7RUFDRSxlQUFBO0VBQ0EsUUFBQTtFQUNBLDhCQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLDZEQUFBO0VBQUEscURBQUE7QUovSEY7QUlpSUU7RUFDRSxVQUFBO0VBQ0EsbUJBQUE7QUovSEo7O0FJb0lBOzt3REFBQTtBQUlBO0VBQ0U7SUFDRSx1QkFBQTtFSmxJRjtFSXFJQTtJQUNFLFdBQUE7SUFDQSxZQUFBO0VKbklGO0VJc0lBO0lBQ0UsaUJBQUE7SUFDQSw0QkFBQTtFSnBJRjtFSXVJQTtJQUNFLDREQUFBO0lBQ0EsUUFBQTtFSnJJRjtFSXdJQTtJQUNFLHVCQUFBO0VKdElGO0FBQ0YiLCJmaWxlIjoiY29tcG9uZW50LW5hdmlnYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBVc2FnZTpcbiAqXG4gKiAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAqL1xuLnUtdHlwZS0tbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4udS10eXBlLS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnUtdHlwZS0tbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnUtdHlwZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIGJyZWFrcG9pbnRzICovXG4uYy1uYXZpZ2F0aW9uX190b2dnbGUge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5jLW5hdmlnYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEyNTFkO1xufVxuLmMtbmF2aWdhdGlvbiAuZmlsZS10eXBlLWljb24tbWVkaWEtbGluayA+IC5jb21wb25lbnQtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jLW5hdmlnYXRpb24gLmMtbmF2LWhhbWJ1cmdlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYy1uYXZpZ2F0aW9uIGxpOm5vdCguYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0pOm5vdCguYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmMtbmF2aWdhdGlvbiAucm93LmNvbHVtbi1zcGxpdHRlci5vLWdyaWQge1xuICBmbGV4LWZsb3c6IHJvdztcbn1cbi5jLW5hdmlnYXRpb24gLmMtbGluay0tcmVkc20gYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLW5hdmlnYXRpb24gLnJvdy5jb2x1bW4tc3BsaXR0ZXIgPiAuaGVhZGVyLWZpeGVkLWNvbDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDE1MHB4O1xufVxuLmMtbmF2aWdhdGlvbiAucm93LmNvbHVtbi1zcGxpdHRlciA+IC5oZWFkZXItZml4ZWQtY29sMiB7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTUwcHgpO1xufVxuLmMtbmF2aWdhdGlvbiAuaGVhZGVyLWZpeGVkLWNvbDIgPiAucm93ID4gLmhlYWRlci1maXhlZC1jb2wyIHtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMDBweCk7XG59XG4uYy1uYXZpZ2F0aW9uIC5yb3cuY29sdW1uLXNwbGl0dGVyID4gLnUtMVxcLzNcXEBtZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmMtbmF2aWdhdGlvbiwgLmMtbmF2aWdhdGlvbiBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLW5hdmlnYXRpb24gLm5hdmlnYXRpb24tdGl0bGUge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuLmMtbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XG4gIGhlaWdodDogMjdweDtcbiAgd2lkdGg6IDI0cHg7XG59XG4uYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlLCAuYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIHN2ZyB7XG4gIGZpbGw6IGJsYWNrO1xufVxuLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIGE6aG92ZXIsIC5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cbi5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0uYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG59XG4uYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYTpob3ZlciwgLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jLW5hdmlnYXRpb25fX2xpc3QuaU9TOSAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1heC13aWR0aDogMzMlO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tb3otaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbi5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0uYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NDAwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmZmZmY7XG59XG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0gPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgcGFkZGluZzogMTRweCA4cHggMTRweDtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGE6aG92ZXIsIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQwMDAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZmZmZmO1xufVxuLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQgPiBhIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYTI1MWQ7XG4gIHotaW5kZXg6IDExO1xufVxuLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NDAwMDA7XG59XG4uYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xuICB3aWR0aDogMjgwcHg7XG59XG5cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0gPiBhOmhvdmVyLCAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMwMDFjO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSA+IGEgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0gPiBhIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZGVkZWQ7XG59XG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSA+IGEgLm5hdmlnYXRpb24tdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0gPiBhIC5uYXZpZ2F0aW9uLWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgLmMtbmF2aWdhdGlvbiBsaTpub3QoLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtKTpub3QoLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0pIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5jLW5hdmlnYXRpb24gLmZpbGUtdHlwZS1pY29uLW1lZGlhLWxpbmsgPiAuY29tcG9uZW50LWNvbnRlbnQgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5jLW5hdmlnYXRpb24gLnJvdy5jb2x1bW4tc3BsaXR0ZXIgPiAuaGVhZGVyLWZpeGVkLWNvbDE6aGFzKC5maWxlLXR5cGUtaWNvbi1tZWRpYS1saW5rKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5jLW5hdmlnYXRpb24gLnR0Yy1tYWluLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uIC5yb3cuY29sdW1uLXNwbGl0dGVyLm8tZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5jLW5hdi1oYW1idXJnZXIge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCAyMHB4IDAgOHB4ICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHg7XG4gIH1cbiAgLmMtbmF2LWhhbWJ1cmdlciBhIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5jLW5hdi1oYW1idXJnZXJfX2J0biB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAzOXB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAuYy1uYXYtaGFtYnVyZ2VyX19idG4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgfVxuICAuYy1uYXYtaGFtYnVyZ2VyX19idG4uaXMtb3BlbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDlweCkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAuYy1uYXYtaGFtYnVyZ2VyX19idG4uaXMtb3BlbiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuICAuYy1uYXYtaGFtYnVyZ2VyX19idG4uaXMtb3BlbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICB9XG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdi1oYW1idXJnZXJfX2J0biBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3Qge1xuICAgIGhlaWdodDogNzJweDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGEge1xuICAgIHBhZGRpbmc6IDE2cHggMTIlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3RvZ2dsZSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX190b2dnbGUgLm5hdmlnYXRpb24taWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX190b2dnbGUgLm5hdmlnYXRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGZsZXg6IDAgMSA1NnB4O1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IDBweCAxOXB4IDM0cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB9XG4gIC5uYXZpZ2F0aW9uLWljb24tLW9wZW4ge1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpID4gYSAubmF2aWdhdGlvbi10aXRsZSB7XG4gICAgbWF4LXdpZHRoOiA3NnB4O1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIC5uYXZpZ2F0aW9uLWljb24tLW9wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuYy1oZWFkZXJfX29wZW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX21vcmUtYmFja2Ryb3Age1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX21vcmUtYmFja2Ryb3AuYy1uYXZpZ2F0aW9uX19tb3JlLWJhY2tkcm9wLS1vcGVuIHtcbiAgICB6LWluZGV4OiA5OTk4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAuYy1uYXYtb3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEyNTFkO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTtcbiAgfVxuICAuYy1uYXYtb3ZlcmxheS5pcy1vcGVuIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwZHZoIC0gdmFyKC0tbmF2LWhlaWdodCwgNDBweCkpO1xuICB9XG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdi1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB9XG4gIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faGludCBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLW5hdi1vdmVybGF5X19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXJ0LWJvdHRvbSwgMHB4KSk7XG4gIH1cbiAgLmMtbmF2LW92ZXJsYXlfX2l0ZW0gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgLmMtbmF2LW92ZXJsYXlfX2l0ZW0gYSAubmF2aWdhdGlvbi1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLmMtbmF2LW92ZXJsYXlfX2l0ZW0gYSAubmF2aWdhdGlvbi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgMCAjNzQwMDAwO1xuICB9XG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAwICNlZGVkZWQ7XG4gIH1cbiAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0NTlweCkge1xuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgZmxleDogMSAwIDQwcHg7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpID4gYSAubmF2aWdhdGlvbi10aXRsZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGEge1xuICAgIHBhZGRpbmc6IDE2cHggNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3R0b206IDlweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICM3NDAwMDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICB9XG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3Blbjo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNmZmZmZmY7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0IHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4udS1vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmMtbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uIC50dGMtbWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMTM3MjU0OTAyKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzEzNzI1NDkwMik7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAzNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZGEyNTFkO1xuICB9XG59XG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgIFNFQVJDSCBPVkVSTEFZXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9fc3VibWl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNTZweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19zdWJtaXQgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9fc3VibWl0OmhvdmVyLCAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX3N1Ym1pdDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7XG4gIGNvbG9yOiAjZmZmO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBiYWNrZ3JvdW5kOiAjZGEyNTFkO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNDVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheS5pcy1vcGVuIHtcbiAgbWF4LWhlaWdodDogNDIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzEzNzI1NDkwMik7XG59XG5cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5uZXIge1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNDBweCAyNHB4IDQ4cHg7XG59XG5cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5wdXQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC42O1xufVxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMThweCA1NnB4IDE4cHggNTZweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UsIGJhY2tncm91bmQgMC4yNXMgZWFzZSwgYm94LXNoYWRvdyAwLjI1cyBlYXNlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2Nsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTZweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDZweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2Nsb3NlIHN2ZyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZpbGw6ICNmZmY7XG59XG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2Nsb3NlOmhvdmVyLCAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2Nsb3NlOmZvY3VzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMTUpO1xufVxuXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2hpbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDIpO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faGludCBrYmQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAxcHggNnB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmMtbmF2LXNlYXJjaC1yZXN1bHRzIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jLW5hdi1zZWFyY2gtcmVzdWx0c19faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG59XG4uYy1uYXYtc2VhcmNoLXJlc3VsdHNfX2l0ZW06aG92ZXIsIC5jLW5hdi1zZWFyY2gtcmVzdWx0c19faXRlbTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICBTSEFSRUQgcGFuZWwgYmFja2Ryb3BcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuLmMtbmF2LXBhbmVsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB6LWluZGV4OiA5OTk5O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjM1cyBlYXNlO1xufVxuLmMtbmF2LXBhbmVsLWJhY2tkcm9wLmlzLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgIFJFU1BPTlNJVkUg4oCUIG1vYmlsZSBhZGp1c3RtZW50c1xuICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG5AbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5uZXIge1xuICAgIHBhZGRpbmc6IDI4cHggMTZweCAzNnB4O1xuICB9XG4gIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faWNvbiB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICB9XG4gIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIHBhZGRpbmc6IDE0cHggNDhweCAxNHB4IDQ4cHg7XG4gIH1cbiAgLmMtbmF2LXRyYW5zbGF0ZV9fZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTMwcHgsIDFmcikpO1xuICAgIGdhcDogOHB4O1xuICB9XG4gIC5jLW5hdi10cmFuc2xhdGVfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAyNHB4IDE2cHggMzJweDtcbiAgfVxufSIsIi8qKlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAqL1xyXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcclxuJGZ1bmN0aW9uYWwtY29sb3JzOiAoKSAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiBjb2xvcigkY29sb3IpIHtcclxuICBAaWYgbWFwLWdldCgkY29sb3JzLCAkY29sb3IpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAkY29sb3IpO1xyXG4gIH0gQGVsc2UgaWYgbWFwLWdldCgkZnVuY3Rpb25hbC1jb2xvcnMsICRjb2xvcikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRmdW5jdGlvbmFsLWNvbG9ycywgJGNvbG9yKTtcclxuICB9IEBlbHNlIHtcclxuICAgIC8qIFN0eWxlZm10IGNoYW5nZXMgdGhlIHF1b3RlcyBldmVyeSB0aW1lLCBzbyB0dXJuaW5nIG9mZiB0aGUgZXJyb3IgaGVyZSAqL1xyXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHN0cmluZy1xdW90ZXMgKi9cclxuICAgIEBlcnJvciBcIkNvbG9yIFxcXCIjeyRjb2xvcn1cXFwiY291bGQgbm90IGJlIGZvdW5kXCI7XHJcbiAgfVxyXG59XHJcbiIsIiR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQ6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbiR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzOiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHM6IChcclxuICAvLyB0aGluOiAxMDAsXHJcbiAgbGlnaHQ6IDMwMCxcclxuICByZWd1bGFyOiA0MDAsXHJcbiAgbWVkaXVtOiA1MDAsXHJcbiAgYm9sZDogNzAwLFxyXG4gIC8vIGJsYWNrOiA5MDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiR1aS10eXBvZ3JhcGh5LWRlZmF1bHQ6IChcclxuICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2stZGVmYXVsdCxcclxuICBmb250LXN0eWxlOiBub3JtYWwsXHJcbiAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gIG1hcmdpbjogMCxcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kdWktdHlwb2dyYXBoeS1zdHlsZXM6IChcclxuICAvL2hvbWVwYWdlIGhlYWRlclxyXG4gIGQ2LWxoLWxnOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgzMnB4KSwgNDBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg2MXB4KSwgNzZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ2OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgzMnB4KSwgNDBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg1MHB4KSwgNTZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ1OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyOXB4KSwgMzZweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg0MXB4KSwgNDRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ1LWxpZ2h0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyOXB4KSwgMzZweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg0MXB4KSwgNDRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLGxpZ2h0KSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyNnB4KSwgMzJweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgzNHB4KSwgNDBweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQzOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyM3B4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyOHB4KSwgMzZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyMXB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyNHB4KSwgMzBweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQxOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjRweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGgyc3o6IChcclxuICAgIHNpemVzOiAyLjlyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgaDNzejogKFxyXG4gICAgc2l6ZXM6IDIuMnJlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuXHJcbiAgaDRzejogKFxyXG4gICAgc2l6ZXM6IDEuN3JlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBoNXN6OiAoXHJcbiAgICBzaXplczogMi40cmVtLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGxlYWQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDIycHgpLCAzMnB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDI0cHgpLCAzNnB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICAgZm9udC1zdHlsZTogaXRhbGljLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZC1zbWFsbDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgKSxcclxuICBkLXhzbWFsbDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDE2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBib2R5OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBsaWdodCksXHJcbiAgKSxcclxuICBib2R5MjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4gIGxpbms6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgZGF0ZTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMTZweCksIDIwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBoZWFkZXI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBzdWJoZWFkZXI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBzaXRlLXNlYXJjaDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgICBzbTogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBpbnB1dDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBicmVhZGNydW1iOiAoXHJcbiAgICBzaXplczogIChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBmZWF0dXJlZDogKFxyXG4gICAgc2l6ZXM6ICAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgKSxcclxuICBjb3B5cmlnaHQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE0cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDEzcHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgY2FwdGlvbjogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICApLFxyXG4gIGZvcm0tbGFiZWw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBmb3JtLWhlbHBlcjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBwZGY6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGxpZ2h0KSxcclxuICApLFxyXG4gIG1hcC1yZXN1bHRzOiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDIwcHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBsaWdodCksXHJcbiAgKSxcclxuICBiZXRhLW5vdGljZTogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4gIHNpdGUtd2lkZS1hbGVydDogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbkBlYWNoICRuYW1lLCAkc3R5bGUgaW4gJHVpLXR5cG9ncmFwaHktc3R5bGVzIHtcclxuICAkdWktdHlwb2dyYXBoeS1zdHlsZXM6IG1hcC1tZXJnZSgkdWktdHlwb2dyYXBoeS1zdHlsZXMsIChcclxuICAgICN7JG5hbWV9OiBtYXAtbWVyZ2UoJHVpLXR5cG9ncmFwaHktZGVmYXVsdCwgJHN0eWxlKVxyXG4gICkpO1xyXG59XHJcblxyXG5AZWFjaCAkbmFtZSwgJHN0eWxlIGluICR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cyB7XHJcbiAgLnUtdHlwZS0tI3skbmFtZX0ge1xyXG4gICAgZm9udC13ZWlnaHQ6ICN7JHN0eWxlfTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCIvLyBAaW1wb3J0ICd+c2Fzcy1tcS9tcSc7XHJcbkBpbXBvcnQgJ21peGlucy9zYXNzLW1xLW1vZC5zY3NzJztcclxuQGltcG9ydCAnLi4vY29tbW9uLXVpL3R5cG9ncmFwaHkvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zL2FjY2Vzc2liaWxpdHknO1xyXG5AaW1wb3J0ICdtaXhpbnMvYnV0dG9uJztcclxuQGltcG9ydCAnbWl4aW5zL2xpbmsnO1xyXG5AaW1wb3J0ICdtaXhpbnMvb3ZlcmxheSc7XHJcbkBpbXBvcnQgJ21peGlucy90cmFuc2l0aW9ucyc7XHJcbkBpbXBvcnQgJ21peGlucy9zaGFkb3dzJztcclxuQGltcG9ydCAnbWl4aW5zL3RhZyc7XHJcbkBpbXBvcnQgJy4uL2Fic3RyYWN0cy92YXJzL2NvbG9ycyc7XHJcblxyXG4vLyBCZWxvdyBhcmUgbWl4aW4ncyBmcm9tIEZYQVxyXG4vKiBicmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrLWRlc2t0b3A6IDk2MHB4O1xyXG4kYnJlYWstbW9iaWxlOiAzODBweDtcclxuJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsOiA2NDBweDtcclxuJGJyZWFrLW1vYmlsZS1sYXJnZTogNzg2cHg7XHJcbkBtaXhpbiB3cmFwcGVyKCkge1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxMCkgKyBweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcclxufVxyXG5AbWl4aW4gb3BlbnNhbnMtZm9udC1zdGFjaygpIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcclxufVxyXG5AbWl4aW4gbG9hZGluZy1naWYoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek1pQXpNaUlnZDJsa2RHZzlJak15SWlCb1pXbG5hSFE5SWpNeUlpQm1hV3hzUFNKaWJHRmpheUkrRFFvZ0lEeHdZWFJvSUNCdmNHRmphWFI1UFNJdU1qVWlJR1E5SWsweE5pQXdJRUV4TmlBeE5pQXdJREFnTUNBeE5pQXpNaUJCTVRZZ01UWWdNQ0F3SURBZ01UWWdNQ0JOTVRZZ05DQkJNVElnTVRJZ01DQXdJREVnTVRZZ01qZ2dRVEV5SURFeUlEQWdNQ0F4SURFMklEUWlMejROQ2lBZ1BIQmhkR2dnWm1sc2JEMG5JekZoT0RCaU5pY2daRDBpVFRFMklEQWdRVEUySURFMklEQWdNQ0F4SURNeUlERTJJRXd5T0NBeE5pQkJNVElnTVRJZ01DQXdJREFnTVRZZ05Ib2lQZzBLSUNBZ0lEeGhibWx0WVhSbFZISmhibk5tYjNKdElHRjBkSEpwWW5WMFpVNWhiV1U5SW5SeVlXNXpabTl5YlNJZ2RIbHdaVDBpY205MFlYUmxJaUJtY205dFBTSXdJREUySURFMklpQjBiejBpTXpZd0lERTJJREUySWlCa2RYSTlJakF1T0hNaUlISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWlBdlBnMEtJQ0E4TDNCaGRHZytEUW84TDNOMlp6NE5DZz09KTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGlmICRtZWRpYT09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWhvcml6b250YWwgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBib3JkZXItYmFzaWMoJHBvc2l0aW9uOmFsbCwgJGJvcmRlci1jb2xvcjokYm9yZGVyLWdyYXksICRib3JkZXItd2lkdGg6MXB4KSB7XHJcbiAgICBAaWYoJHBvc2l0aW9uPT10b3ApIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PWJvdHRvbSkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09bGVmdCkge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PXJpZ2h0KSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZpeGVkLWJnKCRwb3MsICRtaW4taGVpZ2h0OjI0MHB4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xyXG59XHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XHJcbiAgICAvLyBEaXJlY3Rpb24gaGFzIGJlZW4gb21pdHRlZCBhbmQgaGFwcGVucyB0byBiZSBhIGNvbG9yLXN0b3BcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcclxuICAgICAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcclxuICAgICAgICAkZGlyZWN0aW9uOiAxODBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xyXG59XHJcbiIsIkBpbXBvcnQgXCJhYnN0cmFjdHNcIjtcclxuXHJcbi5jLW5hdmlnYXRpb25fX3RvZ2dsZSB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuXHJcbiAgLmZpbGUtdHlwZS1pY29uLW1lZGlhLWxpbmsgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuXHJcbiAgLmMtbmF2LWhhbWJ1cmdlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgbGk6bm90KC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSk6bm90KC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLnJvdy5jb2x1bW4tc3BsaXR0ZXIuby1ncmlkIHtcclxuICAgIGZsZXgtZmxvdzogcm93O1xyXG4gIH1cclxuXHJcbiAgLmMtbGluay0tcmVkc20gYSB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuICAucm93LmNvbHVtbi1zcGxpdHRlciA+IC5oZWFkZXItZml4ZWQtY29sMSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgfVxyXG5cclxuICAucm93LmNvbHVtbi1zcGxpdHRlciA+IC5oZWFkZXItZml4ZWQtY29sMiB7XHJcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDE1MHB4KTtcclxuICB9XHJcblxyXG4gIC5oZWFkZXItZml4ZWQtY29sMiA+IC5yb3cgPiAuaGVhZGVyLWZpeGVkLWNvbDIge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMDBweCk7XHJcbiAgfVxyXG5cclxuICAucm93LmNvbHVtbi1zcGxpdHRlciA+IC51LTFcXC8zXFxAbWQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgJiwgYSB7XHJcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLm5hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgLy9AaW5jbHVkZSB1aS10eXBvZ3JhcGh5KGhlYWRlcik7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XHJcbiAgICBoZWlnaHQ6IDI3cHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICB9XHJcblxyXG4gICYuYy1uYXZpZ2F0aW9uLS13aGl0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcblxyXG4gICAgJiwgYSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgZmlsbDogYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyZXktbWVudSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xyXG4gICAgICAmLmFjdGl2ZSA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyZXktbWVudSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmV5LW1lbnUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmMtbmF2aWdhdGlvbl9fbGlzdCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICYuaU9TOSB7XHJcbiAgICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1heC13aWR0aDogMzMlO1xyXG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcbiAgICAgIC1tb3otaHlwaGVuczogYXV0bztcclxuICAgICAgLW1zLWh5cGhlbnM6IGF1dG87XHJcbiAgICAgIGh5cGhlbnM6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAmLmFjdGl2ZSA+IGEge1xyXG4gICAgLy8gQWN0aXZlIG1lbnUgbGluayB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSBub3JtYWwgbWVudSBsaW5rcy5cclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnktZGFyayk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgY29sb3Iod2hpdGUpO1xyXG4gIH1cclxuXHJcbiAgPiBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgcGFkZGluZzogc3BhY2UoMS43NSkgc3BhY2UoKSBzcGFjZSgxLjc1KTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnktZGFyayk7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIGNvbG9yKHdoaXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICA+IGEge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICB6LWluZGV4OiAxMTtcclxuXHJcbiAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtLW9wZW4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnktZGFyayk7XHJcblxyXG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JleS1tZW51KTtcclxuICB9XHJcbn1cclxuXHJcbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XHJcbiAgd2lkdGg6IDI4MHB4O1xyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgPiBhIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IHNwYWNlKDIpO1xyXG4gICAgdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LWRhcmtlcik7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihncmV5LW1lbnUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZpZ2F0aW9uLXRpdGxlIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2aWdhdGlvbi1pY29uIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjZSgyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcclxuXHJcbiAgLmMtbmF2aWdhdGlvbiBsaTpub3QoLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtKTpub3QoLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0pIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuYy1uYXZpZ2F0aW9uIHtcclxuXHJcbiAgICAuZmlsZS10eXBlLWljb24tbWVkaWEtbGluayA+IC5jb21wb25lbnQtY29udGVudCBzcGFuIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3cuY29sdW1uLXNwbGl0dGVyID4gLmhlYWRlci1maXhlZC1jb2wxOmhhcyguZmlsZS10eXBlLWljb24tbWVkaWEtbGluaykge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEhpZGUgdGhlIG5hdiBsaW5rcyBjb2x1bW5cclxuICAuYy1uYXZpZ2F0aW9uIC50dGMtbWFpbi1uYXZpZ2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLy8gSGlkZSB0aGUgc2VhcmNoL3RyYW5zbGF0ZSBjb2x1bW5cclxuICAvLyBNYWtlIHRoZSBuYXYgcm93IGFsaWduIGxvZ28gbGVmdCwgaGFtYnVyZ2VyIHJpZ2h0XHJcbiAgLmMtbmF2aWdhdGlvbiAucm93LmNvbHVtbi1zcGxpdHRlci5vLWdyaWQge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbiAgLy8gTG9nbyBjb2x1bW4gc3RheXMgdmlzaWJsZVxyXG4gIC8vIEhhbWJ1cmdlciBidXR0b24gKHdlJ2xsIGluamVjdCB0aGlzIHZpYSBKUyBpbiB0aGUgbmV4dCBzdGVwLFxyXG4gIC8vIGJ1dCBkZWZpbmUgdGhlIHN0eWxlcyBub3cgc28gaXQncyByZWFkeSlcclxuICAuYy1uYXYtaGFtYnVyZ2VyIHtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAyMHB4IDAgc3BhY2UoMSkgIWltcG9ydGFudDtcclxuICAgIGdhcDogc3BhY2UoMSk7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jLW5hdmlnYXRpb24gLm5hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gIC5jLW5hdi1oYW1idXJnZXJfX2J0biB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogMzlweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvLyBBbmltYXRlIGJhcnMgdG8gWCB3aGVuIG9wZW5cclxuICAgICYuaXMtb3BlbiB7XHJcbiAgICAgIHNwYW46bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOXB4KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzcGFuOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgc3BhbjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOXB4KSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gV2hpdGUgbmF2IHZhcmlhbnRcclxuICAgIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy9pcGhvbmU1Zml4XHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCB7XHJcbiAgICBoZWlnaHQ6IDcycHg7XHJcblxyXG4gICAgbGk6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuXHJcbiAgICA+IGEge1xyXG4gICAgICBwYWRkaW5nOiBzcGFjZSgyKSAxMiU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYy1uYXZpZ2F0aW9uX190b2dnbGUge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5uYXZpZ2F0aW9uLWljb24ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZpZ2F0aW9uLXRpdGxlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcclxuICAgIGZsZXg6IDAgMSA1NnB4O1xyXG4gIH1cclxuXHJcbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMTlweCAzNHB4IGNvbG9yKGJhY2tkcm9wKTtcclxuICB9XHJcblxyXG4gIC5uYXZpZ2F0aW9uLWljb24tLW9wZW4ge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuYy1uYXZpZ2F0aW9uX19saXN0ID4gbGkgPiBhIHtcclxuICAgIC5uYXZpZ2F0aW9uLXRpdGxlIHtcclxuICAgICAgbWF4LXdpZHRoOiA3NnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIHtcclxuICAgIC5uYXZpZ2F0aW9uLWljb24tLWNsb3NlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmlnYXRpb24taWNvbi0tb3BlbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuYy1oZWFkZXJfX29wZW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICB9XHJcblxyXG4gIC5jLW5hdmlnYXRpb25fX21vcmUtYmFja2Ryb3Age1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJhY2tkcm9wKTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICAmLmMtbmF2aWdhdGlvbl9fbW9yZS1iYWNrZHJvcC0tb3BlbiB7XHJcbiAgICAgIHotaW5kZXg6IDk5OTg7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XHJcbiAgLmMtbmF2LW92ZXJsYXkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xyXG5cclxuICAgICYuaXMtb3BlbiB7XHJcbiAgICAgIGhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS1uYXYtaGVpZ2h0LCA0MHB4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faGludCBzcGFuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuYy1uYXYtb3ZlcmxheV9fbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXJ0LWJvdHRvbSwgMHB4KSk7XHJcbiAgfVxyXG5cclxuICAuYy1uYXYtb3ZlcmxheV9faXRlbSB7XHJcbiAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmMTA7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IHNwYWNlKDIpIHNwYWNlKDMpO1xyXG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAubmF2aWdhdGlvbi1pY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlKDIpO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgMCBjb2xvcihwcmltYXJ5LWRhcmspO1xyXG5cclxuICAgIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAwIGNvbG9yKGdyZXktbWVudSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbXEoJHVudGlsOiB4cykge1xyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcclxuICAgIGZsZXg6IDEgMCA0MHB4O1xyXG4gIH1cclxuXHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpID4gYSB7XHJcbiAgICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XHJcbiAgICA+IGEge1xyXG4gICAgICBwYWRkaW5nOiBzcGFjZSgyKSA2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcShzbSkge1xyXG4gIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDlweDtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB6LWluZGV4OiAxMjtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIGNvbG9yKHByaW1hcnktZGFyayk7XHJcbiAgICAgIHRyYW5zaXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbjtcclxuXHJcbiAgICAgIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgY29sb3Iod2hpdGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xyXG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDEwcHggcmdiYSgwLDAsMCwwLjUpKTtcclxuICB9XHJcblxyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XHJcbiAgICAvL2ZsZXg6IDE7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4udS1vdmVyZmxvdy1oaWRkZW4ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAuYy1uYXZpZ2F0aW9uIHtcclxuXHJcblxyXG4gICAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC50dGMtbWFpbi1uYXZpZ2F0aW9uIHtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmZmZmNTA7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmZmZmY1MDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICA+IGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgLy9wYWRkaW5nOiBzcGFjZSgyKSAwIGNhbGMoI3tzcGFjZSgyKX0gLSAycHgpO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDM1cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZGEyNTFkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXHJcbiAgIFNFQVJDSCBPVkVSTEFZXHJcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xyXG5cclxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19zdWJtaXQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogNTZweDtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgd2lkdGg6IDM0cHg7XHJcbiAgaGVpZ2h0OiAzNHB4O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxMDAwMDtcclxuICBiYWNrZ3JvdW5kOiAjZGEyNTFkO1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNDVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuXHJcbiAgJi5pcy1vcGVuIHtcclxuICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMTM3MjU0OTAyKTtcclxuICB9XHJcbn1cclxuXHJcbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5uZXIge1xyXG4gIG1heC13aWR0aDogNzIwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZzogNDBweCAyNHB4IDQ4cHg7XHJcbn1cclxuXHJcbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5wdXQtd3JhcCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faWNvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDIwcHg7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHdpZHRoOiAyNXB4O1xyXG4gIGhlaWdodDogMjVweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBvcGFjaXR5OiAwLjY7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGZpbGw6ICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lucHV0IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAxOHB4IDU2cHggMThweCA1NnB4O1xyXG4gIGZvbnQtc2l6ZTogMnJlbTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XHJcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UsIGJhY2tncm91bmQgMC4yNXMgZWFzZSwgYm94LXNoYWRvdyAwLjI1cyBlYXNlO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG5cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2Nsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDE2cHg7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwYWRkaW5nOiA2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgb3BhY2l0eTogMC41O1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBmaWxsOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4xNSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2hpbnQge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQyKTtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHJcbiAga2JkIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBhZGRpbmc6IDFweCA2cHg7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbi5jLW5hdi1zZWFyY2gtcmVzdWx0cyB7XHJcbiAgbWFyZ2luLXRvcDogMTZweDtcclxuICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4uYy1uYXYtc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6IDEycHggMTZweDtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcclxuICAgU0hBUkVEIHBhbmVsIGJhY2tkcm9wXHJcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xyXG5cclxuLmMtbmF2LXBhbmVsLWJhY2tkcm9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgaW5zZXQ6IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gIHotaW5kZXg6IDk5OTk7XHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBlYXNlLCB2aXNpYmlsaXR5IDAuMzVzIGVhc2U7XHJcblxyXG4gICYuaXMtdmlzaWJsZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcclxuICAgUkVTUE9OU0lWRSDigJQgbW9iaWxlIGFkanVzdG1lbnRzXHJcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xyXG4gIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5uZXIge1xyXG4gICAgcGFkZGluZzogMjhweCAxNnB4IDM2cHg7XHJcbiAgfVxyXG5cclxuICAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2ljb24ge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgfVxyXG5cclxuICAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lucHV0IHtcclxuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgcGFkZGluZzogMTRweCA0OHB4IDE0cHggNDhweDtcclxuICB9XHJcblxyXG4gIC5jLW5hdi10cmFuc2xhdGVfX2dyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTMwcHgsIDFmcikpO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgfVxyXG5cclxuICAuYy1uYXYtdHJhbnNsYXRlX19pbm5lciB7XHJcbiAgICBwYWRkaW5nOiAyNHB4IDE2cHggMzJweDtcclxuICB9XHJcbn1cclxuIiwiJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcclxuJGdsb2JhbC10cmFuc2l0aW9uLWVhc2luZzogZWFzZS1pbi1vdXQ7XHJcbiRnbG9iYWwtdHJhbnNpdGlvbjogYWxsICRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDsiLCIvL21vZGRlZCB0byB1c2UgcHhcclxuXHJcbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxyXG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXHJcblxyXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcclxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcclxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgbW9kZVxyXG4vLy9cclxuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxyXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcclxuLy8vXHJcbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXHJcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyBvbGQtaWUuc2Nzc1xyXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcclxuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cclxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnJlYWtwb2ludCBsaXN0XHJcbi8vL1xyXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2VcclxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cclxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cclxuLy8vXHJcbi8vLyBAdHlwZSBNYXBcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtYnJlYWtwb2ludHM6IChcclxuICAgIG1vYmlsZTogIDMyMHB4LFxyXG4gICAgdGFibGV0OiAgNzQwcHgsXHJcbiAgICBkZXNrdG9wOiA5ODBweCxcclxuICAgIHdpZGU6ICAgIDEzMDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcclxuLy8vXHJcbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcclxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxyXG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXHJcbi8vLyAgLy9cclxuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcclxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcclxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XHJcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XHJcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XHJcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxyXG4vLy9cclxuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXHJcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xyXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXHJcbi8vL1xyXG4vLy8gQHR5cGUgbWFwXHJcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxyXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xyXG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxyXG4vLy8gQHJldHVybnMge051bWJlcn1cclxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcclxuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcclxuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcclxuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcclxuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcclxuICAgICAgICBAcmV0dXJuICRweDtcclxuICAgIH1cclxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XHJcbn1cclxuXHJcbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xyXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxyXG4vLy9cclxuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxyXG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXHJcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcclxuLy8vXHJcbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxyXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcclxuLy8vXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLmVsZW1lbnQge1xyXG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xyXG4vLy8gICAgICBjb2xvcjogcmVkO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuLy8vICAgICAgY29sb3I6IGJsdWU7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xyXG4vLy8gICAgICBjb2xvcjogZ3JlZW47XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xyXG4vLy8gICAgICBjb2xvcjogdGVhbDtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxyXG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xyXG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbkBtaXhpbiBtcShcclxuICAgICRmcm9tOiBmYWxzZSxcclxuICAgICR1bnRpbDogZmFsc2UsXHJcbiAgICAkYW5kOiBmYWxzZSxcclxuICAgICRlbXMtb246IGZhbHNlLFxyXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxyXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXHJcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXHJcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4pIHtcclxuICAgICRtaW4td2lkdGg6IDA7XHJcbiAgICAkbWF4LXdpZHRoOiAwO1xyXG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcclxuXHJcbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcclxuICAgIEBpZiAkZnJvbSB7XHJcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XHJcbiAgICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKCRmcm9tKSwgKCRmcm9tKSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKSwgbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXHJcbiAgICBAaWYgJHVudGlsIHtcclxuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XHJcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKCR1bnRpbCksKCR1bnRpbCkpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW0sIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSAtIDFweCk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xyXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cclxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XHJcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgJHRhcmdldC13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKSwgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcclxuXHJcbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcclxuICAgICAgICBAaWYgKFxyXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXHJcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgYW5kIChcclxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxyXG5cclxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcclxuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcclxuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gUXVpY2sgc29ydFxyXG4vLy9cclxuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcclxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxyXG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcclxuICAgICRsZXNzOiAgKCk7XHJcbiAgICAkZXF1YWw6ICgpO1xyXG4gICAgJGxhcmdlOiAoKTtcclxuXHJcbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xyXG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcclxuXHJcbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRsaXN0O1xyXG59XHJcblxyXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxyXG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxyXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcclxuICAgICRtYXAtc29ydGVkOiAoKTtcclxuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XHJcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcclxuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xyXG5cclxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcclxuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xyXG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XHJcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcclxuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XHJcblxyXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXHJcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXHJcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcclxufVxyXG5cclxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XHJcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XHJcbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XHJcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcclxuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXHJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXHJcbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxuLy8vXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcclxuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xyXG4gICAgYm9keTpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xyXG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xyXG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxyXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xyXG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcclxuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XHJcbn1cclxuIl19 */
