/* Document
 * ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 */
:where(html) {
  line-height: 1.15; /* 1 */
}
/* Sections
 * ========================================================================== */
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
:where(h1) {
  margin-block-start: 0.67em;
  margin-block-end: 0.67em;
  font-size: 2em;
}
/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */
:where(dl, ol, ul) :where(dl, ol, ul) {
  margin-block-start: 0;
  margin-block-end: 0;
}
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Correct the inheritance of border color in Firefox.
 */
:where(hr) {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  color: inherit; /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(pre) {
  font-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}
/* Text-level semantics
 * ========================================================================== */
/**
 * Add the correct text decoration in Safari.
 */
:where(abbr[title]) {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
:where(b, strong) {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(code, kbd, samp) {
  font-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}
/**
 * Add the correct font size in all browsers.
 */
:where(small) {
  font-size: 80%;
}
/* Tabular data
 * ========================================================================== */
/**
 * 1. Correct table border color in Chrome, Edge, and Safari.
 * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
:where(table) {
  border-color: currentColor; /* 1 */
  text-indent: 0; /* 2 */
}
/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
:where(button, input, select) {
  margin: 0;
}
/**
 * Remove the inheritance of text transform in Firefox.
 */
:where(button) {
  text-transform: none;
}
/**
 * Correct the inability to style buttons in iOS and Safari.
 */
:where(button, input:is([type="button" i], [type="reset" i], [type="submit" i])) {
  -webkit-appearance: button;
}
/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
:where(progress) {
  vertical-align: baseline;
}
/**
 * Remove the inheritance of text transform in Firefox.
 */
:where(select) {
  text-transform: none;
}
/**
 * Remove the margin in Firefox and Safari.
 */
:where(textarea) {
  margin: 0;
}
/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
:where(input[type="search" i]) {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}
/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
:where(button, input:is([type="button" i], [type="color" i], [type="reset" i], [type="submit" i]))::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:where(button, input:is([type="button" i], [type="color" i], [type="reset" i], [type="submit" i]))::-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Remove the additional :invalid styles in Firefox.
 */
:where(:-moz-ui-invalid) {
  box-shadow: none;
}
/* Interactive
 * ========================================================================== */
/*
 * Add the correct styles in Safari.
 */
:where(dialog) {
  position: absolute;
  right: 0;
  left: 0;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  padding: 1em;
  border: solid;
  background-color: white;
  color: black;
}
:where(dialog:not([open])) {
  display: none;
}
/*
 * Add the correct display in all browsers.
 */
:where(summary) {
  display: list-item;
}
@font-face {
  src: url("../fonts/geometria_medium/geometria_medium.eot");
  src: url("../fonts/geometria_medium/geometria_medium.eot?#iefix") format("embedded-opentype"), url("../fonts/geometria_medium/geometria_medium.woff") format("woff"), url("../fonts/geometria_medium/geometria_medium.woff2") format("woff2"), url("../fonts/geometria_medium/geometria_medium.ttf") format("truetype"), url("../fonts/geometria_medium/geometria_medium.svg#geometria_medium") format("svg"), url("../fonts/geometria_medium/geometria_medium.otf") format("otf");
  font-family: "geometria_medium";
}
@font-face {
  src: url("../fonts/geometria_light/geometria_light.eot");
  src: url("../fonts/geometria_light/geometria_light.eot?#iefix") format("embedded-opentype"), url("../fonts/geometria_light/geometria_light.woff") format("woff"), url("../fonts/geometria_light/geometria_light.woff2") format("woff2"), url("../fonts/geometria_light/geometria_light.ttf") format("truetype"), url("../fonts/geometria_light/geometria_light.svg#geometria_light") format("svg"), url("../fonts/geometria_light/geometria_light.otf") format("otf");
  font-family: "geometria_light";
}
html {
  box-sizing: border-box;
  position: relative;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  display: flex;
  flex-direction: column;
  min-width: 320px;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  margin: 0;
  color: #191819;
  font-size: 16px;
  font-family: "geometria_medium", sans-serif;
  text-rendering: optimizeSpeed;
  scroll-behavior: smooth;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

::selection {
  /* background: #b3d4fc; */
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

input,
button,
textarea,
select {
  font: inherit;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

textarea {
  resize: vertical;
}

.browserupgrade {
  margin: 0.2em 0;
  padding: 0.2em 0;
  background: #ccc;
  color: #000;
}

.hidden {
  display: none !important;
}

.visuallyhidden {
  clip: rect(0 0 0 0);
  -webkit-overflow-scrolling: touch;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
}

.invisible {
  visibility: hidden;
}

.container, .feedback__wrapper, .questions, .advantages, .scope__wrapper, .top-banner-item__wrapper, .top-tabber, .footer__container, .header__wrapper, .faq-section, .header-mobile-content, .about-content{
  width: 100%;
  max-width: 1484px;
  margin: 0 auto;
}

.header {
  position: fixed;
  width: 100%;
  background-color: #fff;
  z-index: 1000;
}

.header__wrapper {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 10px;
}
.header__line1 {
  height: 30px;
  margin-bottom: 32px;
  background-color: #94c93d;
}

.header-mobile-menu {
  display: none;
}
.header-mobile-content {
  display: none;
}
.header__logo {
  flex-grow: 1;
  display: flex;
  column-gap: 22px;
  align-items: center;
  text-decoration: none;
}
.header__logo img {
  width: 215px;
  height: 58px;
}

.header-contacts {
  display: flex;
  column-gap: 35px;
  align-items: center;
}
.header-contacts-item {
  display: block;
  color: #191819;
  font-weight: 300;
  font-size: 22px;
  line-height: 1.2;
  font-family: "geometria_light", sans-serif;
  text-decoration: none;
  transition: 0.25s;
}
.header-contacts-item--email {
  padding-left: 35px;
  background: url("../img/icons/email-top.png") no-repeat left center/21px 15px;
}
.header-contacts-item--phone {
  padding-left: 30px;
  background: url("../img/icons/phone-top.png") no-repeat left center/20px 18px;
}
.header-cabinet {
  display: flex;
  column-gap: 15px;
  align-items: center;
  /* margin-left: 80px; */
}
.header-cabinet__wrapper-acc, .header-cabinet__wrapper-list {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-cabinet-status {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
}
.header-cabinet-status--green {
  background-color: #94c93d;
}
.header-cabinet-status--blue {
  background-color: #41d0ff;
}
.header-cabinet-title {
  color: #191819;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
  text-decoration: none;
}

.footer {
  padding-top: 114px;
  background-color: #252526;
  
}
.card-wrapp {
  padding-bottom: 64px;
}
.mobile-maps {
    display: none;
  }
.footer__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.footer__wrapper {
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding-bottom: 64px;
}
.footer-nav {
  display: flex;
  column-gap: 50px;
  align-items: center;
  padding-left: 0;
  list-style-type: none;
}
.footer-nav-button {
  cursor: pointer;
}
.footer-nav-chevron {
  width: 24px;
  height: 24px;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
.footer-nav-chevron.active {
  transform: rotate(180deg);
  filter: brightness(0) saturate(100%) invert(73%) sepia(40%) saturate(1000%) hue-rotate(40deg) brightness(90%) contrast(85%);
}
.footer-nav-button.active {
  color: #94C93D;
}
.footer-company-info {
  display: none;
}
.footer-company-info.active {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.footer-company-info-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 32px;
  }
.footer-company-info-elem--adres {
  cursor: pointer;
  text-decoration: underline;
}
.footer-company-info-elem {
  font-family: "geometria_light", sans-serif;
  font-weight: 300;
  font-size: 24px;
  color: #fff;
  a {
    color: #fff;
  }
}
.footer-nav-item {
  color: #fff;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
  text-decoration: none;
  transition: 0.25s;
}
.footer-social {
  display: flex;
  column-gap: 42px;
  align-items: center;
  margin-left: auto;
}
.footer-social-item {
  position: relative;
  width: 50px;
  height: 50px;
}
.footer-social-item img {
  display: block;
  z-index: 2;
  position: relative;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.footer-social-item::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 17%;
  right: 17%;
  bottom: 17%;
  left: 17%;
  background-color: #fff;
  content: "";
}

.footer__services {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.footer__services-title {
  color: white;
  font-weight: 500;
  font-size: 22px;
  line-height: 16px;
  margin: 0;
}

.footer__downloads {
  display: flex;
  gap: 32px;
  @media screen and (max-width: 620px) {
    flex-direction: column;
    gap: 20px;
  }
}

.footer__download-link {
  display: inline-flex;
  align-items: center;
  font-size: 22px;
  gap: 8px;
  color: white;
  text-decoration: none;
}

.footer__download-icon {
  display: inline-block;
  width: 17px;
  height: 17px;
}

.footer__download-icon--ruStore {

  fill: #94C93D;
}

.footer__download-icon--appStore {
  fill: white;
}

.footer__download-icon--android {
  fill: white;
}

.footer__fns {
  display: flex;
  gap: 32px;
}

.footer__fns-link {
  color: white;
  text-decoration: none;
}

.footer__line {
  width: 100%;
  height: 14px;
  background-color: #94c93d;
}
.footer__bottom {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.footer__bottom-service {
  color: #fff;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
  font-family: "geometria_medium", sans-serif;
  text-decoration: none;
  transition: 0.25s;
  cursor: pointer;
}
.footer__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-logo {
  display: flex;
  row-gap: 9px;
  flex-direction: column;
}
.footer-logo img {
  width: 215px;
  height: 42px;
}
.footer-logo__line {
  width: 100%;
  height: 7px;
  background-color: #94c93d;
}

.top-tabber {
  display: flex;
  
  margin-bottom: 2px;
  padding-top: 233px;
}
.top-tabber-item {
  -webkit-overflow-scrolling: touch;
  position: relative;
  padding-bottom: 26px;
  overflow: hidden;
  backface-visibility: hidden;
  color: #191819;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
  cursor: pointer;
  transition: width 1.3s;
  transition-delay: 14s;
  will-change: width;
  -webkit-user-select: none;
          user-select: none;
}
.top-tabber-item.active::after {
  transition: 0.25s;
}
.top-tabber-item span {
  opacity: 0.6;
}
.top-tabber-item::after, .top-tabber-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  content: "";
}
.top-tabber-item::after {
  z-index: 1;
  left: 0;
  width: 100%;
  height: 9px;
}
.top-tabber-item::before {
  z-index: 2;
  right: 0;
  width: 10px;
  height: 9px;
  border-width: 0 30px 10px 0;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}

.top-tabber-item--org::after {
  background-color: #94c93d;
}

.top-tabber-item--spec::after {
  background-color: #41d0ff;
}
.top-tabber-item.active span {
  opacity: 1;
}

.top-tabber-item--base::after {
  background-color: #FFA82F;
}

@keyframes width2 {
  0% {
    width: 220px;
  }
  100% {
    width: 300px;
  }
}
@keyframes opacity1 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@keyframes transform1 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
}
@keyframes transform2 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-100px);
  }
}
.faq-section {
  height: 100%;
  overflow-y: auto;
  margin: 0 auto;
}

.faq-item {
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  overflow: hidden;
}

.faq-question {
  padding: 15px;
  background-color: #f5f5f5;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

.faq-question:hover {
  background-color: #e9e9e9;
}

.faq-answer {
  padding: 0 15px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.faq-answer p {
  padding: 15px 0;
}

/* Класс для открытого состояния */
.faq-item.active .faq-answer {
  max-height: 500px;
}

.top-banner {
  position: relative;
  height: 527px;
  padding-bottom: 10px;
}
.top-banner-item {
  display: none;
  height: 100%;
}
.top-banner-item.active {
  display: flex;
  align-items: center;
}
.top-banner-item__wrapper {
  display: flex;
  align-items: center;
  height: 100%;
}
.top-banner-item__img {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.top-banner-item__text {
  z-index: 1;
  position: relative;
  width: 100%;
  max-width: 580px;
  color: #000;
  font-weight: 500;
  font-size: 34px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
}
.top-banner-item--spec .top-banner-item__text {
  max-width: 436px;
  color: #fff;
}

.scope {
  padding: 120px 0;
  background-color: #f4f6f6;
}
.scope__title {
  width: 100%;
  max-width: 975px;
  margin: 0 auto;
  margin-bottom: 110px;
  color: #000;
  font-weight: 500;
  font-size: 34px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
  text-align: center;
}
.scope-list {
  display: flex;
  row-gap: 50px;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  margin-bottom: 110px;
}
.scope-list__col {
  display: flex;
  row-gap: 50px;
  flex-direction: column;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.scope-list-item {
  display: flex;
  column-gap: 22px;
  align-items: center;
}
.scope-list-item__title {
  color: #191819;
  font-weight: 500;
  font-size: 24px;
  line-height: 22px;
  font-family: "geometria_medium", sans-serif;
}
.scope-list-item__img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
}
.scope__bottom {
  color: #191819;
  font-weight: 500;
  font-size: 30px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
  text-align: center;
}

.advantages {
  display: flex;
  justify-content: space-between;
  margin-bottom: 128px;
  padding-top: 137px;
}
.advantages__right {
  width: 100%;
  max-width: 812px;
}
.advantages-list {
  display: flex;
  row-gap: 68px;
  flex-direction: column;
}
.advantages-list-item {
  display: flex;
  column-gap: 42px;
}
.advantages-list-item__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #f4f6f6;
}
.advantages-list-item__info {
  display: flex;
  row-gap: 30px;
  flex-direction: column;
}
.advantages-list-item__title {
  color: #94c93d;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
}
.advantages-list-item__desc {
  color: #191819;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
}
.advantages__title {
  margin-bottom: 56px;
  color: #191819;
  font-weight: 500;
  font-size: 46px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
}
.advantages__desc {
  max-width: 320px;
  color: #191819;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
}

.questions {
  margin-bottom: 126px;
  padding: 75px 0 115px;
  background: linear-gradient(135deg, #373738 0%, #121213 68%);
}
.questions__title {
  margin-bottom: 92px;
  color: #94c93d;
  font-weight: 500;
  font-size: 34px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
  text-align: center;
}
.questions-list {
  display: flex;
  row-gap: 85px;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
.questions-list-item {
  display: flex;
  row-gap: 24px;
  flex-direction: column;
  width: 100%;
  max-width: 555px;
  color: #fff;
}
.questions-list-item__title {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
}
.questions-list-item__desc {
  width: 100%;
  max-width: 555px;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.2;
  font-family: "geometria_light", sans-serif;
}

.feedback {
  padding: 103px 0;
  background-color: #f2f2f3;
}
.feedback__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.feedback-images {
  display: flex;
  gap: 80px;
  img {
    height: 80px;
  }
}

.feedback__title {
  color: #252526;
  font-weight: 500;
  font-size: 44px;
  line-height: 1.2;
  font-family: "geometria_medium", sans-serif;
  
}
.feedback-form {
  display: flex;
  row-gap: 28px;
  flex-direction: column;
  width: 100%;
  max-width: 1000px;
  margin-left: 126px;
}
.feedback-form__wrapper {
  display: flex;
  column-gap: 76px;
  align-items: flex-end;
}
.feedback-form-title {
  color: #252526;
  font-weight: 300;
  font-size: 24px;
  line-height: 1.2;
  font-family: "geometria_light", sans-serif;
}
.feedback-form__input {
  padding-right: 15px;
  padding-bottom: 15px;
  padding-left: 0;
  border: 0;
  border-bottom: 1px solid #191819;
  outline: none;
  background-color: transparent;
  color: #191819;
  font-weight: 300;
  font-size: 24px;
  line-height: 1.2;
  font-family: "geometria_light", sans-serif;
}
.feedback-form__input::placeholder {
  color: #252526;
  font-weight: 300;
  font-size: 24px;
  line-height: 1.2;
  font-family: "geometria_light", sans-serif;
}
.feedback-form__button {
  -webkit-appearance: none;
          appearance: none;
  flex-shrink: 0;
  width: auto;
  width: 250px;
  height: 53px;
  margin: 0;
  padding: 0;
  padding-left: 30px;
  border: none;
  outline: none;
  background: transparent;
  background-color: #fff;
  color: #252526;
  font-weight: 300;
  font-size: 24px;
  line-height: 1.2;
  font-family: "geometria_light", sans-serif;
  text-align: center;
  cursor: pointer;
  transition: 0.25s;
}
.feedback-form__button span {
  position: relative;
}
.feedback-form__button span::after {
  display: block;
  position: absolute;
  top: 2px;
  bottom: 0;
  left: -30px;
  width: 17px;
  height: 14px;
  margin: auto;
  background: url("../img/icons/check.png") no-repeat center/contain;
  content: "";
  filter: contrast(0.5);
}

img:not([alt]),
label:not([for]),
input[type=submit]:not([value]) {
  outline: 2px solid red;
}

ul > *:not(li),
ol > *:not(li),
dl > *:not(dt):not(dd) {
  outline: 2px solid red;
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
}

.modal.active {
    display: flex;
}

.modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}

.modal__content {
    position: relative;
    background: white;
    padding: 64px;
    max-width: 800px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    animation: modalSlideIn 0.3s ease;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-50px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.modal__close {
    background: none;
    border: none;
    font-size: 44px;
    cursor: pointer;
    color: #666;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.modal__close:hover {
    background: #f0f0f0;
    color: #333;
}

.modal h2 {
    font-size: 46px;
    font-weight: 500;
    margin: 0;
    color: #333;
}
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
}

.form-control {
  position: relative;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s;
}
.error-message {
  color: #e74c3c;
  font-size: 14px;
  margin-top: 5px;
  display: none;
}

.form-control:focus {
    border-color: #94C93D;
    outline: none;
}

textarea.form-control {
    min-height: 120px;
    resize: vertical;
}

.submit-btn {
    background-color: #94C93D;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 16px;
    font-size: 16px;
    font-weight: 600;
    max-width: 231px;
    width: 100%;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 10px;
}

.submit-btn:active {
    transform: translateY(0);
}

.modal__actions {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
    margin-top: 1.5rem;
}

.btn-confirm {
    background: #28a745;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
}

.btn-cancel {
    background: #6c757d;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
}

.btn-confirm:hover {
    background: #218838;
}

.btn-cancel:hover {
    background: #5a6268;
}

 .notification {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    display: none;
}

.notification.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
  display: block;
  position: absolute;
  z-index: 2000;
  top: 50px;
  right: 10px;
}

.notification.error {
  display: block;
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  position: absolute;
  z-index: 2000;
  top: 50px;
  right: 10px;
}

@media screen and (min-width: 1201px) {
  .header-contacts-item:hover {
    color: #94c93d;
  }
  .footer-nav-item:hover {
    color: #94c93d;
  }
  .footer__bottom-service:hover {
    color: #94c93d;
  }
  .top-tabber-item {
    width: 300px;
  }
  .top-tabber-item--org.animate::after {
    animation: width2 2s ease;
  }
  .top-tabber-item--spec.animate::after {
    animation: width2 2s ease;
  }
  .top-tabber-item--base.animate::after {
    animation: width2 2s ease;
  }
  .feedback-form__button:hover {
    background-color: #94c93d;
    color: #fff;
  }
  .feedback-form__button:hover span::after {
    filter: unset;
  }
}

@media screen and (max-width: 1600px) {
  .container, .feedback__wrapper, .questions, .advantages, .scope__wrapper, .top-banner-item__wrapper, .top-tabber, .footer__container, .header__wrapper, .faq-section, .about-content {
    max-width: 1024px;
  }
  .header-contacts {
    row-gap: 10px;
    flex-direction: column;
    align-items: flex-start;
  }
  .footer {
    padding-top: 60px;
  }
  .card-wrapp {
    display: none;
  }
  .mobile-maps {
    display: block;
  }
  .footer__container {
    grid-template-columns: 1fr;
  }
  .footer-nav {
    margin-left: 40px;
  }
  .footer-social {
    column-gap: 15px;
  }
  .footer-social-item {
    width: 25px;
    height: 25px;
  }
  .footer-logo img {
    width: 160px;
    height: 30px;
  }
  .advantages__right {
    max-width: 520px;
  }
  .feedback__wrapper {
    flex-direction: column;
  }
  .feedback__title {
    margin-bottom: 40px;
    text-align: center;
  }
  .feedback__title br {
    display: none;
  }
  .feedback-form {
    row-gap: 60px;
    margin-left: 0;
  }
  .feedback-form__wrapper {
    row-gap: 40px;
    flex-direction: column;
    align-items: center;
  }
  .feedback-form-title {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
  }
  .feedback-form__button {
    width: 300px;
  }
  .footer-company-info-list {
    display: grid;
    grid-template-columns: 1fr 1fr ;
  }
}

@media screen and (max-width: 1200px) {
  .container, .feedback__wrapper, .questions, .advantages, .scope__wrapper, .top-banner-item__wrapper, .top-tabber, .footer__container, .header__wrapper, .faq-section, .about-content {
    max-width: 800px;
  }
  .header-contacts {
    display: none;
  }
  .footer__wrapper {
    gap: 30px;
    padding-bottom: 30px;
  }
  .footer__top {
    flex-direction: column;
    align-items: start;
    gap: 30px;
  }
  .footer__services {
    gap: 25px;
  }
  .footer__fns {
    flex-direction: column;
    gap: 10px;
  }
  .footer-nav {
    row-gap: 5px;
    justify-content: space-between;
    order: 3;
    width: 100%;
    margin-left: 0;
  }
  .footer__bottom {
    row-gap: 5px;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .top-tabber {
    justify-content: start;
  }
  .top-tabber-item {
    width: 100%;
  }
  .scope {
    padding: 50px 0;
  }
  .scope__title {
    margin-bottom: 50px;
  }
  .scope-list {
    row-gap: 20px;
    flex-direction: column;
    margin-bottom: 50px;
  }
  .scope-list br {
    display: none;
  }
  .scope-list__col {
    row-gap: 20px;
  }
  .advantages {
    flex-direction: column;
  }
  .advantages__right {
    max-width: 100%;
  }
  .advantages__title {
    text-align: center;
  }
  .advantages__title br {
    display: none;
  }
  .advantages__desc {
    max-width: 100%;
    margin-bottom: 60px;
    text-align: center;
  }
  .questions {
    margin-bottom: 60px;
    padding: 55px 55px;
  }
  .questions__title {
    margin-bottom: 50px;
  }
  .questions-list {
    row-gap: 40px;
  }
  .questions-list-item {
    row-gap: 8px;
  }
  .feedback {
    padding: 60px 0;
  }
}

@media screen and (max-width: 800px) {
  .container, .feedback__wrapper, .questions, .advantages, .scope__wrapper, .top-banner-item__wrapper, .top-tabber, .footer__container, .header__wrapper, .faq-section, .header-mobile-content, .about-content {
    max-width: 600px;
  }
  .header__line1 {
    margin-bottom: 8px;
  }
  .header-cabinet, .header-cabinet__wrapper-list, .header-cabinet__wrapper-acc {
    display: none;
  }
  .header-cabinet__wrapper {
    display: flex;
    gap: 8px;
    align-items: center;
  }
  .header-mobile-menu {
    width: 44px;
    height: 44px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
    align-items: center;
  }
  .header-mobile-menu-line {
    width: 20px;
    height: 2px;
    background-color: #000;
  }
  .header-mobile-content.active {
    display: flex;
  }
  .header-mobile-content {
    padding: 32px 0;
    display: none;
    flex-direction: column;
    justify-content: flex-end;
    gap: 24px;
  }
  .header-mobile-content-lincks {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .header-mobile-contacts {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .top-tabber {
    padding-top: 110px;
  }
  .modal__content {
    padding: 24px 16px;
  }
  .modal h2 {
    margin-top: 5px;
    margin-bottom: 16px;
    font-size: 32px;
    font-weight: 500;
  }
  .footer__downloads {
    flex-direction: column;
  }
  .footer-company-info-elem {
    font-size: 20px;
    font-weight: 300;
  }
}

@media screen and (max-width: 620px) {
  .container, .feedback__wrapper, .questions, .advantages, .scope__wrapper, .top-banner-item__wrapper, .top-tabber, .footer__container, .header__wrapper, .faq-section, .header-mobile-content, .about-content {
    max-width: 320px;
  }
  .header__line1 {
    height: 10px;
  }
  .header__line2 {
    height: 4px;
    margin-bottom: 20px;
  }
  .header__logo img {
    width: 110px;
    height: 30px;
  }
  .header-contacts-item {
    font-size: 16px;
  }
  .header-contacts-item--email {
    padding-left: 21px;
    background-size: 14px;
  }
  .header-contacts-item--phone {
    padding-left: 21px;
    background-size: 14px;
  }
  .footer-nav {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .top-tabber {
    justify-content: space-between;
  }
  .top-tabber-item {
    padding-bottom: 14px;
    font-size: 14px;
    text-align: center;
  }
  .top-tabber-item {
    flex-shrink: 0;
    width: 33%;
  }
  .top-tabber-item.active {
    font-weight: bold;
  }
  .top-tabber-item--org.active {
    /* width: 48%; */
  }
  .top-tabber-item--org span {
    /* padding-left: 21px; */
    background-position: left center;
    background-size: 14px;
  }
  .top-tabber-item--spec.active {
    /* width: 48%; */
  }
  .top-tabber-item--spec span {
    /* padding-left: 21px; */
    background-position: left center;
    background-size: 14px;
  }
  .top-tabber-item::after {
  
  height: 6px;
  
}
  .top-banner {
    height: 470px;
    padding-bottom: 10px;
  }
  .top-banner-item__img {
    background-position: 35% center;
  }
  .top-banner-item__text {
    font-size: 22px;
  }
  .scope {
    padding: 30px 0;
  }
  .scope__title {
    margin-bottom: 30px;
    font-size: 22px;
  }
  .scope-list {
    justify-content: center;
  }
  .scope-list-item__title {
    font-size: 18px;
    line-height: 1.2;
  }
  .scope-list-item__img {
    width: 40px;
    height: 40px;
  }
  .scope-list-item__img img {
    max-width: 100%;
    max-height: 100%;
  }
  .scope__bottom {
    font-size: 20px;
  }
  .advantages {
    margin-bottom: 30px;
    padding-top: 30px;
  }
  .advantages-list {
    row-gap: 20px;
  }
  .advantages-list-item {
    column-gap: 20px;
  }
  .advantages-list-item__icon {
    -webkit-overflow-scrolling: touch;
    width: 40px;
    height: 40px;
    overflow: hidden;
  }
  .advantages-list-item__icon img {
    max-width: 60%;
    max-height: 60%;
  }
  .advantages-list-item__info {
    row-gap: 10px;
  }
  .advantages-list-item__title {
    font-size: 18;
  }
  .advantages-list-item__desc {
    font-size: 16px;
  }
  .advantages__title {
    margin-bottom: 30px;
    font-size: 22px;
  }
  .advantages__desc {
    margin-bottom: 40px;
    font-size: 18px;
  }
  .questions {
    margin-bottom: 30px;
    padding: 25px 30px;
  }
  .questions__title {
    margin-bottom: 30px;
    font-size: 22px;
  }
  .questions-list {
    row-gap: 34px;
  }
  .questions-list-item__title {
    font-weight: bold;
    font-size: 16px;
  }
  .questions-list-item__desc {
    font-size: 16px;
  }
  .feedback {
    padding: 30px 0;
  }
  .feedback-images {
  display: flex;
  gap: 46px;
  img {
    height: 40px;
  }
}
  .feedback__title {
    margin-bottom: 30px;
    font-size: 22px;
  }
  .feedback-form__wrapper {
    row-gap: 24px;
  }
  .feedback-form-title {
    font-size: 18px;
  }
  .feedback-form__input::placeholder {
    font-size: 16px;
  }
  .feedback-form__input {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
  }
  .feedback-form__button {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
  }
  .footer-company-info-list {
    display: grid;
    grid-template-columns: 1fr ;
  }
  .modal__content {
    padding: 16px 8px;
  }
  .modal h2 {
    margin-top: 5px;
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 500;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9AY3NzdG9vbHMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiZ2xvYmFsL19mb250cy5zY3NzIiwibWFpbi5jc3MiLCJnbG9iYWwvX2Jhc2Uuc2NzcyIsIjxubyBzb3VyY2U+Iiwic2V0dGluZ3MvX3ZhcmlhYmxlcy5zY3NzIiwibGF5b3V0cy9faGVhZGVyLnNjc3MiLCJnbG9iYWwvX21peGlucy5zY3NzIiwibGF5b3V0cy9fZm9vdGVyLnNjc3MiLCJsYXlvdXRzL19tYWluLnNjc3MiLCJzZXR0aW5ncy9fbWl4aW5zLnNjc3MiLCJzZXR0aW5ncy9fZGVidWcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTsrRUFDK0U7QUFFL0U7O0VBRUU7QUFFRjtFQUNFLGlCQUFpQixFQUFFLE1BQU07QUFDM0I7QUFFQTsrRUFDK0U7QUFFL0U7OztFQUdFO0FBRUY7RUFHRSwwQkFBMEI7RUFEMUIsd0JBQXdCO0VBRHhCLGNBQWM7QUFHaEI7QUFFQTsrRUFDK0U7QUFFL0U7O0VBRUU7QUFFRjtFQUVFLHFCQUFxQjtFQURyQixtQkFBbUI7QUFFckI7QUFFQTs7O0VBR0U7QUFFRjtFQUNFLHVCQUF1QixFQUFFLE1BQU07RUFFL0IsU0FBUyxFQUFFLE1BQU07RUFEakIsY0FBYyxFQUFFLE1BQU07QUFFeEI7QUFFQTs7O0VBR0U7QUFFRjtFQUVFLGNBQWMsRUFBRSxNQUFNO0VBRHRCLGlDQUFpQyxFQUFFLE1BQU07QUFFM0M7QUFFQTsrRUFDK0U7QUFFL0U7O0VBRUU7QUFFRjtFQUNFLDBCQUEwQjtFQUMxQix5Q0FBaUM7VUFBakMsaUNBQWlDO0FBQ25DO0FBRUE7O0VBRUU7QUFFRjtFQUNFLG1CQUFtQjtBQUNyQjtBQUVBOzs7RUFHRTtBQUVGO0VBRUUsY0FBYyxFQUFFLE1BQU07RUFEdEIsaUNBQWlDLEVBQUUsTUFBTTtBQUUzQztBQUVBOztFQUVFO0FBRUY7RUFDRSxjQUFjO0FBQ2hCO0FBRUE7K0VBQytFO0FBRS9F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Q0YiLCJmaWxlIjoibWFpbi5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogRG9jdW1lbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbjp3aGVyZShodG1sKSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG59XG5cbi8qIFNlY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEVkZ2UsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGgxKSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW4tYmxvY2stZW5kOiAwLjY3ZW07XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMC42N2VtO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIG5lc3RlZCBsaXN0cyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGRsLCBvbCwgdWwpIDp3aGVyZShkbCwgb2wsIHVsKSB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guXG4gKi9cblxuOndoZXJlKGhyKSB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuOndoZXJlKHByZSkge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGFiYnJbdGl0bGVdKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46d2hlcmUoYiwgc3Ryb25nKSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG46d2hlcmUoY29kZSwga2JkLCBzYW1wKSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbjp3aGVyZShzbWFsbCkge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyogVGFidWxhciBkYXRhXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqIDIuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbjp3aGVyZSh0YWJsZSkge1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjsgLyogMSAqL1xuICB0ZXh0LWluZGVudDogMDsgLyogMiAqL1xufVxuXG4vKiBGb3Jtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBjb250cm9scyBpbiBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbjp3aGVyZShidXR0b24pIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGJ1dHRvbnMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGJ1dHRvbiwgaW5wdXQ6aXMoW3R5cGU9XCJidXR0b25cIiBpXSwgW3R5cGU9XCJyZXNldFwiIGldLCBbdHlwZT1cInN1Ym1pdFwiIGldKSkge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRWRnZSwgYW5kIEZpcmVmb3guXG4gKi9cblxuOndoZXJlKHByb2dyZXNzKSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuOndoZXJlKHNlbGVjdCkge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuOndoZXJlKHRleHRhcmVhKSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG46d2hlcmUoaW5wdXRbdHlwZT1cInNlYXJjaFwiIGldKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIHVwbG9hZCBidXR0b25zIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgb2YgZm9jdXMgb3V0bGluZXMgaW4gRmlyZWZveC5cbiAqL1xuXG46d2hlcmUoYnV0dG9uLCBpbnB1dDppcyhbdHlwZT1cImJ1dHRvblwiIGldLCBbdHlwZT1cImNvbG9yXCIgaV0sIFt0eXBlPVwicmVzZXRcIiBpXSwgW3R5cGU9XCJzdWJtaXRcIiBpXSkpOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIG91dGxpbmUgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlIGluIEZpcmVmb3guXG4gKi9cblxuOndoZXJlKGJ1dHRvbiwgaW5wdXQ6aXMoW3R5cGU9XCJidXR0b25cIiBpXSwgW3R5cGU9XCJjb2xvclwiIGldLCBbdHlwZT1cInJlc2V0XCIgaV0sIFt0eXBlPVwic3VibWl0XCIgaV0pKTo6LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIDppbnZhbGlkIHN0eWxlcyBpbiBGaXJlZm94LlxuICovXG5cbjp3aGVyZSg6LW1vei11aS1pbnZhbGlkKSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aXZlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IHN0eWxlcyBpbiBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGRpYWxvZykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBzb2xpZDtcbiAgY29sb3I6IGJsYWNrO1xuICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG46d2hlcmUoZGlhbG9nOm5vdChbb3Blbl0pKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuOndoZXJlKHN1bW1hcnkpIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZ2VvbWV0cmlhX21lZGl1bSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0uZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2dlb21ldHJpYV9tZWRpdW0vZ2VvbWV0cmlhX21lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvZ2VvbWV0cmlhX21lZGl1bS9nZW9tZXRyaWFfbWVkaXVtLnN2ZyNnZW9tZXRyaWFfbWVkaXVtJykgZm9ybWF0KCdzdmcnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2dlb21ldHJpYV9tZWRpdW0vZ2VvbWV0cmlhX21lZGl1bS5vdGYnKSBmb3JtYXQoJ290ZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZ2VvbWV0cmlhX2xpZ2h0JztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2dlb21ldHJpYV9saWdodC9nZW9tZXRyaWFfbGlnaHQuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2dlb21ldHJpYV9saWdodC9nZW9tZXRyaWFfbGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2dlb21ldHJpYV9saWdodC9nZW9tZXRyaWFfbGlnaHQuc3ZnI2dlb21ldHJpYV9saWdodCcpIGZvcm1hdCgnc3ZnJyksXG4gICAgdXJsKCcuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0Lm90ZicpIGZvcm1hdCgnb3RmJyk7XG59XG4iLCJAaW1wb3J0LW5vcm1hbGl6ZTtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZ2VvbWV0cmlhX21lZGl1bS9nZW9tZXRyaWFfbWVkaXVtLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZ2VvbWV0cmlhX21lZGl1bS9nZW9tZXRyaWFfbWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZ2VvbWV0cmlhX21lZGl1bS9nZW9tZXRyaWFfbWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0uc3ZnI2dlb21ldHJpYV9tZWRpdW1cIikgZm9ybWF0KFwic3ZnXCIpLCB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbWVkaXVtL2dlb21ldHJpYV9tZWRpdW0ub3RmXCIpIGZvcm1hdChcIm90ZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2dlb21ldHJpYV9saWdodC9nZW9tZXRyaWFfbGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9nZW9tZXRyaWFfbGlnaHQvZ2VvbWV0cmlhX2xpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZ2VvbWV0cmlhX2xpZ2h0L2dlb21ldHJpYV9saWdodC5zdmcjZ2VvbWV0cmlhX2xpZ2h0XCIpIGZvcm1hdChcInN2Z1wiKSwgdXJsKFwiLi4vZm9udHMvZ2VvbWV0cmlhX2xpZ2h0L2dlb21ldHJpYV9saWdodC5vdGZcIikgZm9ybWF0KFwib3RmXCIpO1xufVxuLyogY3JpdGljYWw6c3RhcnQgKi9cbi8qIGNyaXRpY2FsOmVuZCAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMxOTE4MTk7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9tZWRpdW1cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG59XG5cbmE6bm90KFtjbGFzc10pIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250OiBpbmhlcml0O1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5icm93c2VydXBncmFkZSB7XG4gIG1hcmdpbjogMC4yZW0gMDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDAuMmVtIDA7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi52aXN1YWxseWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY29udGFpbmVyLCAuZmVlZGJhY2tfX3dyYXBwZXIsIC5xdWVzdGlvbnMsIC5hZHZhbnRhZ2VzLCAuc2NvcGVfX3dyYXBwZXIsIC50b3AtYmFubmVyLWl0ZW1fX3dyYXBwZXIsIC50b3AtdGFiYmVyLCAuZm9vdGVyX193cmFwcGVyLCAuaGVhZGVyX193cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxNDUxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuY29udGFpbmVyLCAuZmVlZGJhY2tfX3dyYXBwZXIsIC5xdWVzdGlvbnMsIC5hZHZhbnRhZ2VzLCAuc2NvcGVfX3dyYXBwZXIsIC50b3AtYmFubmVyLWl0ZW1fX3dyYXBwZXIsIC50b3AtdGFiYmVyLCAuZm9vdGVyX193cmFwcGVyLCAuaGVhZGVyX193cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5jb250YWluZXIsIC5mZWVkYmFja19fd3JhcHBlciwgLnF1ZXN0aW9ucywgLmFkdmFudGFnZXMsIC5zY29wZV9fd3JhcHBlciwgLnRvcC1iYW5uZXItaXRlbV9fd3JhcHBlciwgLnRvcC10YWJiZXIsIC5mb290ZXJfX3dyYXBwZXIsIC5oZWFkZXJfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5jb250YWluZXIsIC5mZWVkYmFja19fd3JhcHBlciwgLnF1ZXN0aW9ucywgLmFkdmFudGFnZXMsIC5zY29wZV9fd3JhcHBlciwgLnRvcC1iYW5uZXItaXRlbV9fd3JhcHBlciwgLnRvcC10YWJiZXIsIC5mb290ZXJfX3dyYXBwZXIsIC5oZWFkZXJfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gIH1cbn1cblxuLmhlYWRlcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaGVhZGVyX19saW5lMSB7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk0YzkzZDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5oZWFkZXJfX2xpbmUxIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gIH1cbn1cbi5oZWFkZXJfX2xpbmUyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQxZDBmZjtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmhlYWRlcl9fbGluZTIge1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbi5oZWFkZXJfX2xvZ28ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IDIycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaGVhZGVyX19sb2dvIGltZyB7XG4gIHdpZHRoOiAyMTVweDtcbiAgaGVpZ2h0OiA1OHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmhlYWRlcl9fbG9nbyBpbWcge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbn1cbi5oZWFkZXJfX2xvZ28tdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9saWdodFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzE5MTgxOTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuaGVhZGVyX19sb2dvLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5oZWFkZXItY29udGFjdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAzNXB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWNvbnRhY3RzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbi5oZWFkZXItY29udGFjdHMtaXRlbSB7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9saWdodFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMTkxODE5O1xuICB0cmFuc2l0aW9uOiAwLjI1cztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAuaGVhZGVyLWNvbnRhY3RzLWl0ZW06aG92ZXIge1xuICAgIGNvbG9yOiAjOTRjOTNkO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuaGVhZGVyLWNvbnRhY3RzLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuLmhlYWRlci1jb250YWN0cy1pdGVtLS1lbWFpbCB7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2VtYWlsLXRvcC5wbmdcIikgbm8tcmVwZWF0IGxlZnQgY2VudGVyLzIxcHggMTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5oZWFkZXItY29udGFjdHMtaXRlbS0tZW1haWwge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIxcHg7XG4gIH1cbn1cbi5oZWFkZXItY29udGFjdHMtaXRlbS0tcGhvbmUge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9waG9uZS10b3AucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlci8yMHB4IDE4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuaGVhZGVyLWNvbnRhY3RzLWl0ZW0tLXBob25lIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMXB4O1xuICB9XG59XG4uaGVhZGVyLWNhYmluZXQge1xuICBtYXJnaW4tbGVmdDogODBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWNhYmluZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5oZWFkZXItY2FiaW5ldC1zdGF0dXMge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLmhlYWRlci1jYWJpbmV0LXN0YXR1cy0tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xufVxuLmhlYWRlci1jYWJpbmV0LXN0YXR1cy0tYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MWQwZmY7XG59XG4uaGVhZGVyLWNhYmluZXQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbWVkaXVtXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICMxOTE4MTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjY7XG4gIHBhZGRpbmctdG9wOiAxMTRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuLmZvb3Rlci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiA1MHB4O1xuICBtYXJnaW4tbGVmdDogNzRweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHJvdy1nYXA6IDIwcHg7XG4gICAgb3JkZXI6IDM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbi5mb290ZXItbmF2LWl0ZW0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9tZWRpdW1cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogMC4yNXM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgLmZvb3Rlci1uYXYtaXRlbTpob3ZlciB7XG4gICAgY29sb3I6ICM5NGM5M2Q7XG4gIH1cbn1cbi5mb290ZXItc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sdW1uLWdhcDogNDJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmZvb3Rlci1zb2NpYWwge1xuICAgIGNvbHVtbi1nYXA6IDE1cHg7XG4gIH1cbn1cbi5mb290ZXItc29jaWFsLWl0ZW0ge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmZvb3Rlci1zb2NpYWwtaXRlbSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICB9XG59XG4uZm9vdGVyLXNvY2lhbC1pdGVtIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLmZvb3Rlci1zb2NpYWwtaXRlbTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDE3JTtcbiAgYm90dG9tOiAxNyU7XG4gIHJpZ2h0OiAxNyU7XG4gIGxlZnQ6IDE3JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5mb290ZXJfX2xpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzN3B4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmZvb3Rlcl9fbGluZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICB9XG59XG4uZm9vdGVyX19ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAxMzZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IDc1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICByb3ctZ2FwOiAyMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuLmZvb3Rlcl9fYm90dG9tLXNlcnZpY2Uge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiAwLjI1cztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAuZm9vdGVyX19ib3R0b20tc2VydmljZTpob3ZlciB7XG4gICAgY29sb3I6ICM5NGM5M2Q7XG4gIH1cbn1cbi5mb290ZXJfX2JvdHRvbS1zZXJ2aWNlLS1hZ3JlIHtcbiAgbWFyZ2luLWxlZnQ6IDY1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlcl9fYm90dG9tLXNlcnZpY2UtLWFncmUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4uZm9vdGVyX19ib3R0b20tc2VydmljZS0tdGVjaCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbWVkaXVtXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlcl9fYm90dG9tLXNlcnZpY2UtLXRlY2gge1xuICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgfVxufVxuLmZvb3Rlcl9fdG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuZm9vdGVyX190b3Age1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5mb290ZXJfX3RvcCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG4uZm9vdGVyLWxvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiA5cHg7XG59XG4uZm9vdGVyLWxvZ28gaW1nIHtcbiAgd2lkdGg6IDIxNXB4O1xuICBoZWlnaHQ6IDQycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmZvb3Rlci1sb2dvIGltZyB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxufVxuLmZvb3Rlci1sb2dvX19saW5lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogN3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xufVxuXG4udG9wLXRhYmJlciB7XG4gIHBhZGRpbmctdG9wOiAxMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnRvcC10YWJiZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG4udG9wLXRhYmJlci1pdGVtIHtcbiAgY29sb3I6ICMxOTE4MTk7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9tZWRpdW1cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxNHM7XG4gIHRyYW5zaXRpb246IHdpZHRoIDEuM3M7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAudG9wLXRhYmJlci1pdGVtIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC50b3AtdGFiYmVyLWl0ZW0ge1xuICAgIHdpZHRoOiA0OCU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbn1cbi50b3AtdGFiYmVyLWl0ZW0uYWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IDAuMjVzO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnRvcC10YWJiZXItaXRlbS5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG4udG9wLXRhYmJlci1pdGVtIHNwYW4ge1xuICBvcGFjaXR5OiAwLjY7XG59XG4udG9wLXRhYmJlci1pdGVtOjphZnRlciwgLnRvcC10YWJiZXItaXRlbTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnRvcC10YWJiZXItaXRlbTo6YWZ0ZXIge1xuICBoZWlnaHQ6IDlweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGxlZnQ6IDA7XG59XG4udG9wLXRhYmJlci1pdGVtOjpiZWZvcmUge1xuICBoZWlnaHQ6IDlweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAzMHB4IDEwcHggMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAudG9wLXRhYmJlci1pdGVtLS1vcmcuYW5pbWF0ZTo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogd2lkdGgyIDJzIGVhc2U7XG4gIH1cbn1cbi50b3AtdGFiYmVyLWl0ZW0tLW9yZy5hY3RpdmUge1xuICB3aWR0aDogMjY1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAudG9wLXRhYmJlci1pdGVtLS1vcmcuYWN0aXZlIHtcbiAgICB3aWR0aDogNDglO1xuICB9XG59XG4udG9wLXRhYmJlci1pdGVtLS1vcmcgc3BhbiB7XG4gIHBhZGRpbmctbGVmdDogMzhweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL29yZy5zdmdcIikgbm8tcmVwZWF0IGxlZnQgMC8yM3B4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnRvcC10YWJiZXItaXRlbS0tb3JnIHNwYW4ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6IDIxcHg7XG4gIH1cbn1cbi50b3AtdGFiYmVyLWl0ZW0tLW9yZzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIC50b3AtdGFiYmVyLWl0ZW0tLXNwZWMuYW5pbWF0ZTo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogd2lkdGgyIDJzIGVhc2U7XG4gIH1cbn1cbi50b3AtdGFiYmVyLWl0ZW0tLXNwZWMuYWN0aXZlIHtcbiAgd2lkdGg6IDMwMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnRvcC10YWJiZXItaXRlbS0tc3BlYy5hY3RpdmUge1xuICAgIHdpZHRoOiA0OCU7XG4gIH1cbn1cbi50b3AtdGFiYmVyLWl0ZW0tLXNwZWMgc3BhbiB7XG4gIHBhZGRpbmctbGVmdDogMzNweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL3NwZWNpYWxpc3Quc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IDAvMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC50b3AtdGFiYmVyLWl0ZW0tLXNwZWMgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMjFweDtcbiAgfVxufVxuLnRvcC10YWJiZXItaXRlbS0tc3BlYzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFkMGZmO1xufVxuLnRvcC10YWJiZXItaXRlbS5hY3RpdmUgc3BhbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBrZXlmcmFtZXMgd2lkdGgxIHtcbiAgMCUge1xuICAgIHdpZHRoOiAyMjJweDtcbiAgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMjY1cHg7XG4gIH1cbn1cbkBrZXlmcmFtZXMgd2lkdGgyIHtcbiAgMCUge1xuICAgIHdpZHRoOiAyMjBweDtcbiAgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbn1cbkBrZXlmcmFtZXMgb3BhY2l0eTEge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgdHJhbnNmb3JtMSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRyYW5zZm9ybTIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7XG4gIH1cbn1cbi50b3AtYmFubmVyIHtcbiAgaGVpZ2h0OiA1MjdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnRvcC1iYW5uZXIge1xuICAgIGhlaWdodDogMjcwcHg7XG4gIH1cbn1cbi50b3AtYmFubmVyLWl0ZW0ge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4udG9wLWJhbm5lci1pdGVtLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udG9wLWJhbm5lci1pdGVtX193cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRvcC1iYW5uZXItaXRlbV9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgei1pbmRleDogLTE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAudG9wLWJhbm5lci1pdGVtX19pbWcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDM1JSBjZW50ZXI7XG4gIH1cbn1cbi50b3AtYmFubmVyLWl0ZW1fX3RleHQge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbWVkaXVtXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICMwMDA7XG4gIG1heC13aWR0aDogNTgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAudG9wLWJhbm5lci1pdGVtX190ZXh0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cbi50b3AtYmFubmVyLWl0ZW0tLXNwZWMgLnRvcC1iYW5uZXItaXRlbV9fdGV4dCB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXgtd2lkdGg6IDQzNnB4O1xufVxuXG4uc2NvcGUge1xuICBwYWRkaW5nOiAxMjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmY2O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5zY29wZSB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuc2NvcGUge1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxufVxuLnNjb3BlX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9tZWRpdW1cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzAwMDtcbiAgbWF4LXdpZHRoOiA5NzVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5zY29wZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5zY29wZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG4uc2NvcGUtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcm93LWdhcDogNTBweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTEwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNjb3BlLWxpc3Qge1xuICAgIHJvdy1nYXA6IDIwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG4gIC5zY29wZS1saXN0IGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuc2NvcGUtbGlzdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbi5zY29wZS1saXN0X19jb2wge1xuICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiA1MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5zY29wZS1saXN0X19jb2wge1xuICAgIHJvdy1nYXA6IDIwcHg7XG4gIH1cbn1cbi5zY29wZS1saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAyMnB4O1xufVxuLnNjb3BlLWxpc3QtaXRlbV9fdGl0bGUge1xuICBjb2xvcjogIzE5MTgxOTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgZm9udC1mYW1pbHk6IFwiZ2VvbWV0cmlhX21lZGl1bVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnNjb3BlLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG59XG4uc2NvcGUtbGlzdC1pdGVtX19pbWcge1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5zY29wZS1saXN0LWl0ZW1fX2ltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG4gIC5zY29wZS1saXN0LWl0ZW1fX2ltZyBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4uc2NvcGVfX2JvdHRvbSB7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9tZWRpdW1cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzE5MTgxOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnNjb3BlX19ib3R0b20ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuXG4uYWR2YW50YWdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IDEzN3B4O1xuICBtYXJnaW4tYm90dG9tOiAxMjhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuYWR2YW50YWdlcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmFkdmFudGFnZXMge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzX19yaWdodCB7XG4gIG1heC13aWR0aDogODEycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5hZHZhbnRhZ2VzX19yaWdodCB7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5hZHZhbnRhZ2VzX19yaWdodCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4uYWR2YW50YWdlcy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogNTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5hZHZhbnRhZ2VzLWxpc3Qge1xuICAgIHJvdy1nYXA6IDIwcHg7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzLWxpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IDQycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuYWR2YW50YWdlcy1saXN0LWl0ZW0ge1xuICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzLWxpc3QtaXRlbV9faWNvbiB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZjY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmFkdmFudGFnZXMtbGlzdC1pdGVtX19pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAuYWR2YW50YWdlcy1saXN0LWl0ZW1fX2ljb24gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICBtYXgtaGVpZ2h0OiA2MCU7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzLWxpc3QtaXRlbV9faW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHJvdy1nYXA6IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuYWR2YW50YWdlcy1saXN0LWl0ZW1fX2luZm8ge1xuICAgIHJvdy1nYXA6IDEwcHg7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzLWxpc3QtaXRlbV9fdGl0bGUge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbWVkaXVtXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICM5NGM5M2Q7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuYWR2YW50YWdlcy1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5hZHZhbnRhZ2VzLWxpc3QtaXRlbV9fZGVzYyB7XG4gIGNvbG9yOiAjMTkxODE5O1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbWVkaXVtXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5hZHZhbnRhZ2VzLWxpc3QtaXRlbV9fZGVzYyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG4uYWR2YW50YWdlc19fdGl0bGUge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbWVkaXVtXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICMxOTE4MTk7XG4gIG1hcmdpbi1ib3R0b206IDU2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmFkdmFudGFnZXNfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmFkdmFudGFnZXNfX3RpdGxlIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuYWR2YW50YWdlc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG4uYWR2YW50YWdlc19fZGVzYyB7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9tZWRpdW1cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzE5MTgxOTtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuYWR2YW50YWdlc19fZGVzYyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuYWR2YW50YWdlc19fZGVzYyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLnF1ZXN0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDEyNnB4O1xuICBwYWRkaW5nOiA3NXB4IDAgMTE1cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMzNzM3MzggMCUsICMxMjEyMTMgNjglKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAucXVlc3Rpb25zIHtcbiAgICBwYWRkaW5nOiA1NXB4IDU1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLnF1ZXN0aW9ucyB7XG4gICAgcGFkZGluZzogMjVweCAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbi5xdWVzdGlvbnNfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiZ2VvbWV0cmlhX21lZGl1bVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjOTRjOTNkO1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnF1ZXN0aW9uc19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5xdWVzdGlvbnNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLnF1ZXN0aW9ucy1saXN0IHtcbiAgcm93LWdhcDogNzdweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAucXVlc3Rpb25zLWxpc3Qge1xuICAgIHJvdy1nYXA6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5xdWVzdGlvbnMtbGlzdCB7XG4gICAgcm93LWdhcDogMzRweDtcbiAgfVxufVxuLnF1ZXN0aW9ucy1saXN0LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDU1NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogMTRweDtcbiAgY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnF1ZXN0aW9ucy1saXN0LWl0ZW0ge1xuICAgIHJvdy1nYXA6IDhweDtcbiAgfVxufVxuLnF1ZXN0aW9ucy1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiZ2VvbWV0cmlhX21lZGl1bVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAucXVlc3Rpb25zLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuLnF1ZXN0aW9ucy1saXN0LWl0ZW1fX2Rlc2Mge1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXgtd2lkdGg6IDU1NXB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5xdWVzdGlvbnMtbGlzdC1pdGVtX19kZXNjIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuLmZlZWRiYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcbiAgcGFkZGluZzogMTAzcHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuZmVlZGJhY2sge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmZlZWRiYWNrIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gIH1cbn1cbi5mZWVkYmFja19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmZlZWRiYWNrX193cmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4uZmVlZGJhY2tfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiZ2VvbWV0cmlhX21lZGl1bVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDQycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjMjUyNTI2O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5mZWVkYmFja19fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIC5mZWVkYmFja19fdGl0bGUgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5mZWVkYmFja19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG4uZmVlZGJhY2stZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAxMjZweDtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiAyOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5mZWVkYmFjay1mb3JtIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICByb3ctZ2FwOiA2MHB4O1xuICB9XG59XG4uZmVlZGJhY2stZm9ybV9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IDc2cHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuZmVlZGJhY2stZm9ybV9fd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHJvdy1nYXA6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gIC5mZWVkYmFjay1mb3JtX193cmFwcGVyIHtcbiAgICByb3ctZ2FwOiAyNHB4O1xuICB9XG59XG4uZmVlZGJhY2stZm9ybS10aXRsZSB7XG4gIGNvbG9yOiAjMjUyNTI2O1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5mZWVkYmFjay1mb3JtLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmZlZWRiYWNrLWZvcm0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLmZlZWRiYWNrLWZvcm1fX2lucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzE5MTgxOTtcbiAgZm9udC1mYW1pbHk6IFwiZ2VvbWV0cmlhX2xpZ2h0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICMxOTE4MTk7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBvdXRsaW5lOiBub25lO1xufVxuLmZlZWRiYWNrLWZvcm1fX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIGZvbnQtZmFtaWx5OiBcImdlb21ldHJpYV9saWdodFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjMjUyNTI2O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmZlZWRiYWNrLWZvcm1fX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAuZmVlZGJhY2stZm9ybV9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5mZWVkYmFjay1mb3JtX19idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogNTNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJnZW9tZXRyaWFfbGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICMyNTI1MjY7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiAwLjI1cztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAuZmVlZGJhY2stZm9ybV9fYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5mZWVkYmFjay1mb3JtX19idXR0b246aG92ZXIgc3Bhbjo6YWZ0ZXIge1xuICAgIGZpbHRlcjogdW5zZXQ7XG4gIH1cbn1cbi5mZWVkYmFjay1mb3JtX19idXR0b24gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mZWVkYmFjay1mb3JtX19idXR0b24gc3Bhbjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGNvbnRyYXN0KDAuNSk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IC0zMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9jaGVjay5wbmdcIikgbm8tcmVwZWF0IGNlbnRlci9jb250YWluO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5mZWVkYmFjay1mb3JtX19idXR0b24ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgLmZlZWRiYWNrLWZvcm1fX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5pbWc6bm90KFthbHRdKSxcbmxhYmVsOm5vdChbZm9yXSksXG5pbnB1dFt0eXBlPXN1Ym1pdF06bm90KFt2YWx1ZV0pIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHJlZDtcbn1cblxudWwgPiAqOm5vdChsaSksXG5vbCA+ICo6bm90KGxpKSxcbmRsID4gKjpub3QoZHQpOm5vdChkZCkge1xuICBvdXRsaW5lOiAycHggc29saWQgcmVkO1xufSIsIi8qIGNyaXRpY2FsOnN0YXJ0ICovXG4vLyBCYXNlIHN0eWxlc1xuLy8gQm94LXNpemluZyBkZWZhdWx0c1xuLyogY3JpdGljYWw6ZW5kICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogJGJsYWNrO1xuICBmb250LWZhbWlseTogJ2dlb21ldHJpYV9tZWRpdW0nLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbn1cblxuLy8gQSBiZXR0ZXIgbG9va2luZyBkZWZhdWx0IGxpbmtzIGRlY29yYXRpb25cbmE6bm90KFtjbGFzc10pIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuXG4vLyBSZW1vdmUgdGV4dC1zaGFkb3cgaW4gc2VsZWN0aW9uIGhpZ2hsaWdodC4gQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIG1hdGNoIHlvdXIgZGVzaWduLlxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gQSBiZXR0ZXIgbG9va2luZyBkZWZhdWx0IGhvcml6b250YWwgcnVsZVxuaHIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcywgaW1hZ2VzLCB2aWRlb3MgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVyc1xuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIEluaGVyaXQgZm9udCBmb3IgaW5wdXRzXG5pbnB1dCxcbmJ1dHRvbixcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIGRlZmF1bHQgZmllbGRzZXQgc3R5bGVzLlxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8vIFJlc2V0IGFsbCBDU1MgYW5pbWF0aW9uIGZvciB1c2VyLCB3aG8gcHJlZmVyIGxlc3MgYW5pbWF0aW9uIGluIGJyb3dzZXJzXG4vLyBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuLy8gICAqIHtcbi8vICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuLy8gICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbi8vICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbi8vICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbi8vICAgfVxuLy8gfVxuXG4vLyBTb21lIGhlbHBlciBjbGFzc2VzXG4vLyBPbGQgSUUgbWVzc2FnZSBibG9ja1xuLmJyb3dzZXJ1cGdyYWRlIHtcbiAgbWFyZ2luOiAwLjJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMC4yZW0gMDtcbn1cblxuLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4udmlzdWFsbHloaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTQ1MXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgbWF4LXdpZHRoOiAxMDI0cHg7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gIH1cbn1cbiIsbnVsbCwiLy8gQ29sb3JzIHZhcmlhYmxlc1xuJGNvbG9yLXdoaXRlOiAjZmZmO1xuJGNvbG9yLWJsYWNrOiAjMDAwO1xuJGJsYWNrOiAjMTkxODE5O1xuJGJsYWNrMjogIzEyMTExMjtcblxuJG1lZGlhLWRlc2t0b3A6IDE2MDBweDtcbiRtZWRpYS10YWJsZXQ6IDEyMDBweDtcbiRtZWRpYS1tb2JpbGU6IDYyMHB4O1xuLy8gQmFzZSBmb250IHNpemVcbiRiYXNlLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludHMgZm9yIGluY2x1ZGUtbWVkaWEgbWl4aW5zXG4kYnJlYWtwb2ludHM6IChcbiAgcGhvbmVTbWFsbDogMzc1cHgsXG4gIHBob25lUmVnOiA0MTRweCxcbiAgdGFibGV0U21hbGw6IDc2OHB4LFxuICB0YWJsZXRNaWQ6IDgwMHB4LFxuICB0YWJsZXRSZWc6IDEwMjRweCxcbiAgZGVza3RvcFNtYWxsOiAxMjgwcHgsXG4gIGRlc2t0b3BNaWQ6IDEzNjZweCxcbiAgZGVza3RvcFJlZzogMTQ0MHB4LFxuICBkZXNrdG9wQmlnOiAxNjAwcHgsXG4gIGRlc2t0b3BMYXJnZTogMTkyMHB4LFxuKTtcbiIsIi8vIEhlYWRlciBzdHlsZXMgYmduXG5cbi8vIEhlYWRlciBzdHlsZXMgZW5kXG4uaGVhZGVyIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAmX19saW5lIHtcbiAgICAmMSB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICYyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWQwZmY7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MnB4O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fbG9nbyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sdW1uLWdhcDogMjJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMjE1cHg7XG4gICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLXRleHQge1xuICAgICAgQGluY2x1ZGUgZ2w7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtY29udGFjdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sdW1uLWdhcDogMzVweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS10YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICByb3ctZ2FwOiAxMHB4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGdsO1xuICAgICAgQGluY2x1ZGUgZnooMjAsIDEuMik7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICgkbWVkaWEtdGFibGV0ICsgMSkpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM5NGM5M2Q7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgICAgJi0tZW1haWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2VtYWlsLXRvcC5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXIgLyAyMXB4IDE1cHg7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS1waG9uZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvcGhvbmUtdG9wLnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlciAvIDIwcHggMThweDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1jYWJpbmV0IHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sdW1uLWdhcDogMTVweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmLXN0YXR1cyB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgJi0tZ3JlZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xuICAgICAgfVxuICAgICAgJi0tYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWQwZmY7XG4gICAgICB9XG4gICAgfVxuICAgICYtdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZ207XG4gICAgICBAaW5jbHVkZSBmeigyMCwgMS4yKTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZ20oKSB7XG4gIGZvbnQtZmFtaWx5OiAnZ2VvbWV0cmlhX21lZGl1bScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5AbWl4aW4gZ2woKSB7XG4gIGZvbnQtZmFtaWx5OiAnZ2VvbWV0cmlhX2xpZ2h0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuQG1peGluIGZ6KCRzaXplLCAkbGgsICR3ZWlnaHQ6IDApIHtcbiAgZm9udC1zaXplOiAjeyRzaXplfXB4O1xuICBsaW5lLWhlaWdodDogI3skbGh9O1xuXG4gIEBpZiAkd2VpZ2h0ID4gMCB7XG4gICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIH1cbn1cbiIsIi5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyNTI2O1xuICBwYWRkaW5nLXRvcDogMTE0cHg7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbiAgJi1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sdW1uLWdhcDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNzRweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICByb3ctZ2FwOiAyMHB4O1xuICAgICAgb3JkZXI6IDM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYtaXRlbSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIEBpbmNsdWRlIGZ6KDIwLCAxLjIpO1xuICAgICAgQGluY2x1ZGUgZ207XG4gICAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICgkbWVkaWEtdGFibGV0ICsgMSkpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM5NGM5M2Q7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1zb2NpYWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sdW1uLWdhcDogNDJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgICBjb2x1bW4tZ2FwOiAxNXB4O1xuICAgIH1cbiAgICAmLWl0ZW0ge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtZGVza3RvcCkge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDE3JTtcbiAgICAgICAgYm90dG9tOiAxNyU7XG4gICAgICAgIHJpZ2h0OiAxNyU7XG4gICAgICAgIGxlZnQ6IDE3JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk0YzkzZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuICAmX193cmFwcGVyIHtcbiAgICBAZXh0ZW5kIC5jb250YWluZXI7XG4gIH1cbiAgJl9fYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxMzZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS10YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICByb3ctZ2FwOiAyMHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICB9XG4gICAgJi1zZXJ2aWNlIHtcbiAgICAgIEBpbmNsdWRlIGdsO1xuICAgICAgQGluY2x1ZGUgZnooMTYsIDEuMik7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogKCRtZWRpYS10YWJsZXQgKyAxKSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzk0YzkzZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tYWdyZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2NXB4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLXRlY2gge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgZ207XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS10YWJsZXQpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWRlc2t0b3ApIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWRlc2t0b3ApIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cbiAgJi1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcm93LWdhcDogOXB4O1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMjE1cHg7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtZGVza3RvcCkge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fbGluZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk0YzkzZDtcbiAgICB9XG4gIH1cbn1cbiIsIi50b3AtdGFiYmVyIHtcbiAgQGV4dGVuZCAuY29udGFpbmVyO1xuICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG4gICYtaXRlbSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBAaW5jbHVkZSBnbTtcbiAgICBAaW5jbHVkZSBmeigyMCwgMS4yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDM2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE0cztcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAxLjNzO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICB3aWR0aDogNDglO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXM7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMzBweCAxMHB4IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgICYtLW9yZyB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAoJG1lZGlhLXRhYmxldCArIDEpKSB7XG4gICAgICAgICYuYW5pbWF0ZSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiB3aWR0aDIgMnMgZWFzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgd2lkdGg6IDI2NXB4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaWNvbnMvb3JnLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IDAgLyAyM3B4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTRjOTNkO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1zcGVjIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICgkbWVkaWEtdGFibGV0ICsgMSkpIHtcbiAgICAgICAgJi5hbmltYXRlIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBhbmltYXRpb246IHdpZHRoMiAycyBlYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9zcGVjaWFsaXN0LnN2ZycpIG5vLXJlcGVhdCBsZWZ0IDAgLyAxNnB4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFkMGZmO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3aWR0aDEge1xuICAwJSB7XG4gICAgd2lkdGg6IDIyMnB4O1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyNjVweDtcbiAgfVxufVxuQGtleWZyYW1lcyB3aWR0aDIge1xuICAwJSB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wYWNpdHkxIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdHJhbnNmb3JtMSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdHJhbnNmb3JtMiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcbiAgfVxufVxuXG4udG9wLWJhbm5lciB7XG4gIGhlaWdodDogNTI3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgIGhlaWdodDogMjcwcHg7XG4gIH1cbiAgJi1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgJl9faW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgIC8vIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzUlIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnbTtcbiAgICAgIEBpbmNsdWRlIGZ6KDMyLCAxLjIpO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXNwZWMge1xuICAgICAgLnRvcC1iYW5uZXItaXRlbV9fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXgtd2lkdGg6IDQzNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2NvcGUge1xuICBwYWRkaW5nOiAxMjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmY2O1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gIH1cbiAgJl9fd3JhcHBlciB7XG4gICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnbTtcbiAgICBAaW5jbHVkZSBmeigzMiwgMS4yKTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXgtd2lkdGg6IDk3NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDExMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuICAmLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgcm93LWdhcDogNTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLy8gbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMTEwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgICAgcm93LWdhcDogMjBweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBiciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fY29sIHtcbiAgICAgIC8vIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHJvdy1nYXA6IDUwcHg7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICAgIHJvdy1nYXA6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogOTJweDtcbiAgICAgIGNvbHVtbi1nYXA6IDIycHg7XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgQGluY2x1ZGUgZ207XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgICAgICBAaW5jbHVkZSBmeigxNiwgMS4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9faW1nIHtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gdG9wOiAwO1xuICAgICAgICAvLyBib3R0b206IDA7XG4gICAgICAgIC8vIGxlZnQ6IDA7XG4gICAgICAgIC8vIG1hcmdpbjogYXV0bztcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fYm90dG9tIHtcbiAgICBAaW5jbHVkZSBnbTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG59XG5cbi5hZHZhbnRhZ2VzIHtcbiAgQGV4dGVuZCAuY29udGFpbmVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctdG9wOiAxMzdweDtcbiAgbWFyZ2luLWJvdHRvbTogMTI4cHg7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS10YWJsZXQpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gICZfX3JpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IDgxMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICYtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IDU1cHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgcm93LWdhcDogMjBweDtcbiAgICB9XG4gICAgJi1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBjb2x1bW4tZ2FwOiA0MnB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgICAgY29sdW1uLWdhcDogMjBweDtcbiAgICAgIH1cbiAgICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmY2O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2luZm8ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICByb3ctZ2FwOiAyMHB4O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgICAgcm93LWdhcDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBnbTtcbiAgICAgICAgQGluY2x1ZGUgZnooMzAsIDEuMik7XG4gICAgICAgIGNvbG9yOiAjOTRjOTNkO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19kZXNjIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgQGluY2x1ZGUgZ207XG4gICAgICAgIEBpbmNsdWRlIGZ6KDIwLCAxLjIpO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2xlZnQge1xuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnbTtcbiAgICBAaW5jbHVkZSBmeig0NCwgMS4yKTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuICAmX19kZXNjIHtcbiAgICBAaW5jbHVkZSBnbTtcbiAgICBAaW5jbHVkZSBmeigyMCwgMS4yKTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cbn1cblxuLnF1ZXN0aW9ucyB7XG4gIEBleHRlbmQgLmNvbnRhaW5lcjtcbiAgbWFyZ2luLWJvdHRvbTogMTI2cHg7XG4gIHBhZGRpbmc6IDc1cHggMCAxMTVweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzM3MzczOCAwJSwgIzEyMTIxMyA2OCUpO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgcGFkZGluZzogNTVweCA1NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDI1cHggMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnbTtcbiAgICBAaW5jbHVkZSBmeigzMiwgMS4yKTtcbiAgICBjb2xvcjogIzk0YzkzZDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuICAmLWxpc3Qge1xuICAgIHJvdy1nYXA6IDc3cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLy8gbWFyZ2luOiAwIGF1dG87XG4gICAgLy8gbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgLy8gY29sdW1uLWdhcDogMTMwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgICAgcm93LWdhcDogNDBweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgcm93LWdhcDogMzRweDtcbiAgICB9XG4gICAgJi1pdGVtIHtcbiAgICAgIG1heC13aWR0aDogNTU1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcm93LWdhcDogMTRweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgICAgICByb3ctZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGdtO1xuICAgICAgICBAaW5jbHVkZSBmeigyMiwgMS4yKTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fZGVzYyB7XG4gICAgICAgIEBpbmNsdWRlIGdsO1xuICAgICAgICBAaW5jbHVkZSBmeigxOCwgMS4yKTtcbiAgICAgICAgbWF4LXdpZHRoOiA1NTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZlZWRiYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcbiAgcGFkZGluZzogMTAzcHggMDtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG4gICZfX3dyYXBwZXIge1xuICAgIEBleHRlbmQgLmNvbnRhaW5lcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ207XG4gICAgQGluY2x1ZGUgZnooNDIsIDEuMik7XG4gICAgY29sb3I6ICMyNTI1MjY7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWRlc2t0b3ApIHtcbiAgICAgIGJyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1tb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG4gICYtZm9ybSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyNnB4O1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICByb3ctZ2FwOiAyOHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHJvdy1nYXA6IDYwcHg7XG4gICAgfVxuICAgICZfX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGNvbHVtbi1nYXA6IDc2cHg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtZGVza3RvcCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICByb3ctZ2FwOiA0MHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICByb3ctZ2FwOiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMjUyNTI2O1xuICAgICAgQGluY2x1ZGUgZ2w7XG4gICAgICBAaW5jbHVkZSBmeigyMiwgMS4yKTtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1kZXNrdG9wKSB7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9faW5wdXQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgQGluY2x1ZGUgZ2w7XG4gICAgICBAaW5jbHVkZSBmeigyMiwgMS4yKTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBnbDtcbiAgICAgICAgQGluY2x1ZGUgZnooMjIsIDEuMik7XG4gICAgICAgIGNvbG9yOiAjMjUyNTI2O1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIHJlc2V0YnV0dG9uO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgQGluY2x1ZGUgZ2w7XG4gICAgICBjb2xvcjogIzI1MjUyNjtcbiAgICAgIEBpbmNsdWRlIGZ6KDIyLCAxLjIpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgdHJhbnNpdGlvbjogMC4yNXM7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAoJG1lZGlhLXRhYmxldCArIDEpKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5NGM5M2Q7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGZpbHRlcjogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZmlsdGVyOiBjb250cmFzdCgwLjUpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pY29ucy9jaGVjay5wbmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWRlc2t0b3ApIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgTG9ja1xuLy8gJG1pbi1zaXplOiBtaW5pbXVtIGVsZW1lbnQgJHByb3BlcnR5IHNpemUgaW4gJHVuaXQgc3BlY2lmaWVkXG4vLyAkbWF4LXNpemU6IG1heGltdW0gZWxlbWVudCAkcHJvcGVydHkgc2l6ZSBpbiAkdW5pdCBzcGVjaWZpZWRcbi8vICRtaW4td2lkdGg6IHRoZSBzY3JlZW4gd2lkdGggaW4gJHVuaXRzIHdoZXJlIHlvdSB3YW50IHRvIGxvY2sgaW4gdGhlICRtaW4tc2l6ZVxuLy8gJG1heC13aWR0aDogdGhlIHNjcmVlbiB3aWR0aCBpbiAkdW5pdHMgd2hlcmUgeW91IHdhbnQgdG8gbG9jayBpbiB0aGUgJG1heC1zaXplXG4vLyAkcHJvcGVydHk6IHRoZSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIHNjYWxlL2xvY2tcbi8vICR1bml0OiB0aGUgdW5pdHMgd2hpY2ggYWxsIG1lYXN1cmVtZW50cyBhcmUgdGFrZW4gaW5cbkBtaXhpbiBjc3MtbG9jayhcbiAgJG1pbi1zaXplOiAxLFxuICAkbWF4LXNpemU6IDEuNCxcbiAgJG1pbi13aWR0aDogMjAsXG4gICRtYXgtd2lkdGg6IDEwMCxcbiAgJHByb3BlcnR5OiBmb250LXNpemUsXG4gICR1bml0OiByZW1cbikge1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoXG4gICAgI3skbWluLXNpemV9I3skdW5pdH0gKyAoI3skbWF4LXNpemV9IC0gI3skbWluLXNpemV9KSAqICgoMTAwdncgLSAjeyRtaW4td2lkdGh9I3skdW5pdH0pIC9cbiAgICAgICAgICAoI3skbWF4LXdpZHRofSAtICN7JG1pbi13aWR0aH0pKVxuICApO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtaW4td2lkdGh9I3skdW5pdH0pIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JG1pbi1zaXplfSN7JHVuaXR9O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JG1heC13aWR0aH0jeyR1bml0fSkge1xuICAgICN7JHByb3BlcnR5fTogI3skbWF4LXNpemV9I3skdW5pdH07XG4gIH1cbn1cblxuLy8gc21vb3RoIGZvbnRcbkBtaXhpbiBzbW9vdGgtZm9udCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyB2ZXJ0aWNhbC1hbGlnbiBhdCBjZW50ZXJcbkBtaXhpbiB2Y2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8gY2VudGVyXG5AbWl4aW4gY2VudGVyKCRheGlzKSB7XG4gIEBpZiAkYXhpcyA9PSBib3RoIHtcbiAgICBAaW5jbHVkZSB2Y2VudGVyO1xuICB9IEBlbHNlIGlmICRheGlzID09IGgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9IEBlbHNlIGlmICRheGlzID09IHYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLy8gY2xlYXJmaXhcbkBtaXhpbiBjbHIge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyB0cmFuc2l0aW9uXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydHk6IGFsbCwgJGR1cmF0aW9uOiAwLjJzLCAkZWFzaW5nOiBlYXNlKSB7XG4gIHRyYW5zaXRpb246ICRwcm9wZXJ0eSAkZHVyYXRpb24gJGVhc2luZztcbn1cblxuLy8gaW1hZ2VzXG5AbWl4aW4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY292ZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xufVxuXG4vLyBwZXJmb3JtYW5jZVxuQG1peGluIGdwdSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8vIG9sPmxpIGNvdW50ZXJcbkBtaXhpbiBjb3VudGVyKCR2YXIsICRzZXApIHtcbiAgY291bnRlci1yZXNldDogbGlzdCArICR2YXI7XG4gIGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihsaXN0ICsgJHZhcikgJHNlcDtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdCArICR2YXI7XG4gIH1cbn1cblxuLy8gcmVzZXQgYnV0dG9uc1xuQG1peGluIHJlc2V0YnV0dG9uKCRwYWRkaW5nOiAwKSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8vIHJlc2V0IGZpcnN0LWNoaWxkL2xhc3QtY2hpbGQgbWFyZ2luc1xuQG1peGluIG1hcmdpbmNoaWxkcmVzZXQge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBwYWRkaW5ncyBmb3IgY29uYXRpbmVyc1xuQG1peGluIGNvbnRhaW5lci1wYWQge1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldFNtYWxsJywgJzx0YWJsZXRSZWcnKSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1OHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDU4cHg7XG4gIH1cbn1cblxuLy8gbGltaXQgd2lkdGggZm9yIGNvbnRhaW5lcnNcbkBtaXhpbiBjb250YWluZXItbGltKCR3aWR0aDogMTIxMnB4LCAkbWVkaWE6ICc+PXRhYmxldFJlZycpIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhKSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBoaWdobGlnaHQgdGFncyB3aXRob3V0IG5lY2Vzc2FyeSBhdHRyaWJ1dGVzXG5pbWc6bm90KFthbHRdKSxcbmxhYmVsOm5vdChbZm9yXSksXG5pbnB1dFt0eXBlPSdzdWJtaXQnXTpub3QoW3ZhbHVlXSkge1xuICBvdXRsaW5lOiAycHggc29saWQgcmVkO1xufVxuXG4vLyBhbGFybSBpZiB0aGUgZmlyc3QgY2hpbGQgaW5zaWRlIHRoZSBsaXN0IGlzIG5vdCBsaSBhbmQgb3RoZXIgc2ltaWxhciBleGFtcGxlc1xudWwgPiAqOm5vdChsaSksXG5vbCA+ICo6bm90KGxpKSxcbmRsID4gKjpub3QoZHQpOm5vdChkZCkge1xuICBvdXRsaW5lOiAycHggc29saWQgcmVkO1xufVxuIl19 */
