/* ===== Reset ===== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  color: #4d4d4d;
  background-color: #ffffff;
  overflow-x: hidden;
}

h1,
h2,
h3 {
  font-family: "Poppins", sans-serif;
}

img,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
  color: inherit;
  border: none;
  background: none;
}

button {
  cursor: pointer;
}

ul,
ol {
  list-style: none;
}

/* ===== Scrollbar ===== */
html {
  scrollbar-width: thin;
  scrollbar-color: #7f00ff #f3e8ff;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #f3e8ff;
}

::-webkit-scrollbar-thumb {
  background: -webkit-gradient(linear, left top, left bottom, from(#7f00ff), to(#a54dff));
  background: linear-gradient(180deg, #7f00ff 0%, #a54dff 100%);
  border-radius: 8px;
  border: 2px solid #f3e8ff;
}

::-webkit-scrollbar-thumb:hover {
  background: #6a00d6;
}

/* ===== Placeholders ===== */
::placeholder {
  color: #9a9a9a;
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #9a9a9a;
}

::-moz-placeholder {
  color: #9a9a9a;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #9a9a9a;
}

::-ms-input-placeholder {
  color: #9a9a9a;
}

/* ===== Tokens ===== */
:root {
  --color-purple: #7f00ff;
  --color-purple-bright: #a54dff;
  --color-purple-soft: #d9b2ff;
  --color-purple-pale: #f0e4ff;
  --color-black: #000000;
  --color-text: #4d4d4d;
  --color-muted: #808080;
  --color-white: #ffffff;
  --header-height: 66px;
  --container: 1020px;
  --border-thick: 10px;
  --transition: 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===== Base helpers ===== */
.page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
}

.page > main {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

.container {
  width: min(100% - 40px, var(--container));
  padding: 0 20px;
  margin-inline: auto;
}

[data-hidden="true"] {
  display: none !important;
}

body[data-locked="true"] {
  overflow: hidden;
}

/* ===== Header ===== */
.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: transparent;
  -webkit-transition: all var(--transition);
  transition: all var(--transition);
  padding: 10px 0;
}

.header[data-scrolled="true"] {
  -webkit-box-shadow: 0 8px 24px rgba(127, 0, 255, 0.08);
          box-shadow: 0 8px 24px rgba(127, 0, 255, 0.08);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.header__inner {
  width: min(100% - 40px, var(--container));
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  margin-inline: auto;
  min-height: var(--header-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  padding: 16px;
}

.header__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: opacity var(--transition), -webkit-transform var(--transition);
  transition: opacity var(--transition), -webkit-transform var(--transition);
  transition: opacity var(--transition), transform var(--transition);
  transition: opacity var(--transition), transform var(--transition), -webkit-transform var(--transition);
}

.header__logo:hover {
  opacity: 0.85;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.header__logo-img {
  width: 156px;
  height: 40px;
}

.header__nav {
  display: none;
}

.header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.header__link {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-text);
  -webkit-transition: color var(--transition);
  transition: color var(--transition);
  padding: 16px 0;
}

.header__link:hover,
.header__link.is-active {
  color: var(--color-purple);
}

.header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__burger {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 42px;
  height: 42px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid rgba(127, 0, 255, 0.25);
  border-radius: 0;
  color: var(--color-purple);
  -webkit-transition: background var(--transition), border-color var(--transition);
  transition: background var(--transition), border-color var(--transition);
}

.header__burger:hover {
  background: var(--color-purple-pale);
  border-color: var(--color-purple);
}

.header__burger-icon {
  width: 20px;
  height: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__burger-icon span {
  display: block;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  -webkit-transition: opacity var(--transition), -webkit-transform var(--transition);
  transition: opacity var(--transition), -webkit-transform var(--transition);
  transition: transform var(--transition), opacity var(--transition);
  transition: transform var(--transition), opacity var(--transition), -webkit-transform var(--transition);
}

/* ===== Buttons ===== */
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 40px;
  padding: 10px 24px;
  border-radius: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  -webkit-transition: opacity var(--transition), background var(--transition), -webkit-transform var(--transition), -webkit-box-shadow var(--transition);
  transition: opacity var(--transition), background var(--transition), -webkit-transform var(--transition), -webkit-box-shadow var(--transition);
  transition: transform var(--transition), box-shadow var(--transition), opacity var(--transition), background var(--transition);
  transition: transform var(--transition), box-shadow var(--transition), opacity var(--transition), background var(--transition), -webkit-transform var(--transition), -webkit-box-shadow var(--transition);
  color: var(--color-white);
}

.btn--primary {
  background: var(--color-purple);
}

.btn--primary:hover {
  background: var(--color-purple);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 10px 24px rgba(127, 0, 255, 0.28);
          box-shadow: 0 10px 24px rgba(127, 0, 255, 0.28);
}

.btn--gradient {
  background: radial-gradient(circle at 50% 98%, #A54DFF 6%, #7F00FF 100%);
}

.btn--gradient:hover {
  opacity: 0.9;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 12px 28px rgba(127, 0, 255, 0.3);
          box-shadow: 0 12px 28px rgba(127, 0, 255, 0.3);
}

.btn--block {
  width: 100%;
}

.btn[data-loading="true"] {
  pointer-events: none;
  opacity: 0.75;
}

.btn__spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  -webkit-animation: spin 0.7s linear infinite;
          animation: spin 0.7s linear infinite;
  margin-right: 10px;
}

@-webkit-keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/* ===== Mobile menu ===== */
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(18, 0, 40, 0.45);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity var(--transition), visibility var(--transition);
  transition: opacity var(--transition), visibility var(--transition);
}

.mobile-menu[data-open="true"] {
  opacity: 1;
  visibility: visible;
}

.mobile-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(100%, 360px);
  height: 100%;
  background: #fff;
  padding: 24px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform var(--transition);
  transition: -webkit-transform var(--transition);
  transition: transform var(--transition);
  transition: transform var(--transition), -webkit-transform var(--transition);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
  -webkit-box-shadow: -12px 0 40px rgba(0, 0, 0, 0.12);
          box-shadow: -12px 0 40px rgba(0, 0, 0, 0.12);
}

.mobile-menu[data-open="true"] .mobile-menu__panel {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.mobile-menu__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.mobile-menu__close {
  width: 42px;
  height: 42px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid rgba(127, 0, 255, 0.25);
  border-radius: 0;
  color: var(--color-purple);
  font-size: 22px;
  line-height: 1;
}

.mobile-menu__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.mobile-menu__link {
  padding: 14px 12px;
  border-radius: 10px;
  font-size: 17px;
  font-weight: 600;
  -webkit-transition: background var(--transition), color var(--transition);
  transition: background var(--transition), color var(--transition);
}

.mobile-menu__link:hover,
.mobile-menu__link.is-active {
  background: var(--color-purple-pale);
  color: var(--color-purple);
}

.mobile-menu__nav .btn {
  margin-top: 12px;
}

/* ===== Hero ===== */
.hero {
  position: relative;
  padding: 180px 0 140px;
}

.hero__bg {
  position: absolute;
  inset: 0;
  top: calc((var(--header-height) + 30px) * -1);
  background-image: url("../media/bg-2.png"), url("../media/bg-1.png"), -webkit-gradient(linear, left bottom, left top, from(rgba(127, 0, 255, 0.3)), color-stop(96%, rgba(127, 0, 255, 0.05)));
  background-image: url("../media/bg-2.png"), url("../media/bg-1.png"), linear-gradient(0deg, rgba(127, 0, 255, 0.3) 0%, rgba(127, 0, 255, 0.05) 96%);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../media/bg-3.png") center no-repeat;
  background-size: cover;
  opacity: 0.7;
}

.hero__content {
  position: relative;
  z-index: 1;
  width: min(100% - 40px, 820px);
  margin-inline: auto;
  text-align: center;
}

.hero__brand {
  width: 392px;
  height: 100px;
  margin: 0 auto 140px;
  -webkit-animation: fadeUp 0.9s ease both;
          animation: fadeUp 0.9s ease both;
}

.hero__title {
  font-size: clamp(32px, 5vw, 47px);
  font-family: "Rubik", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
  margin-bottom: 40px;
  -webkit-animation: fadeUp 0.9s ease 0.12s both;
          animation: fadeUp 0.9s ease 0.12s both;
}

.hero__text {
  color: var(--color-black);
  -webkit-animation: fadeUp 0.9s ease 0.24s both;
          animation: fadeUp 0.9s ease 0.24s both;
}

@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(28px);
            transform: translateY(28px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(28px);
            transform: translateY(28px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ===== Reveal ===== */
[data-reveal] {
  opacity: 0;
  -webkit-transform: translateY(36px);
          transform: translateY(36px);
  -webkit-transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0ms);
          transition-delay: var(--reveal-delay, 0ms);
}

[data-reveal="zoom"] {
  -webkit-transform: scale(0.94);
          transform: scale(0.94);
}

[data-reveal="float"] {
  -webkit-transform: translateY(48px);
          transform: translateY(48px);
}

[data-reveal][data-visible="true"] {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

/* ===== Secret sauce ===== */
.sauce {
  position: relative;
  z-index: 0;
  min-height: 550px;
  clip-path: inset(0);
}

.sauce__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.sauce__img {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.sauce__badge-block {
  position: absolute;
  z-index: 1;
  left: max(0px, calc(50% - 500px));
  bottom: -10px;
  max-width: min(400px, calc(100% - 40px));
}

.sauce__badge {
  position: relative;
  display: grid;
  place-items: center start;
  min-height: 195px;
  background: var(--color-purple);
  color: #fff;
  border: var(--border-thick) solid #fff;
  padding: 22px 28px;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  -webkit-box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
          box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  -webkit-transition: background 0.45s ease, color 0.45s ease, border-color 0.45s ease;
  transition: background 0.45s ease, color 0.45s ease, border-color 0.45s ease;
}

.sauce__badge-text {
  grid-area: 1 / 1;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

.sauce__badge-text--alt {
  opacity: 0;
  pointer-events: none;
}

.sauce__badge-block:hover .sauce__badge,
.sauce__badge-block:focus-within .sauce__badge {
  background: #fff;
  color: var(--color-purple);
  border-color: var(--color-purple);
}

.sauce__badge-block:hover .sauce__badge-text:not(.sauce__badge-text--alt),
.sauce__badge-block:focus-within .sauce__badge-text:not(.sauce__badge-text--alt) {
  opacity: 0;
}

.sauce__badge-block:hover .sauce__badge-text--alt,
.sauce__badge-block:focus-within .sauce__badge-text--alt {
  opacity: 1;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .sauce {
    clip-path: none;
    overflow: hidden;
  }

  .sauce__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }

  .sauce__badge,
  .sauce__badge-text {
    -webkit-transition: none;
    transition: none;
  }
}

@supports (-webkit-touch-callout: none) {
  .sauce {
    clip-path: none;
    overflow: hidden;
  }

  .sauce__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
}

.text-block {
  padding: 40px 0;
}

.text-block__content {
  max-width: 850px;
  margin-inline: auto;
  text-align: center;
}

/* ===== Feature blocks ===== */
.feature {
  padding: 60px 0 20px;
  background: #fff;
}

.feature--alt {
  padding-bottom: 60px;
}

.feature__title {
  text-align: center;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 800;
  margin-bottom: 40px;
  color: var(--color-black);
}

.feature__row {
  display: grid;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.feature__box-block {
  min-width: 350px;
  cursor: pointer;
}

.feature__box {
  position: relative;
  display: grid;
  place-items: center start;
  border: var(--border-thick) solid var(--color-purple);
  background: #fff;
  color: var(--color-text);
  min-height: 290px;
  width: 100%;
  padding: 36px;
  -webkit-transition: background 0.45s ease, color 0.45s ease, border-color 0.45s ease;
  transition: background 0.45s ease, color 0.45s ease, border-color 0.45s ease;
}

.feature__box-text {
  grid-area: 1 / 1;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 600;
  line-height: 1.4;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

.feature__box-text--alt {
  opacity: 0;
  pointer-events: none;
}

.feature__box-block:hover .feature__box,
.feature__box-block:focus-within .feature__box {
  background: var(--color-purple);
  color: #fff;
  border-color: var(--color-purple);
}

.feature__box-block:hover .feature__box-text:not(.feature__box-text--alt),
.feature__box-block:focus-within .feature__box-text:not(.feature__box-text--alt) {
  opacity: 0;
}

.feature__box-block:hover .feature__box-text--alt,
.feature__box-block:focus-within .feature__box-text--alt {
  opacity: 1;
  pointer-events: auto;
}

.feature__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.feature__content .btn {
  width: 100%;
  max-width: 280px;
}

.feature__content--end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

/* ===== Process ===== */
.process {
  padding: 60px 0;
  background: var(--color-purple-soft);
}

.process__title {
  text-align: center;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 700;
  margin-bottom: 30px;
  color: var(--color-black);
}

.process__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.process__item {
  position: relative;
}

.process__number {
  position: absolute;
  left: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: clamp(120px, 18vw, 300px);
  font-weight: 800;
  line-height: 0.8;
  color: rgba(127, 0, 255, 0.18);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  z-index: 0;
  font-family: "Rubik", sans-serif;
  opacity: 0.5;
}

.process__card {
  position: relative;
  z-index: 1;
  background: #fff;
  border: var(--border-thick) solid var(--color-purple);
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  width: 100%;
}

.process__card-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}

.process__icon {
  width: 60px;
  height: 60px;
  color: var(--color-black);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.process__icon svg {
  width: 100%;
  height: 100%;
}

.process__icon svg path {
  fill: currentColor;
}

.process__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  color: var(--color-black);
  font-weight: 700;
}

.process__card-title {
  font-size: clamp(20px, 2.6vw, 32px);
}

.process__card-subtitle {
  font-size: 18px;
}

.process__card-text {
  color: var(--color-black);
}

/* ===== Contact section ===== */
.contact {
  padding: 60px 0;
  background: #fff;
}

.contact__title {
  text-align: center;
  font-size: clamp(20px, 4vw, 32px);
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--color-black);
}

.contact__lead {
  margin-bottom: 40px;
  text-align: center;
  color: var(--color-black);
}

.contact__frame {
  width: 100%;
  border: var(--border-thick) solid var(--color-purple);
  background: #fff;
  padding: 10px;
}

/* ===== Forms ===== */
.form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

.form__row {
  display: grid;
  gap: 15px;
}

.form__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.form__label {
  color: var(--color-black);
}

.form__input,
.form__textarea {
  width: 100%;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  padding: 8px;
  background: transparent;
  -webkit-transition: border-color var(--transition), background var(--transition), -webkit-box-shadow var(--transition);
  transition: border-color var(--transition), background var(--transition), -webkit-box-shadow var(--transition);
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition), -webkit-box-shadow var(--transition);
}

.form__input:focus,
.form__textarea:focus {
  outline: none;
  border-color: var(--color-purple);
  background: #fff;
  -webkit-box-shadow: 0 0 0 3px rgba(127, 0, 255, 0.12);
          box-shadow: 0 0 0 3px rgba(127, 0, 255, 0.12);
}

.form__input[data-invalid="true"],
.form__textarea[data-invalid="true"] {
  border-color: #d32f2f;
  -webkit-box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.12);
          box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.12);
}

.form__textarea {
  min-height: 80px;
  resize: vertical;
}

.form__error {
  display: none;
}

.form__error:not(:empty) {
  display: block;
  color: #d32f2f;
  font-size: 14px;
  margin-top: 4px;
}

.form__success {
  text-align: center;
  padding: 20px;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-purple);
  -webkit-animation: fadeIn 0.45s ease both;
          animation: fadeIn 0.45s ease both;
}

.form__success-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--color-purple-pale);
  color: var(--color-purple);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
}

/* ===== Page hero (inner) ===== */
.page-hero {
  position: relative;
  padding: 60px 0;
}

.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  top: calc((var(--header-height) + 30px) * -1);
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(127, 0, 255, 0.3)), color-stop(96%, rgba(127, 0, 255, 0.05)));
  background: linear-gradient(0deg, rgba(127, 0, 255, 0.3) 0%, rgba(127, 0, 255, 0.05) 96%);
}

.page-hero__title {
  text-align: center;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 700;
  margin-bottom: 40px;
  color: var(--color-black);
}

.page-hero__text {
  width: 100%;
  margin-bottom: 20px;
}

.page-hero__block {
  display: grid;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}

.page-hero__box-block {
  min-width: 350px;
  cursor: pointer;
}

.page-hero__box {
  position: relative;
  display: grid;
  place-items: center start;
  border: var(--border-thick) solid var(--color-purple);
  background: #fff;
  color: var(--color-text);
  min-height: 200px;
  width: 100%;
  padding: 36px;
  -webkit-transition: background 0.45s ease, color 0.45s ease, border-color 0.45s ease;
  transition: background 0.45s ease, color 0.45s ease, border-color 0.45s ease;
}

.page-hero__box-text {
  grid-area: 1 / 1;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 600;
  line-height: 1.4;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

.page-hero__box-text--alt {
  opacity: 0;
  pointer-events: none;
}

.page-hero__box-block:hover .page-hero__box,
.page-hero__box-block:focus-within .page-hero__box {
  background: var(--color-purple);
  color: #fff;
  border-color: var(--color-white);
}

.page-hero__box-block:hover .page-hero__box-text:not(.page-hero__box-text--alt),
.page-hero__box-block:focus-within .page-hero__box-text:not(.page-hero__box-text--alt) {
  opacity: 0;
}

.page-hero__box-block:hover .page-hero__box-text--alt,
.page-hero__box-block:focus-within .page-hero__box-text--alt {
  opacity: 1;
  pointer-events: auto;
}

.page-banner {
  position: relative;
  z-index: 0;
  min-height: 550px;
  clip-path: inset(0);
}

.page-banner__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.page-banner__img {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

@media (prefers-reduced-motion: reduce) {
  .page-banner {
    clip-path: none;
    overflow: hidden;
  }

  .page-banner__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

@supports (-webkit-touch-callout: none) {
  .page-banner {
    clip-path: none;
    overflow: hidden;
  }

  .page-banner__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

/* ===== Tech stack ===== */
.tech {
  padding: 60px 0;
  background: var(--color-purple-soft);
}

.tech__title {
  text-align: center;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 700;
  margin-bottom: 40px;
}

.tech__grid {
  display: grid;
  gap: 20px;
}

.tech__card {
  background: #fff;
  border: var(--border-thick) solid var(--color-purple);
  padding: 20px;
}

.tech__card-title {
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 700;
  margin-bottom: 20px;
  text-align: center;
}

.tech__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 24px;
}

.tech__cols li {
  position: relative;
  padding-left: 20px;
  font-size: 18px;
  color: var(--color-black);
}

.tech__cols li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-black);
}

.tech__card--center {
  grid-column: 1 / -1;
  justify-self: center;
  width: min(100%, 465px);
}

/* ===== Legal ===== */
.legal {
  padding: 60px 0;
}

.legal__title {
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
  color: var(--color-black);
}

.legal__content {
  width: min(100% - 40px, var(--container));
  margin-inline: auto;
}

.legal__content>p {
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--color-text);
}

.legal__content h2 {
  font-size: 18px;
  font-weight: 700;
  margin: 36px 0 14px;
  color: var(--color-black);
}

.legal__list {
  margin: 0 0 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

.legal__list li {
  position: relative;
  padding-left: 18px;
  font-size: 16px;
  line-height: 1.7;
}

.legal__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-purple);
  font-weight: 700;
}

.legal__content a {
  color: var(--color-purple);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ===== Footer ===== */
.footer {
  padding: 20px 0 30px;
  position: relative;
  overflow: hidden;
}

.footer__inner {
  position: relative;
  z-index: 1;
  width: min(100% - 40px, var(--container));
  margin-inline: auto;
  display: grid;
  gap: 8px;
}

.footer__copy {
  font-size: 16px;
  color: var(--color-muted);
}

.footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid #bfbfbf;
}

.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px;
}

.footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.footer__link {
  font-size: 16px;
  font-weight: 800;
  color: var(--color-black);
  -webkit-transition: color var(--transition);
  transition: color var(--transition);
}

.footer__link:hover,
.footer__link--active {
  color: var(--color-purple-bright);
}

/* ===== Desktop ===== */
@media (min-width: 768px) {
  .header__burger {
    display: none;
  }

  .header__nav {
    display: block;
  }

  .feature__row,
  .page-hero__block {
    grid-template-columns: auto auto;
    gap: 48px;
  }

  .feature__row--reverse .feature__box-block {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  .feature__row--reverse .feature__content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }

  .process__title {
    margin-bottom: 60px;
  }

  .process__list {
    gap: 50px;
  }

  .process__card {
    padding: 40px;
    -webkit-transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease;
    transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease;
  }

  .process__card-top {
    gap: 60px;
  }

  .process__item {
    padding-left: 100px;
    cursor: pointer;
  }

  .process__icon,
  .process__number,
  .process__heading,
  .process__card-text {
    -webkit-transition: color 0.35s ease;
    transition: color 0.35s ease;
  }

  .process__item:hover .process__card {
    background: var(--color-purple);
    border-color: #fff;
    color: #fff;
  }

  .process__item:hover .process__heading,
  .process__item:hover .process__card-text {
    color: #fff;
  }

  .process__item:hover .process__icon {
    color: #fff;
  }

  .process__item:hover .process__number {
    color: rgba(255, 255, 255, 0.28);
  }

  .form__row {
    grid-template-columns: 1fr 1fr;
  }

  .tech__grid {
    grid-template-columns: 1fr 1fr;
  }

  .tech__card {
    cursor: pointer;
    -webkit-transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease;
    transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease;
    padding: 50px;
    min-height: 255px;
  }

  .tech__card-title,
  .tech__cols li {
    -webkit-transition: color 0.35s ease;
    transition: color 0.35s ease;
  }

  .tech__cols li::before {
    -webkit-transition: background 0.35s ease;
    transition: background 0.35s ease;
  }

  .tech__card:hover {
    background: var(--color-purple);
    border-color: #fff;
    color: #fff;
  }

  .tech__card:hover .tech__card-title,
  .tech__card:hover .tech__cols li {
    color: #fff;
  }

  .tech__card:hover .tech__cols li::before {
    background: #fff;
  }

  .tech__card-title {
    margin-bottom: 30px;
  }
}

@media (min-width: 1024px) {
  .header__list {
    gap: 36px;
  }

  .process__icon {
    width: 74px;
    height: 74px;
  }

  .tech__grid {
    gap: 50px;
  }
}

/* ===== Mobile tweaks ===== */
@media (max-width: 767px) {
  .header {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 0;
  }

  .header__inner {
    padding-inline: 0;
  }

  .header__actions .btn--gradient {
    display: none;
  }

  .container {
    padding: 0;
  }

  .hero {
    padding: 48px 0 56px;
  }

  .hero__bg::after {
    background-size: 150%;
    background-position: center 15%;
  }

  .hero__brand {
    display: none;
  }

  .sauce,
  .page-banner {
    min-height: 450px;
  }

  .sauce__badge {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px;
  }

  .sauce__badge-text {
    opacity: 1 !important;
    pointer-events: auto !important;
    font-weight: 400;
  }

  .sauce__badge-text br {
    display: none;
  }

  .sauce__badge-text--alt {
    font-weight: 700;
  }

  .process,
  .contact,
  .tech,
  .legal {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .feature {
    padding: 0 0 40px;
  }

  .feature__title {
    margin-bottom: 20px;
  }

  .feature__box-block,
  .page-hero__box-block {
    margin: 0 -20px;
    width: calc(100% + 40px);
    cursor: default;
  }

  .feature__box,
  .page-hero__box {
    min-height: auto;
    background: var(--color-purple) !important;
    color: #fff !important;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }

  .feature__box-text,
  .feature__box-text--alt,
  .page-hero__box-text,
  .page-hero__box-text--alt {
    opacity: 1 !important;
    pointer-events: auto !important;
    font-weight: 400;
  }

  .feature__box-text--alt,
  .page-hero__box-text--alt {
    font-weight: 800;
  }

  .feature__box-text br,
  .page-hero__box-text br {
    display: none;
  }

  .feature__content {
    gap: 20px;
  }

  .feature__content--end {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .feature__content .btn {
    max-width: 100%;
  }

  .process__card-subtitle {
    color: var(--color-text);
  }

  .process__number {
    display: none;
  }

  .tech__card--center {
    width: 100%;
    justify-self: stretch;
  }

  .footer {
    text-align: center;
  }

  .footer__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .footer__nav {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
  }

  .footer__list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
  }

  .footer .btn {
    width: 100%;
  }
}
/*# sourceMappingURL=data:application/json;base64,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SUFDckIsK0JBQStCO0lBQy9CLGdCQUFnQjtFQUNsQjs7RUFFQTs7SUFFRSxnQkFBZ0I7RUFDbEI7O0VBRUE7O0lBRUUsYUFBYTtFQUNmOztFQUVBO0lBQ0UsU0FBUztFQUNYOztFQUVBO0lBQ0Usd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7RUFDekI7O0VBRUE7SUFDRSxlQUFlO0VBQ2pCOztFQUVBO0lBQ0Usd0JBQXdCO0VBQzFCOztFQUVBO0lBQ0UsYUFBYTtFQUNmOztFQUVBO0lBQ0UsV0FBVztJQUNYLHFCQUFxQjtFQUN2Qjs7RUFFQTtJQUNFLGtCQUFrQjtFQUNwQjs7RUFFQTtJQUNFLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtFQUNyQjs7RUFFQTtJQUNFLFdBQVc7SUFDWCw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsU0FBUztFQUNYOztFQUVBO0lBQ0UseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsU0FBUztFQUNYOztFQUVBO0lBQ0UsV0FBVztFQUNiO0FBQ0YiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09IFJlc2V0ID09PT09ICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5oMSxcbmgyLFxuaDMge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG59XG5cbmltZyxcbnN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnVsLFxub2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiA9PT09PSBTY3JvbGxiYXIgPT09PT0gKi9cbmh0bWwge1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHNjcm9sbGJhci1jb2xvcjogIzdmMDBmZiAjZjNlOGZmO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNmM2U4ZmY7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjN2YwMGZmIDAlLCAjYTU0ZGZmIDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmM2U4ZmY7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNmEwMGQ2O1xufVxuXG4vKiA9PT09PSBQbGFjZWhvbGRlcnMgPT09PT0gKi9cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzlhOWE5YTtcbiAgb3BhY2l0eTogMTtcbn1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5YTlhOWE7XG59XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOWE5YTlhO1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiA9PT09PSBUb2tlbnMgPT09PT0gKi9cbjpyb290IHtcbiAgLS1jb2xvci1wdXJwbGU6ICM3ZjAwZmY7XG4gIC0tY29sb3ItcHVycGxlLWJyaWdodDogI2E1NGRmZjtcbiAgLS1jb2xvci1wdXJwbGUtc29mdDogI2Q5YjJmZjtcbiAgLS1jb2xvci1wdXJwbGUtcGFsZTogI2YwZTRmZjtcbiAgLS1jb2xvci1ibGFjazogIzAwMDAwMDtcbiAgLS1jb2xvci10ZXh0OiAjNGQ0ZDRkO1xuICAtLWNvbG9yLW11dGVkOiAjODA4MDgwO1xuICAtLWNvbG9yLXdoaXRlOiAjZmZmZmZmO1xuICAtLWhlYWRlci1oZWlnaHQ6IDY2cHg7XG4gIC0tY29udGFpbmVyOiAxMDIwcHg7XG4gIC0tYm9yZGVyLXRoaWNrOiAxMHB4O1xuICAtLXRyYW5zaXRpb246IDAuMzVzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbn1cblxuLyogPT09PT0gQmFzZSBoZWxwZXJzID09PT09ICovXG4ucGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5wYWdlID4gbWFpbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IG1pbigxMDAlIC0gNDBweCwgdmFyKC0tY29udGFpbmVyKSk7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuW2RhdGEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keVtkYXRhLWxvY2tlZD1cInRydWVcIl0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT09PSBIZWFkZXIgPT09PT0gKi9cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuLmhlYWRlcltkYXRhLXNjcm9sbGVkPVwidHJ1ZVwiXSB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgxMjcsIDAsIDI1NSwgMC4wOCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG59XG5cbi5oZWFkZXJfX2lubmVyIHtcbiAgd2lkdGg6IG1pbigxMDAlIC0gNDBweCwgdmFyKC0tY29udGFpbmVyKSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjRweDtcbiAgcGFkZGluZzogMTZweDtcbn1cblxuLmhlYWRlcl9fbG9nbyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5oZWFkZXJfX2xvZ286aG92ZXIge1xuICBvcGFjaXR5OiAwLjg1O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5oZWFkZXJfX2xvZ28taW1nIHtcbiAgd2lkdGg6IDE1NnB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5oZWFkZXJfX25hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXJfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cblxuLmhlYWRlcl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xuICBwYWRkaW5nOiAxNnB4IDA7XG59XG5cbi5oZWFkZXJfX2xpbms6aG92ZXIsXG4uaGVhZGVyX19saW5rLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xufVxuXG4uaGVhZGVyX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYWRlcl9fYnVyZ2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNywgMCwgMjU1LCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbiksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmhlYWRlcl9fYnVyZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHVycGxlLXBhbGUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG59XG5cbi5oZWFkZXJfX2J1cmdlci1pY29uIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uaGVhZGVyX19idXJnZXItaWNvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24pLCBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4vKiA9PT09PSBCdXR0b25zID09PT09ICovXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24pLCBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pLCBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24pO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHVycGxlKTtcbn1cblxuLmJ0bi0tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgxMjcsIDAsIDI1NSwgMC4yOCk7XG59XG5cbi5idG4tLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgOTglLCAjQTU0REZGIDYlLCAjN0YwMEZGIDEwMCUpO1xufVxuXG4uYnRuLS1ncmFkaWVudDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDEyNywgMCwgMjU1LCAwLjMpO1xufVxuXG4uYnRuLS1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnRuW2RhdGEtbG9hZGluZz1cInRydWVcIl0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuLmJ0bl9fc3Bpbm5lciB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGluIDAuN3MgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi8qID09PT09IE1vYmlsZSBtZW51ID09PT09ICovXG4ubW9iaWxlLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAyMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTgsIDAsIDQwLCAwLjQ1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pLCB2aXNpYmlsaXR5IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4ubW9iaWxlLW1lbnVbZGF0YS1vcGVuPVwidHJ1ZVwiXSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5tb2JpbGUtbWVudV9fcGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBtaW4oMTAwJSwgMzYwcHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDI4cHg7XG4gIGJveC1zaGFkb3c6IC0xMnB4IDAgNDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubW9iaWxlLW1lbnVbZGF0YS1vcGVuPVwidHJ1ZVwiXSAubW9iaWxlLW1lbnVfX3BhbmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4ubW9iaWxlLW1lbnVfX3RvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm1vYmlsZS1tZW51X19jbG9zZSB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDAsIDI1NSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubW9iaWxlLW1lbnVfX25hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xufVxuXG4ubW9iaWxlLW1lbnVfX2xpbmsge1xuICBwYWRkaW5nOiAxNHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5tb2JpbGUtbWVudV9fbGluazpob3Zlcixcbi5tb2JpbGUtbWVudV9fbGluay5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUtcGFsZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xufVxuXG4ubW9iaWxlLW1lbnVfX25hdiAuYnRuIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLyogPT09PT0gSGVybyA9PT09PSAqL1xuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE4MHB4IDAgMTQwcHg7XG59XG5cbi5oZXJvX19iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHRvcDogY2FsYygodmFyKC0taGVhZGVyLWhlaWdodCkgKyAzMHB4KSAqIC0xKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmctMi5wbmdcIiksIHVybChcIi4uL21lZGlhL2JnLTEucG5nXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgxMjcsIDAsIDI1NSwgMC4zKSAwJSwgcmdiYSgxMjcsIDAsIDI1NSwgMC4wNSkgOTYlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmhlcm9fX2JnOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL21lZGlhL2JnLTMucG5nXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmhlcm9fX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIDQwcHgsIDgyMHB4KTtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGVyb19fYnJhbmQge1xuICB3aWR0aDogMzkycHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDE0MHB4O1xuICBhbmltYXRpb246IGZhZGVVcCAwLjlzIGVhc2UgYm90aDtcbn1cblxuLmhlcm9fX3RpdGxlIHtcbiAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA1dncsIDQ3cHgpO1xuICBmb250LWZhbWlseTogXCJSdWJpa1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBhbmltYXRpb246IGZhZGVVcCAwLjlzIGVhc2UgMC4xMnMgYm90aDtcbn1cblxuLmhlcm9fX3RleHQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBhbmltYXRpb246IGZhZGVVcCAwLjlzIGVhc2UgMC4yNHMgYm90aDtcbn1cblxuQGtleWZyYW1lcyBmYWRlVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyOHB4KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiA9PT09PSBSZXZlYWwgPT09PT0gKi9cbltkYXRhLXJldmVhbF0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzZweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSksIHRyYW5zZm9ybSAwLjhzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tcmV2ZWFsLWRlbGF5LCAwbXMpO1xufVxuXG5bZGF0YS1yZXZlYWw9XCJ6b29tXCJdIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk0KTtcbn1cblxuW2RhdGEtcmV2ZWFsPVwiZmxvYXRcIl0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDhweCk7XG59XG5cbltkYXRhLXJldmVhbF1bZGF0YS12aXNpYmxlPVwidHJ1ZVwiXSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogPT09PT0gU2VjcmV0IHNhdWNlID09PT09ICovXG4uc2F1Y2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICBjbGlwLXBhdGg6IGluc2V0KDApO1xufVxuXG4uc2F1Y2VfX21lZGlhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zYXVjZV9faW1nIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIC1vLW9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLnNhdWNlX19iYWRnZS1ibG9jayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgbGVmdDogbWF4KDBweCwgY2FsYyg1MCUgLSA1MDBweCkpO1xuICBib3R0b206IC0xMHB4O1xuICBtYXgtd2lkdGg6IG1pbig0MDBweCwgY2FsYygxMDAlIC0gNDBweCkpO1xufVxuXG4uc2F1Y2VfX2JhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyIHN0YXJ0O1xuICBtaW4taGVpZ2h0OiAxOTVweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXRoaWNrKSBzb2xpZCAjZmZmO1xuICBwYWRkaW5nOiAyMnB4IDI4cHg7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjRweCwgM3Z3LCAzMnB4KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNDVzIGVhc2UsIGNvbG9yIDAuNDVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjQ1cyBlYXNlO1xufVxuXG4uc2F1Y2VfX2JhZGdlLXRleHQge1xuICBncmlkLWFyZWE6IDEgLyAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcbn1cblxuLnNhdWNlX19iYWRnZS10ZXh0LS1hbHQge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNhdWNlX19iYWRnZS1ibG9jazpob3ZlciAuc2F1Y2VfX2JhZGdlLFxuLnNhdWNlX19iYWRnZS1ibG9jazpmb2N1cy13aXRoaW4gLnNhdWNlX19iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG59XG5cbi5zYXVjZV9fYmFkZ2UtYmxvY2s6aG92ZXIgLnNhdWNlX19iYWRnZS10ZXh0Om5vdCguc2F1Y2VfX2JhZGdlLXRleHQtLWFsdCksXG4uc2F1Y2VfX2JhZGdlLWJsb2NrOmZvY3VzLXdpdGhpbiAuc2F1Y2VfX2JhZGdlLXRleHQ6bm90KC5zYXVjZV9fYmFkZ2UtdGV4dC0tYWx0KSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zYXVjZV9fYmFkZ2UtYmxvY2s6aG92ZXIgLnNhdWNlX19iYWRnZS10ZXh0LS1hbHQsXG4uc2F1Y2VfX2JhZGdlLWJsb2NrOmZvY3VzLXdpdGhpbiAuc2F1Y2VfX2JhZGdlLXRleHQtLWFsdCB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuc2F1Y2Uge1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLnNhdWNlX19pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5zYXVjZV9fYmFkZ2UsXG4gIC5zYXVjZV9fYmFkZ2UtdGV4dCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkge1xuICAuc2F1Y2Uge1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLnNhdWNlX19pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgfVxufVxuXG4udGV4dC1ibG9jayB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cblxuLnRleHQtYmxvY2tfX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qID09PT09IEZlYXR1cmUgYmxvY2tzID09PT09ICovXG4uZmVhdHVyZSB7XG4gIHBhZGRpbmc6IDYwcHggMCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uZmVhdHVyZS0tYWx0IHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG5cbi5mZWF0dXJlX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCA0dncsIDMycHgpO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uZmVhdHVyZV9fcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAzMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmVhdHVyZV9fYm94LWJsb2NrIHtcbiAgbWluLXdpZHRoOiAzNTBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmVhdHVyZV9fYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyIHN0YXJ0O1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGljaykgc29saWQgdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBtaW4taGVpZ2h0OiAyOTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDM2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40NXMgZWFzZSwgY29sb3IgMC40NXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuNDVzIGVhc2U7XG59XG5cbi5mZWF0dXJlX19ib3gtdGV4dCB7XG4gIGdyaWQtYXJlYTogMSAvIDE7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwgM3Z3LCAzMnB4KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG59XG5cbi5mZWF0dXJlX19ib3gtdGV4dC0tYWx0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5mZWF0dXJlX19ib3gtYmxvY2s6aG92ZXIgLmZlYXR1cmVfX2JveCxcbi5mZWF0dXJlX19ib3gtYmxvY2s6Zm9jdXMtd2l0aGluIC5mZWF0dXJlX19ib3gge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xufVxuXG4uZmVhdHVyZV9fYm94LWJsb2NrOmhvdmVyIC5mZWF0dXJlX19ib3gtdGV4dDpub3QoLmZlYXR1cmVfX2JveC10ZXh0LS1hbHQpLFxuLmZlYXR1cmVfX2JveC1ibG9jazpmb2N1cy13aXRoaW4gLmZlYXR1cmVfX2JveC10ZXh0Om5vdCguZmVhdHVyZV9fYm94LXRleHQtLWFsdCkge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmVhdHVyZV9fYm94LWJsb2NrOmhvdmVyIC5mZWF0dXJlX19ib3gtdGV4dC0tYWx0LFxuLmZlYXR1cmVfX2JveC1ibG9jazpmb2N1cy13aXRoaW4gLmZlYXR1cmVfX2JveC10ZXh0LS1hbHQge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmZlYXR1cmVfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDUwcHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uZmVhdHVyZV9fY29udGVudCAuYnRuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjgwcHg7XG59XG5cbi5mZWF0dXJlX19jb250ZW50LS1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi8qID09PT09IFByb2Nlc3MgPT09PT0gKi9cbi5wcm9jZXNzIHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUtc29mdCk7XG59XG5cbi5wcm9jZXNzX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCA0dncsIDMycHgpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4ucHJvY2Vzc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDtcbn1cblxuLnByb2Nlc3NfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9jZXNzX19udW1iZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBmb250LXNpemU6IGNsYW1wKDEyMHB4LCAxOHZ3LCAzMDBweCk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIGNvbG9yOiByZ2JhKDEyNywgMCwgMjU1LCAwLjE4KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAwO1xuICBmb250LWZhbWlseTogXCJSdWJpa1wiLCBzYW5zLXNlcmlmO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5wcm9jZXNzX19jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGljaykgc29saWQgdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgcGFkZGluZzogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2Nlc3NfX2NhcmQtdG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAzMHB4O1xufVxuXG4ucHJvY2Vzc19faWNvbiB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucHJvY2Vzc19faWNvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvY2Vzc19faWNvbiBzdmcgcGF0aCB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLnByb2Nlc3NfX2hlYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wcm9jZXNzX19jYXJkLXRpdGxlIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAyLjZ2dywgMzJweCk7XG59XG5cbi5wcm9jZXNzX19jYXJkLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ucHJvY2Vzc19fY2FyZC10ZXh0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLyogPT09PT0gQ29udGFjdCBzZWN0aW9uID09PT09ICovXG4uY29udGFjdCB7XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmNvbnRhY3RfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDR2dywgMzJweCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5jb250YWN0X19sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uY29udGFjdF9fZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItdGhpY2spIHNvbGlkIHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi8qID09PT09IEZvcm1zID09PT09ICovXG4uZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTVweDtcbn1cblxuLmZvcm1fX3JvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMTVweDtcbn1cblxuLmZvcm1fX2ZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG59XG5cbi5mb3JtX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5mb3JtX19pbnB1dCxcbi5mb3JtX190ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbiksIGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5mb3JtX19pbnB1dDpmb2N1cyxcbi5mb3JtX190ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTI3LCAwLCAyNTUsIDAuMTIpO1xufVxuXG4uZm9ybV9faW5wdXRbZGF0YS1pbnZhbGlkPVwidHJ1ZVwiXSxcbi5mb3JtX190ZXh0YXJlYVtkYXRhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDMyZjJmO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMTEsIDQ3LCA0NywgMC4xMik7XG59XG5cbi5mb3JtX190ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5mb3JtX19lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3JtX19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2QzMmYyZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5mb3JtX19zdWNjZXNzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICBhbmltYXRpb246IGZhZGVJbiAwLjQ1cyBlYXNlIGJvdGg7XG59XG5cbi5mb3JtX19zdWNjZXNzLWljb24ge1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBtYXJnaW46IDAgYXV0byAxNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXB1cnBsZS1wYWxlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi8qID09PT09IFBhZ2UgaGVybyAoaW5uZXIpID09PT09ICovXG4ucGFnZS1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA2MHB4IDA7XG59XG5cbi5wYWdlLWhlcm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHRvcDogY2FsYygodmFyKC0taGVhZGVyLWhlaWdodCkgKyAzMHB4KSAqIC0xKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMTI3LCAwLCAyNTUsIDAuMykgMCUsIHJnYmEoMTI3LCAwLCAyNTUsIDAuMDUpIDk2JSk7XG59XG5cbi5wYWdlLWhlcm9fX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IGNsYW1wKDI0cHgsIDR2dywgMzJweCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5wYWdlLWhlcm9fX3RleHQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnBhZ2UtaGVyb19fYmxvY2sge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDMycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wYWdlLWhlcm9fX2JveC1ibG9jayB7XG4gIG1pbi13aWR0aDogMzUwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBhZ2UtaGVyb19fYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyIHN0YXJ0O1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGljaykgc29saWQgdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDM2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40NXMgZWFzZSwgY29sb3IgMC40NXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuNDVzIGVhc2U7XG59XG5cbi5wYWdlLWhlcm9fX2JveC10ZXh0IHtcbiAgZ3JpZC1hcmVhOiAxIC8gMTtcbiAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAzdncsIDMycHgpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcbn1cblxuLnBhZ2UtaGVyb19fYm94LXRleHQtLWFsdCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucGFnZS1oZXJvX19ib3gtYmxvY2s6aG92ZXIgLnBhZ2UtaGVyb19fYm94LFxuLnBhZ2UtaGVyb19fYm94LWJsb2NrOmZvY3VzLXdpdGhpbiAucGFnZS1oZXJvX19ib3gge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5wYWdlLWhlcm9fX2JveC1ibG9jazpob3ZlciAucGFnZS1oZXJvX19ib3gtdGV4dDpub3QoLnBhZ2UtaGVyb19fYm94LXRleHQtLWFsdCksXG4ucGFnZS1oZXJvX19ib3gtYmxvY2s6Zm9jdXMtd2l0aGluIC5wYWdlLWhlcm9fX2JveC10ZXh0Om5vdCgucGFnZS1oZXJvX19ib3gtdGV4dC0tYWx0KSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5wYWdlLWhlcm9fX2JveC1ibG9jazpob3ZlciAucGFnZS1oZXJvX19ib3gtdGV4dC0tYWx0LFxuLnBhZ2UtaGVyb19fYm94LWJsb2NrOmZvY3VzLXdpdGhpbiAucGFnZS1oZXJvX19ib3gtdGV4dC0tYWx0IHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5wYWdlLWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgbWluLWhlaWdodDogNTUwcHg7XG4gIGNsaXAtcGF0aDogaW5zZXQoMCk7XG59XG5cbi5wYWdlLWJhbm5lcl9fbWVkaWEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnBhZ2UtYmFubmVyX19pbWcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgLW8tb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucGFnZS1iYW5uZXIge1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLnBhZ2UtYmFubmVyX19pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIHtcbiAgLnBhZ2UtYmFubmVyIHtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5wYWdlLWJhbm5lcl9faW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi8qID09PT09IFRlY2ggc3RhY2sgPT09PT0gKi9cbi50ZWNoIHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUtc29mdCk7XG59XG5cbi50ZWNoX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCA0dncsIDMycHgpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4udGVjaF9fZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjBweDtcbn1cblxuLnRlY2hfX2NhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGljaykgc29saWQgdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLnRlY2hfX2NhcmQtdGl0bGUge1xuICBmb250LXNpemU6IGNsYW1wKDI0cHgsIDR2dywgMzJweCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRlY2hfX2NvbHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogNHB4IDI0cHg7XG59XG5cbi50ZWNoX19jb2xzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLnRlY2hfX2NvbHMgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwLjZlbTtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4udGVjaF9fY2FyZC0tY2VudGVyIHtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIHdpZHRoOiBtaW4oMTAwJSwgNDY1cHgpO1xufVxuXG4vKiA9PT09PSBMZWdhbCA9PT09PSAqL1xuLmxlZ2FsIHtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuXG4ubGVnYWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCA0dncsIDMycHgpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5sZWdhbF9fY29udGVudCB7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIDQwcHgsIHZhcigtLWNvbnRhaW5lcikpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuXG4ubGVnYWxfX2NvbnRlbnQ+cCB7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmxlZ2FsX19jb250ZW50IGgyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDM2cHggMCAxNHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4ubGVnYWxfX2xpc3Qge1xuICBtYXJnaW46IDAgMCAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbn1cblxuLmxlZ2FsX19saXN0IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbn1cblxuLmxlZ2FsX19saXN0IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAolwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5sZWdhbF9fY29udGVudCBhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogPT09PT0gRm9vdGVyID09PT09ICovXG4uZm9vdGVyIHtcbiAgcGFkZGluZzogMjBweCAwIDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZvb3Rlcl9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiBtaW4oMTAwJSAtIDQwcHgsIHZhcigtLWNvbnRhaW5lcikpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDhweDtcbn1cblxuLmZvb3Rlcl9fY29weSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW11dGVkKTtcbn1cblxuLmZvb3Rlcl9fYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDI0cHg7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2JmYmZiZjtcbn1cblxuLmZvb3Rlcl9fbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDMycHg7XG59XG5cbi5mb290ZXJfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbn1cblxuLmZvb3Rlcl9fbGluayB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5mb290ZXJfX2xpbms6aG92ZXIsXG4uZm9vdGVyX19saW5rLS1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHVycGxlLWJyaWdodCk7XG59XG5cbi8qID09PT09IERlc2t0b3AgPT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyX19idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaGVhZGVyX19uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmZlYXR1cmVfX3JvdyxcbiAgLnBhZ2UtaGVyb19fYmxvY2sge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGdhcDogNDhweDtcbiAgfVxuXG4gIC5mZWF0dXJlX19yb3ctLXJldmVyc2UgLmZlYXR1cmVfX2JveC1ibG9jayB7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICAuZmVhdHVyZV9fcm93LS1yZXZlcnNlIC5mZWF0dXJlX19jb250ZW50IHtcbiAgICBvcmRlcjogMTtcbiAgfVxuXG4gIC5wcm9jZXNzX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuXG4gIC5wcm9jZXNzX19saXN0IHtcbiAgICBnYXA6IDUwcHg7XG4gIH1cblxuICAucHJvY2Vzc19fY2FyZCB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMzVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjM1cyBlYXNlLCBjb2xvciAwLjM1cyBlYXNlO1xuICB9XG5cbiAgLnByb2Nlc3NfX2NhcmQtdG9wIHtcbiAgICBnYXA6IDYwcHg7XG4gIH1cblxuICAucHJvY2Vzc19faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAucHJvY2Vzc19faWNvbixcbiAgLnByb2Nlc3NfX251bWJlcixcbiAgLnByb2Nlc3NfX2hlYWRpbmcsXG4gIC5wcm9jZXNzX19jYXJkLXRleHQge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMzVzIGVhc2U7XG4gIH1cblxuICAucHJvY2Vzc19faXRlbTpob3ZlciAucHJvY2Vzc19fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHVycGxlKTtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAucHJvY2Vzc19faXRlbTpob3ZlciAucHJvY2Vzc19faGVhZGluZyxcbiAgLnByb2Nlc3NfX2l0ZW06aG92ZXIgLnByb2Nlc3NfX2NhcmQtdGV4dCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAucHJvY2Vzc19faXRlbTpob3ZlciAucHJvY2Vzc19faWNvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAucHJvY2Vzc19faXRlbTpob3ZlciAucHJvY2Vzc19fbnVtYmVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTtcbiAgfVxuXG4gIC5mb3JtX19yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxuXG4gIC50ZWNoX19ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIH1cblxuICAudGVjaF9fY2FyZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zNXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMzVzIGVhc2UsIGNvbG9yIDAuMzVzIGVhc2U7XG4gICAgcGFkZGluZzogNTBweDtcbiAgICBtaW4taGVpZ2h0OiAyNTVweDtcbiAgfVxuXG4gIC50ZWNoX19jYXJkLXRpdGxlLFxuICAudGVjaF9fY29scyBsaSB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zNXMgZWFzZTtcbiAgfVxuXG4gIC50ZWNoX19jb2xzIGxpOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zNXMgZWFzZTtcbiAgfVxuXG4gIC50ZWNoX19jYXJkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wdXJwbGUpO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC50ZWNoX19jYXJkOmhvdmVyIC50ZWNoX19jYXJkLXRpdGxlLFxuICAudGVjaF9fY2FyZDpob3ZlciAudGVjaF9fY29scyBsaSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAudGVjaF9fY2FyZDpob3ZlciAudGVjaF9fY29scyBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG5cbiAgLnRlY2hfX2NhcmQtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyX19saXN0IHtcbiAgICBnYXA6IDM2cHg7XG4gIH1cblxuICAucHJvY2Vzc19faWNvbiB7XG4gICAgd2lkdGg6IDc0cHg7XG4gICAgaGVpZ2h0OiA3NHB4O1xuICB9XG5cbiAgLnRlY2hfX2dyaWQge1xuICAgIGdhcDogNTBweDtcbiAgfVxufVxuXG4vKiA9PT09PSBNb2JpbGUgdHdlYWtzID09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5oZWFkZXJfX2lubmVyIHtcbiAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgfVxuXG4gIC5oZWFkZXJfX2FjdGlvbnMgLmJ0bi0tZ3JhZGllbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmhlcm8ge1xuICAgIHBhZGRpbmc6IDQ4cHggMCA1NnB4O1xuICB9XG5cbiAgLmhlcm9fX2JnOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAxNSU7XG4gIH1cblxuICAuaGVyb19fYnJhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2F1Y2UsXG4gIC5wYWdlLWJhbm5lciB7XG4gICAgbWluLWhlaWdodDogNDUwcHg7XG4gIH1cblxuICAuc2F1Y2VfX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIC5zYXVjZV9fYmFkZ2UtdGV4dCB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC5zYXVjZV9fYmFkZ2UtdGV4dCBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zYXVjZV9fYmFkZ2UtdGV4dC0tYWx0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgLnByb2Nlc3MsXG4gIC5jb250YWN0LFxuICAudGVjaCxcbiAgLmxlZ2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5mZWF0dXJlIHtcbiAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgfVxuXG4gIC5mZWF0dXJlX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5mZWF0dXJlX19ib3gtYmxvY2ssXG4gIC5wYWdlLWhlcm9fX2JveC1ibG9jayB7XG4gICAgbWFyZ2luOiAwIC0yMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuZmVhdHVyZV9fYm94LFxuICAucGFnZS1oZXJvX19ib3gge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHVycGxlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuZmVhdHVyZV9fYm94LXRleHQsXG4gIC5mZWF0dXJlX19ib3gtdGV4dC0tYWx0LFxuICAucGFnZS1oZXJvX19ib3gtdGV4dCxcbiAgLnBhZ2UtaGVyb19fYm94LXRleHQtLWFsdCB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC5mZWF0dXJlX19ib3gtdGV4dC0tYWx0LFxuICAucGFnZS1oZXJvX19ib3gtdGV4dC0tYWx0IHtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG5cbiAgLmZlYXR1cmVfX2JveC10ZXh0IGJyLFxuICAucGFnZS1oZXJvX19ib3gtdGV4dCBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5mZWF0dXJlX19jb250ZW50IHtcbiAgICBnYXA6IDIwcHg7XG4gIH1cblxuICAuZmVhdHVyZV9fY29udGVudC0tZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5mZWF0dXJlX19jb250ZW50IC5idG4ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5wcm9jZXNzX19jYXJkLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIH1cblxuICAucHJvY2Vzc19fbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnRlY2hfX2NhcmQtLWNlbnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xuICB9XG5cbiAgLmZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuZm9vdGVyX19uYXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE2cHg7XG4gIH1cblxuICAuZm9vdGVyX19saXN0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgfVxuXG4gIC5mb290ZXIgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn0iXX0= */