/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@tailwindcss/webpack/dist/index.js!./src/style.css ***!
  \*******************************************************************************************************************/
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: Calibre, sans-serif;
    --font-serif: 'Crimson Pro', serif;
    --font-mono: 'Monaspace Neon', monospace;
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-yellow-100: oklch(97.3% 0.071 103.193);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-950: oklch(28.6% 0.066 53.813);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-400: oklch(76.5% 0.177 163.223);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-emerald-950: oklch(26.2% 0.051 172.552);
    --color-sky-50: oklch(97.7% 0.013 236.62);
    --color-sky-100: oklch(95.1% 0.026 236.824);
    --color-sky-200: oklch(90.1% 0.058 230.902);
    --color-sky-300: oklch(82.8% 0.111 230.318);
    --color-sky-400: oklch(74.6% 0.16 232.661);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-sky-600: oklch(58.8% 0.158 241.966);
    --color-sky-700: oklch(50% 0.134 242.749);
    --color-sky-800: oklch(44.3% 0.11 240.79);
    --color-sky-900: oklch(39.1% 0.09 240.876);
    --color-sky-950: oklch(29.3% 0.066 243.157);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-400: oklch(71.2% 0.194 13.428);
    --color-rose-600: oklch(58.6% 0.253 17.585);
    --color-rose-950: oklch(27.1% 0.105 12.094);
    --color-zinc-100: oklch(96.7% 0.001 286.375);
    --color-zinc-200: oklch(92% 0.004 286.32);
    --color-zinc-300: oklch(87.1% 0.006 286.286);
    --color-zinc-400: oklch(70.5% 0.015 286.067);
    --color-zinc-500: oklch(55.2% 0.016 285.938);
    --color-zinc-600: oklch(44.2% 0.017 285.786);
    --color-zinc-700: oklch(37% 0.013 285.805);
    --color-zinc-800: oklch(27.4% 0.006 286.033);
    --color-zinc-900: oklch(21% 0.006 285.885);
    --color-zinc-950: oklch(14.1% 0.005 285.823);
    --color-stone-50: oklch(98.5% 0.001 106.423);
    --color-stone-100: oklch(97% 0.001 106.424);
    --color-stone-200: oklch(92.3% 0.003 48.717);
    --color-stone-300: oklch(86.9% 0.005 56.366);
    --color-stone-400: oklch(70.9% 0.01 56.259);
    --color-stone-500: oklch(55.3% 0.013 58.071);
    --color-stone-600: oklch(44.4% 0.011 73.639);
    --color-stone-700: oklch(37.4% 0.01 67.558);
    --color-stone-800: oklch(26.8% 0.007 34.298);
    --color-stone-900: oklch(21.6% 0.006 56.043);
    --color-stone-950: oklch(14.7% 0.004 49.25);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --leading-relaxed: 1.625;
    --radius-xs: 0.125rem;
    --radius-lg: 0.5rem;
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --left-col: 4rem;
    --gutter: var(--hairline);
    --max-width: calc(48rem + var(--left-col) + var(--gutter));
    --main-gap: calc(var(--spacing) * 6);
    --horizontal-padding: calc(var(--spacing) * 4);
    --underline-thickness: 0.075em;
    --font-handwriting: 'Gloria Hallelujah', cursive;
    --color-primary-400: var(--color-sky-400);
    --color-primary-500: var(--color-sky-500);
    --color-text: light-dark(var(--color-stone-950), var(--color-zinc-100));
    --color-bg: light-dark(white, var(--color-zinc-950));
    --color-border: light-dark(var(--color-stone-300), var(--color-zinc-800));
    --color-border-light: light-dark(var(--color-stone-200), var(--color-zinc-900));
    --color-accent: light-dark(var(--color-primary-500), var(--color-primary-400));
    --color-light: light-dark(var(--color-stone-700), var(--color-zinc-200));
    --color-soft: light-dark(var(--color-stone-600), var(--color-zinc-300));
    --color-muted: light-dark(var(--color-stone-500), var(--color-zinc-400));
    --color-subtle: color-mix(in srgb, light-dark(var(--color-stone-500), var(--color-zinc-400)) 50%, light-dark(var(--color-stone-400), var(--color-zinc-500)));
    @supports (color: color-mix(in lab, red, red)) {
      --color-subtle: color-mix(in oklab, var(--color-muted) 50%, var(--color-faint));
    }
    --color-faint: light-dark(var(--color-stone-400), var(--color-zinc-500));
    --color-weak: color-mix(in srgb, light-dark(var(--color-stone-400), var(--color-zinc-500)) 50%, light-dark(var(--color-stone-300), var(--color-zinc-600)));
    @supports (color: color-mix(in lab, red, red)) {
      --color-weak: color-mix(in oklab, var(--color-faint) 50%, var(--color-ghost));
    }
    --color-ghost: light-dark(var(--color-stone-300), var(--color-zinc-600));
    --selection-color: oklch(from var(--color-primary-500) l c h / 5%);
    --color-surface: light-dark(var(--color-stone-50), var(--color-zinc-900));
    --color-surface-alt: light-dark(var(--color-stone-100), var(--color-zinc-800));
    --color-surface-hover: light-dark(var(--color-stone-200), var(--color-zinc-700));
    --bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --spring: linear(
    0,
    0.009,
    0.035 2.1%,
    0.141,
    0.281 6.7%,
    0.723 12.9%,
    0.938 16.7%,
    1.017,
    1.077,
    1.121,
    1.149 24.3%,
    1.159,
    1.163,
    1.161,
    1.154 29.9%,
    1.129 32.8%,
    1.051 39.6%,
    1.017 43.1%,
    0.991,
    0.977 51%,
    0.974 53.8%,
    0.975 57.1%,
    0.997 69.8%,
    1.003 76.9%,
    1.004 83.8%,
    1
  );
    --ease-spring: 500ms var(--spring);
    --gentler-spring: linear(
    0,
    0.0039 0.87%,
    0.0199,
    0.0459 3.19%,
    0.0892 4.65%,
    0.1865 7.26%,
    0.5218 15.39%,
    0.6249,
    0.7132,
    0.7864,
    0.8453 27%,
    0.8955,
    0.9328,
    0.9596 36.58%,
    0.9706 38.32%,
    0.9808 40.35%,
    0.9946 44.42%,
    1.003 49.35%,
    1.0056 53.13%,
    1.0063 58.06%,
    1.0014 80.71%,
    1.0001 99.87%
  );
    --ease-gentler-spring: 1.2s var(--gentler-spring);
    --hairline: 0.5px;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .photo-card {
    --initial-y: 0;
    --hover-y: 0;
    --initial-x: 0;
    --hover-x: 0;
    --z: 0;
    --initial-translate-y: calc(var(--spacing) * var(--initial-y));
    --initial-translate-x: calc(var(--spacing) * var(--initial-x));
    &:hover {
      @media (hover: hover) {
        --hover-translate-x: calc(var(--spacing) * var(--hover-x, var(--initial-x)));
        --hover-translate-y: calc(var(--spacing) * var(--hover-y, var(--initial-y)));
      }
    }
    @media (width >= 40rem) {
      z-index: var(--z);
    }
    @media (width >= 40rem) {
      --tw-translate-x: var(--initial-translate-x);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    @media (width >= 40rem) {
      --tw-translate-y: var(--initial-translate-y);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    @media (width >= 40rem) {
      &:hover {
        @media (hover: hover) {
          --tw-translate-x: var(--hover-translate-x);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    @media (width >= 40rem) {
      &:hover {
        @media (hover: hover) {
          --tw-translate-y: var(--hover-translate-y);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    --initial-rotation: 0deg;
    --hover-rotation: 0deg;
    --card-rotation: var(--initial-rotation);
    --card-padding: 0.75rem;
    --shadow-ring: inset 0 0 0 var(--hairline)
    light-dark(oklch(from var(--color-stone-950) l c h / 8%), oklch(from white l c h / 10%));
    --shadow-drop: 0 4px 20px -6px oklch(from var(--color-stone-900) l c h / 0.35),
    0 12px 35px -10px oklch(from var(--color-stone-900) l c h / 0.25);
    --tilt-max: 17deg;
    --tilt-perspective: 600px;
    --tilt-scale: 1.07;
    --tilt-return: 450ms;
    --tilt-return-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --tilt-follow: 100ms;
    --tilt-follow-ease: cubic-bezier(0.3, 0.7, 0.4, 1);
    --tilt-settle: 550ms;
    --tilt-settle-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --tilt-glare-opacity: 0.6;
    --tilt-glare-fade: 120ms;
    --tilt-glare-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --tilt-rx: calc(var(--tilt-y, 0) * var(--tilt-max) * -1);
    --tilt-ry: calc(var(--tilt-x, 0) * var(--tilt-max));
    --glare-x: calc(50% + var(--tilt-x, 0) * 50%);
    --glare-y: calc(50% + var(--tilt-y, 0) * 50%);
    --tilt-speed: var(--tilt-return);
    --tilt-ease: var(--tilt-return-ease);
    &.is-tilting {
      --tilt-speed: var(--tilt-follow);
      --tilt-ease: var(--tilt-follow-ease);
    }
    position: relative;
    cursor: pointer;
    perspective: var(--tilt-perspective);
    transition: translate var(--tilt-settle) var(--tilt-settle-ease);
    will-change: translate;
    &:hover {
      --card-rotation: var(--hover-rotation);
      --card-scale: var(--tilt-scale);
      --shadow-drop: 0 8px 24px -6px oklch(from var(--color-stone-900) l c h / 0.42),
      0 16px 40px -10px oklch(from var(--color-stone-900) l c h / 0.32);
    }
    & > .photo-card-inner {
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: var(--color-stone-50);
      padding: var(--card-padding);
      border-radius: 0.5rem;
      box-shadow: var(--shadow-ring), var(--shadow-drop);
      rotate: var(--card-rotation);
      scale: var(--card-scale, 1);
      transform: rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry));
      transition: transform var(--tilt-speed) var(--tilt-ease), rotate var(--tilt-settle) var(--tilt-settle-ease), scale var(--tilt-settle) var(--tilt-settle-ease), box-shadow var(--tilt-settle) var(--tilt-settle-ease);
      will-change: transform;
    }
    & > .photo-card-inner > img {
      display: block;
      width: 100%;
      aspect-ratio: 1;
      object-fit: cover;
      border-radius: 0.125rem;
    }
    & > .photo-card-inner > figcaption {
      padding: 0.625rem 0.25rem 0.375rem;
      margin-block: auto;
      text-align: center;
      font-family: var(--font-handwriting);
      font-size: 1rem;
      line-height: 1;
      color: var(--color-stone-700);
    }
    & > .photo-card-inner::before {
      content: '';
      position: absolute;
      inset: var(--card-padding) var(--card-padding) auto;
      aspect-ratio: 1;
      border-radius: 0.125rem;
      box-shadow: inset 0 0 0 var(--hairline) oklch(1 0 0 / 0.7), inset 0 2px 4px oklch(0 0 0 / 0.35), inset 0 0 14px oklch(0 0 0 / 0.35);
      pointer-events: none;
    }
    & > .photo-card-inner::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      mix-blend-mode: screen;
      background: radial-gradient( circle 95px at var(--glare-x) var(--glare-y), oklch(1 0 0 / 0.48), oklch(1 0 0 / 0.06) 52%, oklch(1 0 0 / 0) 84% ), radial-gradient( circle 200px at var(--glare-x) var(--glare-y), oklch(1 0 0 / 0.22), oklch(1 0 0 / 0.04) 58%, oklch(1 0 0 / 0) 78% ), radial-gradient( circle 360px at var(--glare-x) var(--glare-y), oklch(1 0 0 / 0.1), oklch(1 0 0 / 0) 88% );
      opacity: 0;
      transition: opacity var(--tilt-glare-fade) var(--tilt-glare-ease);
      pointer-events: none;
      z-index: 1;
    }
    &:hover > .photo-card-inner::after {
      opacity: var(--tilt-glare-opacity);
    }
    @media (prefers-reduced-motion: reduce) {
      transition: none;
      & > .photo-card-inner {
        rotate: var(--initial-rotation);
        scale: none;
        transform: none;
        transition: none;
      }
    }
  }
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .timeline-role {
    --angle: 20deg;
    --half-logo-size: calc(var(--logo-size) / 2);
    --line-color: var(--color-border);
    position: relative;
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 4);
    margin-left: var(--half-logo-size);
    padding-left: var(--logo-size);
    &::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 1px;
      height: calc(50% - var(--half-logo-size) * tan(var(--angle)) - 1px);
      border-radius: 9999px;
      background-color: var(--line-color);
    }
    &:not(:last-child)::before {
      height: calc(100% + 1px);
    }
    &::after {
      content: '';
      position: absolute;
      left: 0;
      top: calc(50% - var(--half-logo-size) * tan(var(--angle)) - 2px);
      width: calc((var(--logo-size) * 0.75) / cos(var(--angle)));
      height: 1px;
      transform-origin: left;
      rotate: var(--angle);
      border-radius: 9999px;
      background-color: var(--line-color);
    }
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-x-0 {
    inset-inline: 0px;
  }
  .-top-8 {
    top: calc(var(--spacing) * -8);
  }
  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .photo-gallery {
    --gallery-columns: 3;
    --gallery-overlap-y: 0.5rem;
    isolation: isolate;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 0;
    padding: calc(0.5rem + var(--gallery-overlap-y)) 0 0.5rem;
    & > .photo-card {
      flex: 0 0 calc(100% / var(--gallery-columns));
      margin-top: calc(-1 * var(--gallery-overlap-y));
    }
    @media (max-width: 40rem) {
      --gallery-columns: 1;
      max-width: 65vw;
      margin-inline: auto;
      gap: 0;
    }
  }
  .isolate {
    isolation: isolate;
  }
  .z-50 {
    z-index: 50;
  }
  .container {
    width: 100%;
    @media (width >= 30rem) {
      max-width: 30rem;
    }
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .blurry-link-list {
    display: flex;
    gap: var(--link-spacing);
    a {
      margin: calc(calc(var(--link-spacing) / 2) * -1);
      padding: calc(var(--link-spacing) / 2);
    }
    &:has(a:hover) a:not(:hover), &:has(a:focus-visible) a:not(:focus-visible) {
      --tw-blur: blur(1.5px);
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
  }
  .-m-0\.5 {
    margin: calc(var(--spacing) * -0.5);
  }
  .btn {
    font: inherit;
    font-weight: 600;
    color: var(--color-soft);
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.35rem 0.6rem;
    &:has(> svg:first-child, > :first-child > svg) {
      padding-left: 0.5rem;
    }
    &:has(> svg:last-child, > :last-child > svg) {
      padding-right: 0.5rem;
    }
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    @supports (corner-shape: squircle) {
      corner-shape: squircle;
      border-radius: 1.5rem;
    }
    transition: color 100ms, background-color 100ms, width 100ms, scale 100ms, transform var(--ease-spring);
    &:hover {
      color: var(--color-text);
      background-color: var(--color-surface-alt);
    }
    &:active {
      scale: 0.97;
    }
    svg:not([class*="size-"]) {
      height: calc(var(--spacing) * 5);
      width: calc(var(--spacing) * 5);
    }
    svg[data-icon='arrow-up'] {
      margin-top: 2px;
      margin-inline: -0.2em;
    }
    svg[data-icon="arrow-up-right"] {
      margin-top: 2px;
      margin-right: 1px;
      margin-left: -2px;
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-\(--vertical-padding\) {
    margin-block: var(--vertical-padding);
  }
  .-mt-2 {
    margin-top: calc(var(--spacing) * -2);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mail-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    text-underline-offset: 2px;
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-right: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    &:hover {
      @media (hover: hover) {
        &::before {
          content: var(--tw-content);
          background-color: var(--color-accent);
        }
      }
    }
    &:hover {
      @media (hover: hover) {
        &::before {
          content: var(--tw-content);
          transform: translateY(-2px);
        }
      }
    }
    &:focus-visible {
      &::before {
        content: var(--tw-content);
        transform: translateY(-2px);
      }
    }
    --before-icon-url: url(/289463c92d454d9c367a.svg);
    &:hover {
      @media (hover: hover) {
        --before-icon-url: url(/3fdd56fc3074e0239164.svg);
      }
    }
    &:focus-visible {
      --before-icon-url: url(/3fdd56fc3074e0239164.svg);
    }
  }
  .linkedin-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    text-underline-offset: 2px;
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-right: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    &:hover {
      @media (hover: hover) {
        &::before {
          content: var(--tw-content);
          background-color: var(--color-accent);
        }
      }
    }
    &::before {
      content: var(--tw-content);
      margin-bottom: 0.1em;
    }
    --before-icon-url: url(/0a6714339e3b19912e99.svg);
  }
  .github-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    text-underline-offset: 2px;
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-right: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    &:hover {
      @media (hover: hover) {
        &::before {
          content: var(--tw-content);
          background-color: var(--color-accent);
        }
      }
    }
    --before-icon-url: url(/1bbe87ee06ff71abd036.svg);
  }
  .x-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    text-underline-offset: 2px;
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-right: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    &:hover {
      @media (hover: hover) {
        &::before {
          content: var(--tw-content);
          background-color: var(--color-accent);
        }
      }
    }
    --before-icon-url: url(/afbd8b11e60553224ba2.svg);
  }
  .external-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    text-underline-offset: 2px;
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::after {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-left: 0.2em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--after-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    &:hover {
      @media (hover: hover) {
        &::after {
          content: var(--tw-content);
          background-color: var(--color-accent);
        }
      }
    }
    &:hover {
      @media (hover: hover) {
        &::after {
          content: var(--tw-content);
          transform: translate(1.5px,-1.5px);
        }
      }
    }
    --after-icon-url: url(/d91c56b7c5d98f4f8e5b.svg);
    &::after {
      width: 0.75em;
      height: 0.75em;
      margin-left: 0;
      margin-right: -0.15em;
      vertical-align: text-top;
    }
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .stacked-icons-container {
    display: grid;
    place-items: center;
  }
  .stacked-text-container {
    display: grid;
    place-items: start;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .size-\(--logo-size\) {
    width: var(--logo-size);
    height: var(--logo-size);
  }
  .size-1\.5 {
    width: calc(var(--spacing) * 1.5);
    height: calc(var(--spacing) * 1.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .size-24 {
    width: calc(var(--spacing) * 24);
    height: calc(var(--spacing) * 24);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .w-0 {
    width: 0px;
  }
  .w-full {
    width: 100%;
  }
  .max-w-\(--max-width\) {
    max-width: var(--max-width);
  }
  .max-w-\[76ch\] {
    max-width: 76ch;
  }
  .min-w-0 {
    min-width: 0px;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .stacked-icon {
    grid-area: 1 / 1;
    transform-origin: center;
    transition: opacity 200ms ease, scale 200ms var(--bounce), filter 200ms ease;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-\[-0\.5px\] {
    --tw-translate-x: -0.5px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .stacked-icon--hidden {
    opacity: 0;
    scale: 0.5;
    filter: blur(4px);
  }
  .stacked-text--hidden-above {
    opacity: 0;
    transform: translateY(-50%) scale(0.9);
  }
  .stacked-text--hidden-below {
    opacity: 0;
    transform: translateY(50%) scale(0.9);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .scrollbar-thumb-faint {
    --tw-scrollbar-thumb: var(--color-faint);
    scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);
  }
  .scrollbar-track-transparent {
    --tw-scrollbar-track: transparent;
    scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-\[calc\(var\(--logo-size\)\/2\)\] {
    gap: calc(var(--logo-size) / 2);
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }
  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }
  .self-start {
    align-self: flex-start;
  }
  .justify-self-center {
    justify-self: center;
  }
  .justify-self-start {
    justify-self: flex-start;
  }
  .scroll-smooth {
    scroll-behavior: smooth;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-hairline {
    border-width: var(--hairline);
  }
  .border-t-hairline {
    border-top-width: var(--hairline);
  }
  .border-l-hairline {
    border-left-width: var(--hairline);
  }
  .border-\(--color-border\) {
    border-color: var(--color-border);
  }
  .border-faint {
    border-color: var(--color-faint);
  }
  .border-stone-200 {
    border-color: var(--color-stone-200);
  }
  .bg-\(--color-border\) {
    background-color: var(--color-border);
  }
  .bg-accent {
    background-color: var(--color-accent);
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .fill-\[\#24292f\] {
    fill: #24292f;
  }
  .fill-black {
    fill: var(--color-black);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .px-\(--horizontal-padding\) {
    padding-inline: var(--horizontal-padding);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .py-\(--vertical-padding\) {
    padding-block: var(--vertical-padding);
  }
  .py-0\.75 {
    padding-block: calc(var(--spacing) * 0.75);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-\[calc\(var\(--vertical-padding\)\*3\)\] {
    padding-top: calc(var(--vertical-padding) * 3);
  }
  .pb-\(--bottom-padding\) {
    padding-bottom: var(--bottom-padding);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base\/relaxed {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-\[0\.8rem\] {
    font-size: 0.8rem;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .text-pretty {
    text-wrap: pretty;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    text-underline-offset: 2px;
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
  }
  .text-accent {
    color: var(--color-accent);
  }
  .text-light {
    color: var(--color-light);
  }
  .text-stone-600 {
    color: var(--color-stone-600);
  }
  .text-stone-800 {
    color: var(--color-stone-800);
  }
  .text-stone-900 {
    color: var(--color-stone-900);
  }
  .text-subtle {
    color: var(--color-subtle);
  }
  .text-weak {
    color: var(--color-weak);
  }
  .text-white {
    color: var(--color-white);
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .underline {
    text-decoration-line: underline;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-stone-800\/10 {
    --tw-shadow-color: color-mix(in srgb, oklch(26.8% 0.007 34.298) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-stone-800) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[colors\,scale\] {
    transition-property: colors,scale;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-100 {
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .ease-spring {
    --tw-ease: var(--ease-spring);
    transition-timing-function: var(--ease-spring);
  }
  .stacked-text {
    grid-area: 1 / 1;
    transition: opacity 200ms ease, transform 200ms var(--bounce);
  }
  .\[--bottom-padding\:calc\(var\(--vertical-padding\)\*2\)\] {
    --bottom-padding: calc(var(--vertical-padding) * 2);
  }
  .\[--hover-rotation\:-2deg\] {
    --hover-rotation: -2deg;
  }
  .\[--hover-rotation\:-3deg\] {
    --hover-rotation: -3deg;
  }
  .\[--hover-rotation\:-4deg\] {
    --hover-rotation: -4deg;
  }
  .\[--hover-rotation\:3deg\] {
    --hover-rotation: 3deg;
  }
  .\[--hover-x\:-2\] {
    --hover-x: -2;
  }
  .\[--hover-x\:-3\] {
    --hover-x: -3;
  }
  .\[--hover-x\:2\] {
    --hover-x: 2;
  }
  .\[--hover-x\:4\] {
    --hover-x: 4;
  }
  .\[--hover-y\:-1\] {
    --hover-y: -1;
  }
  .\[--hover-y\:-2\] {
    --hover-y: -2;
  }
  .\[--hover-y\:-6\] {
    --hover-y: -6;
  }
  .\[--hover-y\:0\] {
    --hover-y: 0;
  }
  .\[--hover-y\:1\.5\] {
    --hover-y: 1.5;
  }
  .\[--initial-rotation\:-5deg\] {
    --initial-rotation: -5deg;
  }
  .\[--initial-rotation\:-9deg\] {
    --initial-rotation: -9deg;
  }
  .\[--initial-rotation\:1deg\] {
    --initial-rotation: 1deg;
  }
  .\[--initial-rotation\:6deg\] {
    --initial-rotation: 6deg;
  }
  .\[--initial-rotation\:7deg\] {
    --initial-rotation: 7deg;
  }
  .\[--initial-rotation\:9deg\] {
    --initial-rotation: 9deg;
  }
  .\[--initial-x\:0\] {
    --initial-x: 0;
  }
  .\[--initial-y\:-1\.5\] {
    --initial-y: -1.5;
  }
  .\[--initial-y\:-1\] {
    --initial-y: -1;
  }
  .\[--initial-y\:-2\] {
    --initial-y: -2;
  }
  .\[--initial-y\:3\] {
    --initial-y: 3;
  }
  .\[--link-spacing\:--spacing\(4\)\] {
    --link-spacing: calc(var(--spacing) * 4);
  }
  .\[--logo-size\:--spacing\(5\)\] {
    --logo-size: calc(var(--spacing) * 5);
  }
  .\[--tilt-scale\:1\.1\] {
    --tilt-scale: 1.1;
  }
  .\[--vertical-padding\:--spacing\(12\)\] {
    --vertical-padding: calc(var(--spacing) * 12);
  }
  .\[--z\:1\] {
    --z: 1;
  }
  .\[--z\:2\] {
    --z: 2;
  }
  .\[--z\:3\] {
    --z: 3;
  }
  .\[--z\:4\] {
    --z: 4;
  }
  .\[--z\:5\] {
    --z: 5;
  }
  .ease-spring {
    transition: var(--ease-spring);
  }
  @supports (corner-shape: squircle) {
    .squircle {
      corner-shape: squircle;
    }
  }
  :is(.\*\:px-3 > *) {
    padding-inline: calc(var(--spacing) * 3);
  }
  :is(.\*\:py-3 > *) {
    padding-block: calc(var(--spacing) * 3);
  }
  .not-group-hover\:translate-y-1:not(:is(:where(.group):hover *)) {
    --tw-translate-y: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  @media not (hover: hover) {
    .not-group-hover\:translate-y-1 {
      --tw-translate-y: var(--spacing);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .not-group-hover\:scale-97:not(:is(:where(.group):hover *)) {
    --tw-scale-x: 97%;
    --tw-scale-y: 97%;
    --tw-scale-z: 97%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  @media not (hover: hover) {
    .not-group-hover\:scale-97 {
      --tw-scale-x: 97%;
      --tw-scale-y: 97%;
      --tw-scale-z: 97%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .not-group-hover\:opacity-0:not(:is(:where(.group):hover *)) {
    opacity: 0%;
  }
  @media not (hover: hover) {
    .not-group-hover\:opacity-0 {
      opacity: 0%;
    }
  }
  .not-hover\:not-focus-within\:opacity-50:not(:hover):not(:focus-within) {
    opacity: 50%;
  }
  @media not (hover: hover) {
    .not-hover\:not-focus-within\:opacity-50:not(:focus-within) {
      opacity: 50%;
    }
  }
  .not-in-data-\[page\=blog-post\]\:hidden:not(:where([data-page="blog-post"]) *) {
    display: none;
  }
  .not-in-data-\[page\=til-entry\]\:hidden:not(:where([data-page="til-entry"]) *) {
    display: none;
  }
  .not-in-data-\[page\=blog-index\]\:not-in-data-\[page\=til-index\]\:hidden:not(:where([data-page="blog-index"]) *):not(:where([data-page="til-index"]) *) {
    display: none;
  }
  @media not (prefers-color-scheme: dark) {
    .not-dark\:shadow-md {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  @media (hover: hover) {
    .group-hover\/arrow-right\:translate-x-0\.75:is(:where(.group\/arrow-right):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/arrow-up\:-translate-y-0\.75:is(:where(.group\/arrow-up):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/arrow-up-right\:translate-x-0\.75:is(:where(.group\/arrow-up-right):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/arrow-up-right\:-translate-y-0\.75:is(:where(.group\/arrow-up-right):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:-translate-x-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-x: calc(var(--spacing) * -0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:translate-x-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:-translate-y-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:translate-y-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-y: calc(var(--spacing) * 0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/external-link\:translate-x-0\.5:is(:where(.group\/external-link):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/external-link\:-translate-y-0\.5:is(:where(.group\/external-link):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  :is(.\*\:first\:pl-3\.5 > *):first-child {
    padding-left: calc(var(--spacing) * 3.5);
  }
  :is(.\*\:last\:pr-3\.5 > *):last-child {
    padding-right: calc(var(--spacing) * 3.5);
  }
  @media (hover: hover) {
    .hover\:text-stone-900:hover {
      color: var(--color-stone-900);
    }
    .hover\:text-text:hover {
      color: var(--color-text);
    }
  }
  .active\:scale-97:active {
    --tw-scale-x: 97%;
    --tw-scale-y: 97%;
    --tw-scale-z: 97%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  :where([data-page*="til"]) .in-data-\[page\*\=til\]\:text-stone-900 {
    color: var(--color-stone-900);
  }
  :where([data-page="home"]) .in-data-\[page\=home\]\:text-text {
    color: var(--color-text);
  }
  :where([data-page^="blog"]) .in-data-\[page\^\=blog\]\:text-text {
    color: var(--color-text);
  }
  @media (width < 40rem) {
    .max-sm\:mb-4 {
      margin-bottom: calc(var(--spacing) * 4);
    }
    .max-sm\:hidden {
      display: none;
    }
    .max-sm\:max-w-\[65vw\] {
      max-width: 65vw;
    }
    .max-sm\:translate-y-2 {
      --tw-translate-y: calc(var(--spacing) * 2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .max-sm\:flex-col {
      flex-direction: column;
    }
    .max-sm\:justify-between {
      justify-content: space-between;
    }
    .max-sm\:px-\(--horizontal-padding\) {
      padding-inline: var(--horizontal-padding);
    }
    .max-sm\:py-4 {
      padding-block: calc(var(--spacing) * 4);
    }
  }
  @media (width >= 40rem) {
    .sm\:sticky {
      position: sticky;
    }
    .sm\:top-2 {
      top: calc(var(--spacing) * 2);
    }
    .sm\:top-8 {
      top: calc(var(--spacing) * 8);
    }
    .sm\:row-span-2 {
      grid-row: span 2 / span 2;
    }
    .sm\:mx-auto {
      margin-inline: auto;
    }
    .sm\:-mb-\[calc\(var\(--bottom-padding\)\+var\(--vertical-padding\)\)\] {
      margin-bottom: calc(calc(var(--bottom-padding) + var(--vertical-padding)) * -1);
    }
    .sm\:grid {
      display: grid;
    }
    .sm\:w-48 {
      width: calc(var(--spacing) * 48);
    }
    .sm\:grid-cols-\[1fr_auto\] {
      grid-template-columns: 1fr auto;
    }
    .sm\:grid-cols-\[var\(--left-col\)_var\(--gutter\)_1fr\] {
      grid-template-columns: var(--left-col) var(--gutter) 1fr;
    }
    .sm\:items-center {
      align-items: center;
    }
    .sm\:justify-center {
      justify-content: center;
    }
    .sm\:gap-\(--main-gap\) {
      gap: var(--main-gap);
    }
    .sm\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }
    .sm\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }
    .sm\:gap-y-4 {
      row-gap: calc(var(--spacing) * 4);
    }
    .sm\:self-start {
      align-self: flex-start;
    }
    .sm\:text-right {
      text-align: right;
    }
    .sm\:\[--gallery-columns\:3\] {
      --gallery-columns: 3;
    }
  }
  @media (width >= 48rem) {
    .md\:hidden {
      display: none;
    }
  }
  @media (prefers-color-scheme: dark) {
    .dark\:border-zinc-800 {
      border-color: var(--color-zinc-800);
    }
    .dark\:bg-white {
      background-color: var(--color-white);
    }
    .dark\:bg-zinc-900 {
      background-color: var(--color-zinc-900);
    }
    .dark\:bg-zinc-950 {
      background-color: var(--color-zinc-950);
    }
    .dark\:fill-\[\#fff\] {
      fill: #fff;
    }
    .dark\:fill-white {
      fill: var(--color-white);
    }
    .dark\:text-black {
      color: var(--color-black);
    }
    .dark\:text-stone-100 {
      color: var(--color-stone-100);
    }
    .dark\:text-zinc-100 {
      color: var(--color-zinc-100);
    }
    .dark\:text-zinc-300 {
      color: var(--color-zinc-300);
    }
    .dark\:selection\:bg-primary-500\/40 ::selection {
      background-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-primary-500) 40%, transparent);
      }
    }
    .dark\:selection\:bg-primary-500\/40::selection {
      background-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-primary-500) 40%, transparent);
      }
    }
    @media (hover: hover) {
      .dark\:hover\:text-white:hover {
        color: var(--color-white);
      }
    }
    :where([data-page*="til"]) .dark\:in-data-\[page\*\=til\]\:text-white {
      color: var(--color-white);
    }
  }
  @supports (corner-shape: squircle) {
    .supports-squircle\:rounded-full {
      border-radius: calc(infinity * 1px);
    }
  }
}
@layer base {
  @font-face {
    font-family: 'Calibre';
    font-style: normal;
    font-weight: 400;
    src: url(/fonts/calibre-regular.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: italic;
    font-weight: 400;
    src: url(/fonts/calibre-regular-italic.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: normal;
    font-weight: 600;
    src: url(/fonts/calibre-semibold.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: italic;
    font-weight: 600;
    src: url(/fonts/calibre-semibold-italic.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: normal;
    font-weight: 700;
    src: url(/fonts/calibre-bold.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Monaspace Neon';
    font-style: normal;
    font-weight: 200 800;
    src: url("/fonts/Monaspace%20Neon%20Var.woff2") format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Crimson Pro';
    font-style: italic;
    font-weight: 200 900;
    src: url(/fonts/CrimsonPro-Italic-VariableFont_wght.ttf) format('truetype');
    font-display: swap;
  }
  @font-face {
    font-family: 'Crimson Pro';
    font-style: normal;
    font-weight: 200 900;
    src: url(/fonts/CrimsonPro-VariableFont_wght.ttf) format('truetype');
    font-display: swap;
  }
  @font-face {
    font-family: 'Gloria Hallelujah';
    font-style: normal;
    font-weight: 500;
    src: url(/fonts/GloriaHallelujah-Regular.ttf) format('truetype');
    font-display: swap;
  }
}
@scope (.blog-post-list) {
  :scope {
    --hover-transition: 60ms;
    --item-vertical-padding: 0.5rem;
    --item-horizontal-padding: 0.75rem;
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0 calc(var(--item-horizontal-padding) * -1);
    isolation: isolate;
  }
  :scope::before {
    content: '';
    display: inline-block;
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background: light-dark(var(--color-surface-alt), var(--color-surface));
    border-radius: 0.5rem;
    @supports (corner-shape: squircle) {
      corner-shape: squircle;
      border-radius: 1rem;
    }
    transition: inset calc(var(--hover-transition) * 2) var(--gentler-spring), opacity var(--hover-transition);
    will-change: inset, opacity;
    transform-origin: center;
    position-anchor: --hovered-item;
    inset: anchor(inside);
  }
  .blog-list-item {
    margin: 0;
    transition: opacity var(--hover-transition);
    border-radius: 0.5rem;
    @supports (corner-shape: squircle) {
      corner-shape: squircle;
      border-radius: 1rem;
    }
    a {
      display: flex;
      justify-content: space-between;
      gap: 0.5rem;
      padding: var(--item-vertical-padding) var(--item-horizontal-padding);
      text-decoration: none;
      &:hover {
        color: inherit;
      }
    }
    position: relative;
    z-index: 1;
    &:hover {
      anchor-name: --hovered-item;
    }
    .blog-post-list:has(&:hover) &:not(:hover) {
      opacity: 20%;
    }
    &:not(:last-child)::after {
      content: '';
      display: block;
      height: var(--hairline);
      width: calc(100% - var(--item-horizontal-padding) * 2);
      margin-inline: auto;
      background: var(--color-border-light);
      transition: opacity var(--hover-transition);
    }
    &:hover::after, &:has(+ &:hover)::after {
      opacity: 0;
    }
    .blog-list-item__title {
      font-size: 1.05rem;
      font-weight: 600;
      text-wrap: pretty;
    }
    .blog-list-item__date {
      font-variant-numeric: tabular-nums;
      font-size: 0.85rem;
      color: var(--color-subtle);
      white-space: nowrap;
      margin-top: 0.2em;
    }
  }
}
:root {
  color-scheme: light dark;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
@layer base {
  html, body {
    height: 100%;
  }
  #wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  #main {
    flex: 1;
  }
}
::selection {
  background: var(--selection-color);
  color: var(--color-accent);
  text-decoration: dotted underline var(--color-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-scrollbar-thumb {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-scrollbar-track {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-content: "";
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-scrollbar-thumb: #0000;
      --tw-scrollbar-track: #0000;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/highlight.js/styles/github.min.css (media not (prefers-color-scheme: dark)) ***!
  \********************************************************************************************************************************************/
@media not (prefers-color-scheme: dark) {
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
}
/*!*********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/highlight.js/styles/github-dark.min.css (media (prefers-color-scheme: dark)) ***!
  \*********************************************************************************************************************************************/
@media (prefers-color-scheme: dark) {
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
}
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@tailwindcss/webpack/dist/index.js!./src/highlight-theme.css ***!
  \*****************************************************************************************************************************/
/* Default (light) */

/* Dark theme when the user prefers dark mode */

/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@tailwindcss/webpack/dist/index.js!./src/404.css ***!
  \*****************************************************************************************************************/
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@scope (.page-404) {
  :scope {
    font-family: var(--font-sans);
    color: var(--color-text);
  }
  .page-404__hero {
    max-width: 76ch;
  }
  .page-404__intro {
    font-size: 1.25rem;
    color: var(--color-text);
    text-wrap: pretty;
    margin-bottom: 1.5rem;
  }
  .page-404__body {
    max-width: 76ch;
    color: var(--color-muted);
    text-wrap: pretty;
    a:not(:hover) {
      color: var(--color-text);
    }
  }
  .page-404__rule {
    border: 0;
    height: var(--hairline);
    border-radius: 9999px;
    background-color: var(--color-border-light);
  }
}
.page-404__numeral {
  width: max-content;
  margin-bottom: 1.5rem;
  line-height: 1;
  font-weight: 700;
  font-size: clamp(9rem, 15vw, 14rem);
  color: light-dark(var(--color-primary-400), var(--color-primary-500));
  text-shadow: 0 3.5px 6px oklch(0% 0 0 / 0.09);
  animation: page-404-pop 900ms var(--spring) both;
}
@keyframes page-404-pop {
  from {
    opacity: 0;
    scale: 0.85;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-404__numeral {
    animation: none !important;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Qix3QkFBd0I7SUFDeEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtFQUN2QjtFQUNBO0lBQ0UsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakI7TUFDRSx3QkFBd0I7SUFDMUI7RUFDRjtFQUNBO0lBQ0UsU0FBUztJQUNULHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsMkNBQTJDO0VBQzdDO0FBQ0Y7QUFDQTtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixtQ0FBbUM7RUFDbkMscUVBQXFFO0VBQ3JFLDZDQUE2QztFQUM3QyxnREFBZ0Q7QUFDbEQ7QUFDQTtFQUNFO0lBQ0UsVUFBVTtJQUNWLFdBQVc7RUFDYjtFQUNBO0lBQ0UsVUFBVTtFQUNaO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0VBQzVCO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly95Ly4vc3JjL3N0eWxlLmNzcyIsIndlYnBhY2s6Ly95Ly4vbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9zdHlsZXMvZ2l0aHViLm1pbi5jc3MiLCJ3ZWJwYWNrOi8veS8uL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvc3R5bGVzL2dpdGh1Yi1kYXJrLm1pbi5jc3MiLCJ3ZWJwYWNrOi8veS8uL3NyYy9oaWdobGlnaHQtdGhlbWUuY3NzIiwid2VicGFjazovL3kvLi9zcmMvNDA0LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgdGFpbHdpbmRjc3MgdjQuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSAqL1xuQGxheWVyIHByb3BlcnRpZXM7XG5AbGF5ZXIgdGhlbWUsIGJhc2UsIGNvbXBvbmVudHMsIHV0aWxpdGllcztcbkBsYXllciB0aGVtZSB7XG4gIDpyb290LCA6aG9zdCB7XG4gICAgLS1mb250LXNhbnM6IENhbGlicmUsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LXNlcmlmOiAnQ3JpbXNvbiBQcm8nLCBzZXJpZjtcbiAgICAtLWZvbnQtbW9ubzogJ01vbmFzcGFjZSBOZW9uJywgbW9ub3NwYWNlO1xuICAgIC0tY29sb3ItcmVkLTUwMDogb2tsY2goNjMuNyUgMC4yMzcgMjUuMzMxKTtcbiAgICAtLWNvbG9yLW9yYW5nZS01MDA6IG9rbGNoKDcwLjUlIDAuMjEzIDQ3LjYwNCk7XG4gICAgLS1jb2xvci15ZWxsb3ctMTAwOiBva2xjaCg5Ny4zJSAwLjA3MSAxMDMuMTkzKTtcbiAgICAtLWNvbG9yLXllbGxvdy00MDA6IG9rbGNoKDg1LjIlIDAuMTk5IDkxLjkzNik7XG4gICAgLS1jb2xvci15ZWxsb3ctNTAwOiBva2xjaCg3OS41JSAwLjE4NCA4Ni4wNDcpO1xuICAgIC0tY29sb3IteWVsbG93LTYwMDogb2tsY2goNjguMSUgMC4xNjIgNzUuODM0KTtcbiAgICAtLWNvbG9yLXllbGxvdy05NTA6IG9rbGNoKDI4LjYlIDAuMDY2IDUzLjgxMyk7XG4gICAgLS1jb2xvci1ncmVlbi01MDA6IG9rbGNoKDcyLjMlIDAuMjE5IDE0OS41NzkpO1xuICAgIC0tY29sb3ItZW1lcmFsZC0xMDA6IG9rbGNoKDk1JSAwLjA1MiAxNjMuMDUxKTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtNDAwOiBva2xjaCg3Ni41JSAwLjE3NyAxNjMuMjIzKTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtNjAwOiBva2xjaCg1OS42JSAwLjE0NSAxNjMuMjI1KTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtOTUwOiBva2xjaCgyNi4yJSAwLjA1MSAxNzIuNTUyKTtcbiAgICAtLWNvbG9yLXNreS01MDogb2tsY2goOTcuNyUgMC4wMTMgMjM2LjYyKTtcbiAgICAtLWNvbG9yLXNreS0xMDA6IG9rbGNoKDk1LjElIDAuMDI2IDIzNi44MjQpO1xuICAgIC0tY29sb3Itc2t5LTIwMDogb2tsY2goOTAuMSUgMC4wNTggMjMwLjkwMik7XG4gICAgLS1jb2xvci1za3ktMzAwOiBva2xjaCg4Mi44JSAwLjExMSAyMzAuMzE4KTtcbiAgICAtLWNvbG9yLXNreS00MDA6IG9rbGNoKDc0LjYlIDAuMTYgMjMyLjY2MSk7XG4gICAgLS1jb2xvci1za3ktNTAwOiBva2xjaCg2OC41JSAwLjE2OSAyMzcuMzIzKTtcbiAgICAtLWNvbG9yLXNreS02MDA6IG9rbGNoKDU4LjglIDAuMTU4IDI0MS45NjYpO1xuICAgIC0tY29sb3Itc2t5LTcwMDogb2tsY2goNTAlIDAuMTM0IDI0Mi43NDkpO1xuICAgIC0tY29sb3Itc2t5LTgwMDogb2tsY2goNDQuMyUgMC4xMSAyNDAuNzkpO1xuICAgIC0tY29sb3Itc2t5LTkwMDogb2tsY2goMzkuMSUgMC4wOSAyNDAuODc2KTtcbiAgICAtLWNvbG9yLXNreS05NTA6IG9rbGNoKDI5LjMlIDAuMDY2IDI0My4xNTcpO1xuICAgIC0tY29sb3ItcHVycGxlLTUwMDogb2tsY2goNjIuNyUgMC4yNjUgMzAzLjkpO1xuICAgIC0tY29sb3ItcGluay01MDA6IG9rbGNoKDY1LjYlIDAuMjQxIDM1NC4zMDgpO1xuICAgIC0tY29sb3Itcm9zZS0xMDA6IG9rbGNoKDk0LjElIDAuMDMgMTIuNTgpO1xuICAgIC0tY29sb3Itcm9zZS00MDA6IG9rbGNoKDcxLjIlIDAuMTk0IDEzLjQyOCk7XG4gICAgLS1jb2xvci1yb3NlLTYwMDogb2tsY2goNTguNiUgMC4yNTMgMTcuNTg1KTtcbiAgICAtLWNvbG9yLXJvc2UtOTUwOiBva2xjaCgyNy4xJSAwLjEwNSAxMi4wOTQpO1xuICAgIC0tY29sb3ItemluYy0xMDA6IG9rbGNoKDk2LjclIDAuMDAxIDI4Ni4zNzUpO1xuICAgIC0tY29sb3ItemluYy0yMDA6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAgIC0tY29sb3ItemluYy0zMDA6IG9rbGNoKDg3LjElIDAuMDA2IDI4Ni4yODYpO1xuICAgIC0tY29sb3ItemluYy00MDA6IG9rbGNoKDcwLjUlIDAuMDE1IDI4Ni4wNjcpO1xuICAgIC0tY29sb3ItemluYy01MDA6IG9rbGNoKDU1LjIlIDAuMDE2IDI4NS45MzgpO1xuICAgIC0tY29sb3ItemluYy02MDA6IG9rbGNoKDQ0LjIlIDAuMDE3IDI4NS43ODYpO1xuICAgIC0tY29sb3ItemluYy03MDA6IG9rbGNoKDM3JSAwLjAxMyAyODUuODA1KTtcbiAgICAtLWNvbG9yLXppbmMtODAwOiBva2xjaCgyNy40JSAwLjAwNiAyODYuMDMzKTtcbiAgICAtLWNvbG9yLXppbmMtOTAwOiBva2xjaCgyMSUgMC4wMDYgMjg1Ljg4NSk7XG4gICAgLS1jb2xvci16aW5jLTk1MDogb2tsY2goMTQuMSUgMC4wMDUgMjg1LjgyMyk7XG4gICAgLS1jb2xvci1zdG9uZS01MDogb2tsY2goOTguNSUgMC4wMDEgMTA2LjQyMyk7XG4gICAgLS1jb2xvci1zdG9uZS0xMDA6IG9rbGNoKDk3JSAwLjAwMSAxMDYuNDI0KTtcbiAgICAtLWNvbG9yLXN0b25lLTIwMDogb2tsY2goOTIuMyUgMC4wMDMgNDguNzE3KTtcbiAgICAtLWNvbG9yLXN0b25lLTMwMDogb2tsY2goODYuOSUgMC4wMDUgNTYuMzY2KTtcbiAgICAtLWNvbG9yLXN0b25lLTQwMDogb2tsY2goNzAuOSUgMC4wMSA1Ni4yNTkpO1xuICAgIC0tY29sb3Itc3RvbmUtNTAwOiBva2xjaCg1NS4zJSAwLjAxMyA1OC4wNzEpO1xuICAgIC0tY29sb3Itc3RvbmUtNjAwOiBva2xjaCg0NC40JSAwLjAxMSA3My42MzkpO1xuICAgIC0tY29sb3Itc3RvbmUtNzAwOiBva2xjaCgzNy40JSAwLjAxIDY3LjU1OCk7XG4gICAgLS1jb2xvci1zdG9uZS04MDA6IG9rbGNoKDI2LjglIDAuMDA3IDM0LjI5OCk7XG4gICAgLS1jb2xvci1zdG9uZS05MDA6IG9rbGNoKDIxLjYlIDAuMDA2IDU2LjA0Myk7XG4gICAgLS1jb2xvci1zdG9uZS05NTA6IG9rbGNoKDE0LjclIDAuMDA0IDQ5LjI1KTtcbiAgICAtLWNvbG9yLWJsYWNrOiAjMDAwO1xuICAgIC0tY29sb3Itd2hpdGU6ICNmZmY7XG4gICAgLS1zcGFjaW5nOiAwLjI1cmVtO1xuICAgIC0tdGV4dC1zbTogMC44NzVyZW07XG4gICAgLS10ZXh0LXNtLS1saW5lLWhlaWdodDogY2FsYygxLjI1IC8gMC44NzUpO1xuICAgIC0tdGV4dC1iYXNlOiAxcmVtO1xuICAgIC0tdGV4dC1sZzogMS4xMjVyZW07XG4gICAgLS10ZXh0LWxnLS1saW5lLWhlaWdodDogY2FsYygxLjc1IC8gMS4xMjUpO1xuICAgIC0tdGV4dC00eGw6IDIuMjVyZW07XG4gICAgLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi41IC8gMi4yNSk7XG4gICAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgICAtLXRyYWNraW5nLXRpZ2h0OiAtMC4wMjVlbTtcbiAgICAtLWxlYWRpbmctcmVsYXhlZDogMS42MjU7XG4gICAgLS1yYWRpdXMteHM6IDAuMTI1cmVtO1xuICAgIC0tcmFkaXVzLWxnOiAwLjVyZW07XG4gICAgLS1zaGFkb3ctbWQ6IDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuMSksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMSk7XG4gICAgLS1lYXNlLW91dDogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAgIC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAtLWRlZmF1bHQtZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7XG4gICAgLS1kZWZhdWx0LW1vbm8tZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgLS1sZWZ0LWNvbDogNHJlbTtcbiAgICAtLWd1dHRlcjogdmFyKC0taGFpcmxpbmUpO1xuICAgIC0tbWF4LXdpZHRoOiBjYWxjKDQ4cmVtICsgdmFyKC0tbGVmdC1jb2wpICsgdmFyKC0tZ3V0dGVyKSk7XG4gICAgLS1tYWluLWdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICAgIC0taG9yaXpvbnRhbC1wYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gICAgLS11bmRlcmxpbmUtdGhpY2tuZXNzOiAwLjA3NWVtO1xuICAgIC0tZm9udC1oYW5kd3JpdGluZzogJ0dsb3JpYSBIYWxsZWx1amFoJywgY3Vyc2l2ZTtcbiAgICAtLWNvbG9yLXByaW1hcnktNDAwOiB2YXIoLS1jb2xvci1za3ktNDAwKTtcbiAgICAtLWNvbG9yLXByaW1hcnktNTAwOiB2YXIoLS1jb2xvci1za3ktNTAwKTtcbiAgICAtLWNvbG9yLXRleHQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtOTUwKSwgdmFyKC0tY29sb3ItemluYy0xMDApKTtcbiAgICAtLWNvbG9yLWJnOiBsaWdodC1kYXJrKHdoaXRlLCB2YXIoLS1jb2xvci16aW5jLTk1MCkpO1xuICAgIC0tY29sb3ItYm9yZGVyOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXN0b25lLTMwMCksIHZhcigtLWNvbG9yLXppbmMtODAwKSk7XG4gICAgLS1jb2xvci1ib3JkZXItbGlnaHQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtMjAwKSwgdmFyKC0tY29sb3ItemluYy05MDApKTtcbiAgICAtLWNvbG9yLWFjY2VudDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCksIHZhcigtLWNvbG9yLXByaW1hcnktNDAwKSk7XG4gICAgLS1jb2xvci1saWdodDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS03MDApLCB2YXIoLS1jb2xvci16aW5jLTIwMCkpO1xuICAgIC0tY29sb3Itc29mdDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS02MDApLCB2YXIoLS1jb2xvci16aW5jLTMwMCkpO1xuICAgIC0tY29sb3ItbXV0ZWQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtNTAwKSwgdmFyKC0tY29sb3ItemluYy00MDApKTtcbiAgICAtLWNvbG9yLXN1YnRsZTogY29sb3ItbWl4KGluIHNyZ2IsIGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtNTAwKSwgdmFyKC0tY29sb3ItemluYy00MDApKSA1MCUsIGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtNDAwKSwgdmFyKC0tY29sb3ItemluYy01MDApKSk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAtLWNvbG9yLXN1YnRsZTogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1tdXRlZCkgNTAlLCB2YXIoLS1jb2xvci1mYWludCkpO1xuICAgIH1cbiAgICAtLWNvbG9yLWZhaW50OiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXN0b25lLTQwMCksIHZhcigtLWNvbG9yLXppbmMtNTAwKSk7XG4gICAgLS1jb2xvci13ZWFrOiBjb2xvci1taXgoaW4gc3JnYiwgbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS00MDApLCB2YXIoLS1jb2xvci16aW5jLTUwMCkpIDUwJSwgbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS0zMDApLCB2YXIoLS1jb2xvci16aW5jLTYwMCkpKTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIC0tY29sb3Itd2VhazogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1mYWludCkgNTAlLCB2YXIoLS1jb2xvci1naG9zdCkpO1xuICAgIH1cbiAgICAtLWNvbG9yLWdob3N0OiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXN0b25lLTMwMCksIHZhcigtLWNvbG9yLXppbmMtNjAwKSk7XG4gICAgLS1zZWxlY3Rpb24tY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tY29sb3ItcHJpbWFyeS01MDApIGwgYyBoIC8gNSUpO1xuICAgIC0tY29sb3Itc3VyZmFjZTogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS01MCksIHZhcigtLWNvbG9yLXppbmMtOTAwKSk7XG4gICAgLS1jb2xvci1zdXJmYWNlLWFsdDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS0xMDApLCB2YXIoLS1jb2xvci16aW5jLTgwMCkpO1xuICAgIC0tY29sb3Itc3VyZmFjZS1ob3ZlcjogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS0yMDApLCB2YXIoLS1jb2xvci16aW5jLTcwMCkpO1xuICAgIC0tYm91bmNlOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4gICAgLS1zcHJpbmc6IGxpbmVhcihcbiAgICAwLFxuICAgIDAuMDA5LFxuICAgIDAuMDM1IDIuMSUsXG4gICAgMC4xNDEsXG4gICAgMC4yODEgNi43JSxcbiAgICAwLjcyMyAxMi45JSxcbiAgICAwLjkzOCAxNi43JSxcbiAgICAxLjAxNyxcbiAgICAxLjA3NyxcbiAgICAxLjEyMSxcbiAgICAxLjE0OSAyNC4zJSxcbiAgICAxLjE1OSxcbiAgICAxLjE2MyxcbiAgICAxLjE2MSxcbiAgICAxLjE1NCAyOS45JSxcbiAgICAxLjEyOSAzMi44JSxcbiAgICAxLjA1MSAzOS42JSxcbiAgICAxLjAxNyA0My4xJSxcbiAgICAwLjk5MSxcbiAgICAwLjk3NyA1MSUsXG4gICAgMC45NzQgNTMuOCUsXG4gICAgMC45NzUgNTcuMSUsXG4gICAgMC45OTcgNjkuOCUsXG4gICAgMS4wMDMgNzYuOSUsXG4gICAgMS4wMDQgODMuOCUsXG4gICAgMVxuICApO1xuICAgIC0tZWFzZS1zcHJpbmc6IDUwMG1zIHZhcigtLXNwcmluZyk7XG4gICAgLS1nZW50bGVyLXNwcmluZzogbGluZWFyKFxuICAgIDAsXG4gICAgMC4wMDM5IDAuODclLFxuICAgIDAuMDE5OSxcbiAgICAwLjA0NTkgMy4xOSUsXG4gICAgMC4wODkyIDQuNjUlLFxuICAgIDAuMTg2NSA3LjI2JSxcbiAgICAwLjUyMTggMTUuMzklLFxuICAgIDAuNjI0OSxcbiAgICAwLjcxMzIsXG4gICAgMC43ODY0LFxuICAgIDAuODQ1MyAyNyUsXG4gICAgMC44OTU1LFxuICAgIDAuOTMyOCxcbiAgICAwLjk1OTYgMzYuNTglLFxuICAgIDAuOTcwNiAzOC4zMiUsXG4gICAgMC45ODA4IDQwLjM1JSxcbiAgICAwLjk5NDYgNDQuNDIlLFxuICAgIDEuMDAzIDQ5LjM1JSxcbiAgICAxLjAwNTYgNTMuMTMlLFxuICAgIDEuMDA2MyA1OC4wNiUsXG4gICAgMS4wMDE0IDgwLjcxJSxcbiAgICAxLjAwMDEgOTkuODclXG4gICk7XG4gICAgLS1lYXNlLWdlbnRsZXItc3ByaW5nOiAxLjJzIHZhcigtLWdlbnRsZXItc3ByaW5nKTtcbiAgICAtLWhhaXJsaW5lOiAwLjVweDtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICAqLCA6OmFmdGVyLCA6OmJlZm9yZSwgOjpiYWNrZHJvcCwgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDAgc29saWQ7XG4gIH1cbiAgaHRtbCwgOmhvc3Qge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIHRhYi1zaXplOiA0O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIpO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3MsIG5vcm1hbCk7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IHZhcigtLWRlZmF1bHQtZm9udC12YXJpYXRpb24tc2V0dGluZ3MsIG5vcm1hbCk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBociB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgfVxuICBhYmJyOndoZXJlKFt0aXRsZV0pIHtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIH1cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgfVxuICBiLCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cbiAgY29kZSwga2JkLCBzYW1wLCBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC1mYW1pbHksIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC1mZWF0dXJlLXNldHRpbmdzLCBub3JtYWwpO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiB2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3MsIG5vcm1hbCk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG4gIHN1Yiwgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cbiAgdGFibGUge1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG4gIDotbW96LWZvY3VzcmluZzp3aGVyZSg6bm90KGlmcmFtZSkpIHtcbiAgICBvdXRsaW5lOiBhdXRvO1xuICB9XG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG4gIG9sLCB1bCwgbWVudSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICBpbWcsIHN2ZywgdmlkZW8sIGNhbnZhcywgYXVkaW8sIGlmcmFtZSwgZW1iZWQsIG9iamVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBpbWcsIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgb3B0Z3JvdXAsIHRleHRhcmVhLCA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgOndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLCBbc2l6ZV0pKSBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuICA6d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sIFtzaXplXSkpIG9wdGdyb3VwIG9wdGlvbiB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gIH1cbiAgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDRweDtcbiAgfVxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIEBzdXBwb3J0cyAobm90ICgtd2Via2l0LWFwcGVhcmFuY2U6IC1hcHBsZS1wYXktYnV0dG9uKSkgIG9yIChjb250YWluLWludHJpbnNpYy1zaXplOiAxcHgpIHtcbiAgICA6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY3VycmVudGNvbG9yIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICA6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgbWluLWhlaWdodDogMWxoO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIH1cbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxkIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICB9XG4gIDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICA6LW1vei11aS1pbnZhbGlkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIGJ1dHRvbiwgaW5wdXQ6d2hlcmUoW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdKSwgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG4gIDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgW2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPVwidW50aWwtZm91bmRcIl0pKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbGF5ZXIgdXRpbGl0aWVzIHtcbiAgLnBob3RvLWNhcmQge1xuICAgIC0taW5pdGlhbC15OiAwO1xuICAgIC0taG92ZXIteTogMDtcbiAgICAtLWluaXRpYWwteDogMDtcbiAgICAtLWhvdmVyLXg6IDA7XG4gICAgLS16OiAwO1xuICAgIC0taW5pdGlhbC10cmFuc2xhdGUteTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIHZhcigtLWluaXRpYWwteSkpO1xuICAgIC0taW5pdGlhbC10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIHZhcigtLWluaXRpYWwteCkpO1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS1ob3Zlci10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIHZhcigtLWhvdmVyLXgsIHZhcigtLWluaXRpYWwteCkpKTtcbiAgICAgICAgLS1ob3Zlci10cmFuc2xhdGUteTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIHZhcigtLWhvdmVyLXksIHZhcigtLWluaXRpYWwteSkpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgei1pbmRleDogdmFyKC0teik7XG4gICAgfVxuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXg6IHZhcigtLWluaXRpYWwtdHJhbnNsYXRlLXgpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS15OiB2YXIoLS1pbml0aWFsLXRyYW5zbGF0ZS15KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgLS10dy10cmFuc2xhdGUteDogdmFyKC0taG92ZXItdHJhbnNsYXRlLXgpO1xuICAgICAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAtLXR3LXRyYW5zbGF0ZS15OiB2YXIoLS1ob3Zlci10cmFuc2xhdGUteSk7XG4gICAgICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC0taW5pdGlhbC1yb3RhdGlvbjogMGRlZztcbiAgICAtLWhvdmVyLXJvdGF0aW9uOiAwZGVnO1xuICAgIC0tY2FyZC1yb3RhdGlvbjogdmFyKC0taW5pdGlhbC1yb3RhdGlvbik7XG4gICAgLS1jYXJkLXBhZGRpbmc6IDAuNzVyZW07XG4gICAgLS1zaGFkb3ctcmluZzogaW5zZXQgMCAwIDAgdmFyKC0taGFpcmxpbmUpXG4gICAgbGlnaHQtZGFyayhva2xjaChmcm9tIHZhcigtLWNvbG9yLXN0b25lLTk1MCkgbCBjIGggLyA4JSksIG9rbGNoKGZyb20gd2hpdGUgbCBjIGggLyAxMCUpKTtcbiAgICAtLXNoYWRvdy1kcm9wOiAwIDRweCAyMHB4IC02cHggb2tsY2goZnJvbSB2YXIoLS1jb2xvci1zdG9uZS05MDApIGwgYyBoIC8gMC4zNSksXG4gICAgMCAxMnB4IDM1cHggLTEwcHggb2tsY2goZnJvbSB2YXIoLS1jb2xvci1zdG9uZS05MDApIGwgYyBoIC8gMC4yNSk7XG4gICAgLS10aWx0LW1heDogMTdkZWc7XG4gICAgLS10aWx0LXBlcnNwZWN0aXZlOiA2MDBweDtcbiAgICAtLXRpbHQtc2NhbGU6IDEuMDc7XG4gICAgLS10aWx0LXJldHVybjogNDUwbXM7XG4gICAgLS10aWx0LXJldHVybi1lYXNlOiBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgLS10aWx0LWZvbGxvdzogMTAwbXM7XG4gICAgLS10aWx0LWZvbGxvdy1lYXNlOiBjdWJpYy1iZXppZXIoMC4zLCAwLjcsIDAuNCwgMSk7XG4gICAgLS10aWx0LXNldHRsZTogNTUwbXM7XG4gICAgLS10aWx0LXNldHRsZS1lYXNlOiBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgLS10aWx0LWdsYXJlLW9wYWNpdHk6IDAuNjtcbiAgICAtLXRpbHQtZ2xhcmUtZmFkZTogMTIwbXM7XG4gICAgLS10aWx0LWdsYXJlLWVhc2U6IGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICAtLXRpbHQtcng6IGNhbGModmFyKC0tdGlsdC15LCAwKSAqIHZhcigtLXRpbHQtbWF4KSAqIC0xKTtcbiAgICAtLXRpbHQtcnk6IGNhbGModmFyKC0tdGlsdC14LCAwKSAqIHZhcigtLXRpbHQtbWF4KSk7XG4gICAgLS1nbGFyZS14OiBjYWxjKDUwJSArIHZhcigtLXRpbHQteCwgMCkgKiA1MCUpO1xuICAgIC0tZ2xhcmUteTogY2FsYyg1MCUgKyB2YXIoLS10aWx0LXksIDApICogNTAlKTtcbiAgICAtLXRpbHQtc3BlZWQ6IHZhcigtLXRpbHQtcmV0dXJuKTtcbiAgICAtLXRpbHQtZWFzZTogdmFyKC0tdGlsdC1yZXR1cm4tZWFzZSk7XG4gICAgJi5pcy10aWx0aW5nIHtcbiAgICAgIC0tdGlsdC1zcGVlZDogdmFyKC0tdGlsdC1mb2xsb3cpO1xuICAgICAgLS10aWx0LWVhc2U6IHZhcigtLXRpbHQtZm9sbG93LWVhc2UpO1xuICAgIH1cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBlcnNwZWN0aXZlOiB2YXIoLS10aWx0LXBlcnNwZWN0aXZlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdGlsdC1zZXR0bGUpIHZhcigtLXRpbHQtc2V0dGxlLWVhc2UpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2xhdGU7XG4gICAgJjpob3ZlciB7XG4gICAgICAtLWNhcmQtcm90YXRpb246IHZhcigtLWhvdmVyLXJvdGF0aW9uKTtcbiAgICAgIC0tY2FyZC1zY2FsZTogdmFyKC0tdGlsdC1zY2FsZSk7XG4gICAgICAtLXNoYWRvdy1kcm9wOiAwIDhweCAyNHB4IC02cHggb2tsY2goZnJvbSB2YXIoLS1jb2xvci1zdG9uZS05MDApIGwgYyBoIC8gMC40MiksXG4gICAgICAwIDE2cHggNDBweCAtMTBweCBva2xjaChmcm9tIHZhcigtLWNvbG9yLXN0b25lLTkwMCkgbCBjIGggLyAwLjMyKTtcbiAgICB9XG4gICAgJiA+IC5waG90by1jYXJkLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN0b25lLTUwKTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWNhcmQtcGFkZGluZyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcmluZyksIHZhcigtLXNoYWRvdy1kcm9wKTtcbiAgICAgIHJvdGF0ZTogdmFyKC0tY2FyZC1yb3RhdGlvbik7XG4gICAgICBzY2FsZTogdmFyKC0tY2FyZC1zY2FsZSwgMSk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgodmFyKC0tdGlsdC1yeCkpIHJvdGF0ZVkodmFyKC0tdGlsdC1yeSkpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRpbHQtc3BlZWQpIHZhcigtLXRpbHQtZWFzZSksIHJvdGF0ZSB2YXIoLS10aWx0LXNldHRsZSkgdmFyKC0tdGlsdC1zZXR0bGUtZWFzZSksIHNjYWxlIHZhcigtLXRpbHQtc2V0dGxlKSB2YXIoLS10aWx0LXNldHRsZS1lYXNlKSwgYm94LXNoYWRvdyB2YXIoLS10aWx0LXNldHRsZSkgdmFyKC0tdGlsdC1zZXR0bGUtZWFzZSk7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cbiAgICAmID4gLnBob3RvLWNhcmQtaW5uZXIgPiBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gICAgfVxuICAgICYgPiAucGhvdG8tY2FyZC1pbm5lciA+IGZpZ2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC4yNXJlbSAwLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1ibG9jazogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhhbmR3cml0aW5nKTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN0b25lLTcwMCk7XG4gICAgfVxuICAgICYgPiAucGhvdG8tY2FyZC1pbm5lcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IHZhcigtLWNhcmQtcGFkZGluZykgdmFyKC0tY2FyZC1wYWRkaW5nKSBhdXRvO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCB2YXIoLS1oYWlybGluZSkgb2tsY2goMSAwIDAgLyAwLjcpLCBpbnNldCAwIDJweCA0cHggb2tsY2goMCAwIDAgLyAwLjM1KSwgaW5zZXQgMCAwIDE0cHggb2tsY2goMCAwIDAgLyAwLjM1KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAmID4gLnBob3RvLWNhcmQtaW5uZXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCggY2lyY2xlIDk1cHggYXQgdmFyKC0tZ2xhcmUteCkgdmFyKC0tZ2xhcmUteSksIG9rbGNoKDEgMCAwIC8gMC40OCksIG9rbGNoKDEgMCAwIC8gMC4wNikgNTIlLCBva2xjaCgxIDAgMCAvIDApIDg0JSApLCByYWRpYWwtZ3JhZGllbnQoIGNpcmNsZSAyMDBweCBhdCB2YXIoLS1nbGFyZS14KSB2YXIoLS1nbGFyZS15KSwgb2tsY2goMSAwIDAgLyAwLjIyKSwgb2tsY2goMSAwIDAgLyAwLjA0KSA1OCUsIG9rbGNoKDEgMCAwIC8gMCkgNzglICksIHJhZGlhbC1ncmFkaWVudCggY2lyY2xlIDM2MHB4IGF0IHZhcigtLWdsYXJlLXgpIHZhcigtLWdsYXJlLXkpLCBva2xjaCgxIDAgMCAvIDAuMSksIG9rbGNoKDEgMCAwIC8gMCkgODglICk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10aWx0LWdsYXJlLWZhZGUpIHZhcigtLXRpbHQtZ2xhcmUtZWFzZSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6aG92ZXIgPiAucGhvdG8tY2FyZC1pbm5lcjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogdmFyKC0tdGlsdC1nbGFyZS1vcGFjaXR5KTtcbiAgICB9XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAmID4gLnBob3RvLWNhcmQtaW5uZXIge1xuICAgICAgICByb3RhdGU6IHZhcigtLWluaXRpYWwtcm90YXRpb24pO1xuICAgICAgICBzY2FsZTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucG9pbnRlci1ldmVudHMtYXV0byB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbiAgLnBvaW50ZXItZXZlbnRzLW5vbmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC50aW1lbGluZS1yb2xlIHtcbiAgICAtLWFuZ2xlOiAyMGRlZztcbiAgICAtLWhhbGYtbG9nby1zaXplOiBjYWxjKHZhcigtLWxvZ28tc2l6ZSkgLyAyKTtcbiAgICAtLWxpbmUtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0taGFsZi1sb2dvLXNpemUpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tbG9nby1zaXplKTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSB2YXIoLS1oYWxmLWxvZ28tc2l6ZSkgKiB0YW4odmFyKC0tYW5nbGUpKSAtIDFweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW5lLWNvbG9yKTtcbiAgICB9XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0taGFsZi1sb2dvLXNpemUpICogdGFuKHZhcigtLWFuZ2xlKSkgLSAycHgpO1xuICAgICAgd2lkdGg6IGNhbGMoKHZhcigtLWxvZ28tc2l6ZSkgKiAwLjc1KSAvIGNvcyh2YXIoLS1hbmdsZSkpKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgIHJvdGF0ZTogdmFyKC0tYW5nbGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGluZS1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5zci1vbmx5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxuICAuYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICAucmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc3RhdGljIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gIH1cbiAgLmluc2V0LXgtMCB7XG4gICAgaW5zZXQtaW5saW5lOiAwcHg7XG4gIH1cbiAgLi10b3AtOCB7XG4gICAgdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTgpO1xuICB9XG4gIC5ib3R0b20tMiB7XG4gICAgYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLmxlZnQtMVxcLzIge1xuICAgIGxlZnQ6IGNhbGMoMSAvIDIgKiAxMDAlKTtcbiAgfVxuICAucGhvdG8tZ2FsbGVyeSB7XG4gICAgLS1nYWxsZXJ5LWNvbHVtbnM6IDM7XG4gICAgLS1nYWxsZXJ5LW92ZXJsYXAteTogMC41cmVtO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW0gMDtcbiAgICBwYWRkaW5nOiBjYWxjKDAuNXJlbSArIHZhcigtLWdhbGxlcnktb3ZlcmxhcC15KSkgMCAwLjVyZW07XG4gICAgJiA+IC5waG90by1jYXJkIHtcbiAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLyB2YXIoLS1nYWxsZXJ5LWNvbHVtbnMpKTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYWxsZXJ5LW92ZXJsYXAteSkpO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDByZW0pIHtcbiAgICAgIC0tZ2FsbGVyeS1jb2x1bW5zOiAxO1xuICAgICAgbWF4LXdpZHRoOiA2NXZ3O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cbiAgLmlzb2xhdGUge1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgfVxuICAuei01MCB7XG4gICAgei1pbmRleDogNTA7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQG1lZGlhICh3aWR0aCA+PSAzMHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA0OHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA4MHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA5NnJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA5NnJlbTtcbiAgICB9XG4gIH1cbiAgLmJsdXJyeS1saW5rLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1saW5rLXNwYWNpbmcpO1xuICAgIGEge1xuICAgICAgbWFyZ2luOiBjYWxjKGNhbGModmFyKC0tbGluay1zcGFjaW5nKSAvIDIpICogLTEpO1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1saW5rLXNwYWNpbmcpIC8gMik7XG4gICAgfVxuICAgICY6aGFzKGE6aG92ZXIpIGE6bm90KDpob3ZlciksICY6aGFzKGE6Zm9jdXMtdmlzaWJsZSkgYTpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgIC0tdHctYmx1cjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IHZhcigtLXR3LWJsdXIsKSB2YXIoLS10dy1icmlnaHRuZXNzLCkgdmFyKC0tdHctY29udHJhc3QsKSB2YXIoLS10dy1ncmF5c2NhbGUsKSB2YXIoLS10dy1odWUtcm90YXRlLCkgdmFyKC0tdHctaW52ZXJ0LCkgdmFyKC0tdHctc2F0dXJhdGUsKSB2YXIoLS10dy1zZXBpYSwpIHZhcigtLXR3LWRyb3Atc2hhZG93LCk7XG4gICAgfVxuICB9XG4gIC4tbS0wXFwuNSB7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTAuNSk7XG4gIH1cbiAgLmJ0biB7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zb2Z0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAwLjRyZW07XG4gICAgcGFkZGluZzogMC4zNXJlbSAwLjZyZW07XG4gICAgJjpoYXMoPiBzdmc6Zmlyc3QtY2hpbGQsID4gOmZpcnN0LWNoaWxkID4gc3ZnKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG4gICAgJjpoYXMoPiBzdmc6bGFzdC1jaGlsZCwgPiA6bGFzdC1jaGlsZCA+IHN2Zykge1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgQHN1cHBvcnRzIChjb3JuZXItc2hhcGU6IHNxdWlyY2xlKSB7XG4gICAgICBjb3JuZXItc2hhcGU6IHNxdWlyY2xlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICAgIH1cbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxMDBtcywgYmFja2dyb3VuZC1jb2xvciAxMDBtcywgd2lkdGggMTAwbXMsIHNjYWxlIDEwMG1zLCB0cmFuc2Zvcm0gdmFyKC0tZWFzZS1zcHJpbmcpO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBzY2FsZTogMC45NztcbiAgICB9XG4gICAgc3ZnOm5vdChbY2xhc3MqPVwic2l6ZS1cIl0pIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDUpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA1KTtcbiAgICB9XG4gICAgc3ZnW2RhdGEtaWNvbj0nYXJyb3ctdXAnXSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4taW5saW5lOiAtMC4yZW07XG4gICAgfVxuICAgIHN2Z1tkYXRhLWljb249XCJhcnJvdy11cC1yaWdodFwiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIH1cbiAgfVxuICAubXgtYXV0byB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAubXktXFwoLS12ZXJ0aWNhbC1wYWRkaW5nXFwpIHtcbiAgICBtYXJnaW4tYmxvY2s6IHZhcigtLXZlcnRpY2FsLXBhZGRpbmcpO1xuICB9XG4gIC4tbXQtMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIC0yKTtcbiAgfVxuICAubXQtMVxcLjUge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAxLjUpO1xuICB9XG4gIC5tdC0zIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLm10LTQge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAubWFpbC1saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZCB1bmRlcmxpbmUgdmFyKC0tY29sb3ItZmFpbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHZhcigtLXVuZGVybGluZS10aGlja25lc3MpO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbiksIHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pO1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gICAgLS1saW5rLXRyYW5zaXRpb246IDEwMG1zO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjA1ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgICBtYXNrLWltYWdlOiB2YXIoLS1iZWZvcmUtaWNvbi11cmwpO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IHZhcigtLXR3LWNvbnRlbnQpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IHZhcigtLXR3LWNvbnRlbnQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdmFyKC0tdHctY29udGVudCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLS1iZWZvcmUtaWNvbi11cmw6IHVybCgnLi9pbWFnZXMvaWNvbnMvZW1haWwuc3ZnJyk7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAtLWJlZm9yZS1pY29uLXVybDogdXJsKCcuL2ltYWdlcy9pY29ucy9lbWFpbC1vcGVuLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLS1iZWZvcmUtaWNvbi11cmw6IHVybCgnLi9pbWFnZXMvaWNvbnMvZW1haWwtb3Blbi5zdmcnKTtcbiAgICB9XG4gIH1cbiAgLmxpbmtlZGluLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkIHVuZGVybGluZSB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogdmFyKC0tdW5kZXJsaW5lLXRoaWNrbmVzcyk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbik7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgICAtLWxpbmstdHJhbnNpdGlvbjogMTAwbXM7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMDVlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICAgIG1hc2staW1hZ2U6IHZhcigtLWJlZm9yZS1pY29uLXVybCk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gdmFyKC0tZWFzZS1zcHJpbmcpO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogdmFyKC0tdHctY29udGVudCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogdmFyKC0tdHctY29udGVudCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjFlbTtcbiAgICB9XG4gICAgLS1iZWZvcmUtaWNvbi11cmw6IHVybCgnLi9pbWFnZXMvaWNvbnMvbGlua2VkaW4tb3V0bGluZS5zdmcnKTtcbiAgfVxuICAuZ2l0aHViLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkIHVuZGVybGluZSB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogdmFyKC0tdW5kZXJsaW5lLXRoaWNrbmVzcyk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbik7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgICAtLWxpbmstdHJhbnNpdGlvbjogMTAwbXM7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMDVlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICAgIG1hc2staW1hZ2U6IHZhcigtLWJlZm9yZS1pY29uLXVybCk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gdmFyKC0tZWFzZS1zcHJpbmcpO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogdmFyKC0tdHctY29udGVudCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAtLWJlZm9yZS1pY29uLXVybDogdXJsKCcuL2ltYWdlcy9pY29ucy9naXRodWItY2lyY2xlLnN2ZycpO1xuICB9XG4gIC54LWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkIHVuZGVybGluZSB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogdmFyKC0tdW5kZXJsaW5lLXRoaWNrbmVzcyk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbik7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgICAtLWxpbmstdHJhbnNpdGlvbjogMTAwbXM7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMDVlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICAgIG1hc2staW1hZ2U6IHZhcigtLWJlZm9yZS1pY29uLXVybCk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gdmFyKC0tZWFzZS1zcHJpbmcpO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogdmFyKC0tdHctY29udGVudCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAtLWJlZm9yZS1pY29uLXVybDogdXJsKCcuL2ltYWdlcy9pY29ucy94LW91dGxpbmUuc3ZnJyk7XG4gIH1cbiAgLmV4dGVybmFsLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkIHVuZGVybGluZSB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogdmFyKC0tdW5kZXJsaW5lLXRoaWNrbmVzcyk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbik7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgICAtLWxpbmstdHJhbnNpdGlvbjogMTAwbXM7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgICBtYXNrLWltYWdlOiB2YXIoLS1hZnRlci1pY29uLXVybCk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gdmFyKC0tZWFzZS1zcHJpbmcpO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiB2YXIoLS10dy1jb250ZW50KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IHZhcigtLXR3LWNvbnRlbnQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEuNXB4LC0xLjVweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLS1hZnRlci1pY29uLXVybDogdXJsKCcuL2ltYWdlcy9pY29ucy9hcnJvdy11cC1yaWdodC5zdmcnKTtcbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogMC43NWVtO1xuICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuMTVlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICB9XG4gIH1cbiAgLm1iLTQge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAuc3RhY2tlZC1pY29ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuc3RhY2tlZC10ZXh0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogc3RhcnQ7XG4gIH1cbiAgLmJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY29udGVudHMge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIC5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC5pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbiAgLnRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAuc2l6ZS1cXCgtLWxvZ28tc2l6ZVxcKSB7XG4gICAgd2lkdGg6IHZhcigtLWxvZ28tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1sb2dvLXNpemUpO1xuICB9XG4gIC5zaXplLTFcXC41IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEuNSk7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAuc2l6ZS00IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5zaXplLTYge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLnNpemUtNyB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA3KTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA3KTtcbiAgfVxuICAuc2l6ZS0yNCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiAyNCk7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMjQpO1xuICB9XG4gIC5oLTMge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpO1xuICB9XG4gIC53LTAge1xuICAgIHdpZHRoOiAwcHg7XG4gIH1cbiAgLnctZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1heC13LVxcKC0tbWF4LXdpZHRoXFwpIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG4gIH1cbiAgLm1heC13LVxcWzc2Y2hcXF0ge1xuICAgIG1heC13aWR0aDogNzZjaDtcbiAgfVxuICAubWluLXctMCB7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgLnNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAuc3RhY2tlZC1pY29uIHtcbiAgICBncmlkLWFyZWE6IDEgLyAxO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2UsIHNjYWxlIDIwMG1zIHZhcigtLWJvdW5jZSksIGZpbHRlciAyMDBtcyBlYXNlO1xuICB9XG4gIC4tdHJhbnNsYXRlLXgtMVxcLzIge1xuICAgIC0tdHctdHJhbnNsYXRlLXg6IGNhbGMoY2FsYygxIC8gMiAqIDEwMCUpICogLTEpO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgfVxuICAudHJhbnNsYXRlLXgtXFxbLTBcXC41cHhcXF0ge1xuICAgIC0tdHctdHJhbnNsYXRlLXg6IC0wLjVweDtcbiAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gIH1cbiAgLnN0YWNrZWQtaWNvbi0taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHNjYWxlOiAwLjU7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7XG4gIH1cbiAgLnN0YWNrZWQtdGV4dC0taGlkZGVuLWFib3ZlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjkpO1xuICB9XG4gIC5zdGFja2VkLXRleHQtLWhpZGRlbi1iZWxvdyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKSBzY2FsZSgwLjkpO1xuICB9XG4gIC50cmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybTogdmFyKC0tdHctcm90YXRlLXgsKSB2YXIoLS10dy1yb3RhdGUteSwpIHZhcigtLXR3LXJvdGF0ZS16LCkgdmFyKC0tdHctc2tldy14LCkgdmFyKC0tdHctc2tldy15LCk7XG4gIH1cbiAgLnJlc2l6ZSB7XG4gICAgcmVzaXplOiBib3RoO1xuICB9XG4gIC5zY3JvbGxiYXItdGh1bWItZmFpbnQge1xuICAgIC0tdHctc2Nyb2xsYmFyLXRodW1iOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS10dy1zY3JvbGxiYXItdGh1bWIpIHZhcigtLXR3LXNjcm9sbGJhci10cmFjayk7XG4gIH1cbiAgLnNjcm9sbGJhci10cmFjay10cmFuc3BhcmVudCB7XG4gICAgLS10dy1zY3JvbGxiYXItdHJhY2s6IHRyYW5zcGFyZW50O1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tdHctc2Nyb2xsYmFyLXRodW1iKSB2YXIoLS10dy1zY3JvbGxiYXItdHJhY2spO1xuICB9XG4gIC5mbGV4LXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuaXRlbXMtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmdhcC0xXFwuNSB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAuZ2FwLTIge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5nYXAtNCB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLmdhcC1cXFtjYWxjXFwodmFyXFwoLS1sb2dvLXNpemVcXClcXC8yXFwpXFxdIHtcbiAgICBnYXA6IGNhbGModmFyKC0tbG9nby1zaXplKSAvIDIpO1xuICB9XG4gIDp3aGVyZSguc3BhY2UteS0zID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTogMDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMykgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7XG4gIH1cbiAgOndoZXJlKC5zcGFjZS15LTQgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogNCkgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgfVxuICA6d2hlcmUoLnNwYWNlLXktOCA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA4KSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO1xuICB9XG4gIC5nYXAteS02IHtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLnNlbGYtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLmp1c3RpZnktc2VsZi1jZW50ZXIge1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICB9XG4gIC5qdXN0aWZ5LXNlbGYtc3RhcnQge1xuICAgIGp1c3RpZnktc2VsZjogZmxleC1zdGFydDtcbiAgfVxuICAuc2Nyb2xsLXNtb290aCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIH1cbiAgLnJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIH1cbiAgLnJvdW5kZWQtZnVsbCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyhpbmZpbml0eSAqIDFweCk7XG4gIH1cbiAgLnJvdW5kZWQtbGcge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIH1cbiAgLmJvcmRlciB7XG4gICAgYm9yZGVyLXN0eWxlOiB2YXIoLS10dy1ib3JkZXItc3R5bGUpO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG4gIC5ib3JkZXItaGFpcmxpbmUge1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0taGFpcmxpbmUpO1xuICB9XG4gIC5ib3JkZXItdC1oYWlybGluZSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0taGFpcmxpbmUpO1xuICB9XG4gIC5ib3JkZXItbC1oYWlybGluZSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLWhhaXJsaW5lKTtcbiAgfVxuICAuYm9yZGVyLVxcKC0tY29sb3ItYm9yZGVyXFwpIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIH1cbiAgLmJvcmRlci1mYWludCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1mYWludCk7XG4gIH1cbiAgLmJvcmRlci1zdG9uZS0yMDAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3RvbmUtMjAwKTtcbiAgfVxuICAuYmctXFwoLS1jb2xvci1ib3JkZXJcXCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIH1cbiAgLmJnLWFjY2VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgfVxuICAuYmctYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgfVxuICAuYmctd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuICAuZmlsbC1cXFtcXCMyNDI5MmZcXF0ge1xuICAgIGZpbGw6ICMyNDI5MmY7XG4gIH1cbiAgLmZpbGwtYmxhY2sge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgfVxuICAucC0zIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnAtNiB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICB9XG4gIC5weC1cXCgtLWhvcml6b250YWwtcGFkZGluZ1xcKSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWhvcml6b250YWwtcGFkZGluZyk7XG4gIH1cbiAgLnB4LTIge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLnB5LVxcKC0tdmVydGljYWwtcGFkZGluZ1xcKSB7XG4gICAgcGFkZGluZy1ibG9jazogdmFyKC0tdmVydGljYWwtcGFkZGluZyk7XG4gIH1cbiAgLnB5LTBcXC43NSB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuNzUpO1xuICB9XG4gIC5weS00IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnB0LTMge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnB0LVxcW2NhbGNcXCh2YXJcXCgtLXZlcnRpY2FsLXBhZGRpbmdcXClcXCozXFwpXFxdIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nKSAqIDMpO1xuICB9XG4gIC5wYi1cXCgtLWJvdHRvbS1wYWRkaW5nXFwpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tYm90dG9tLXBhZGRpbmcpO1xuICB9XG4gIC5wYi0yMCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAyMCk7XG4gIH1cbiAgLnRleHQtNHhsIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtNHhsKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0KSk7XG4gIH1cbiAgLnRleHQtYmFzZVxcL3JlbGF4ZWQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1iYXNlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgfVxuICAudGV4dC1sZyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC1sZy0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1zbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1cXFswXFwuOHJlbVxcXSB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gIH1cbiAgLmZvbnQtYm9sZCB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIC5mb250LW1lZGl1bSB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgfVxuICAudHJhY2tpbmctdGlnaHQge1xuICAgIC0tdHctdHJhY2tpbmc6IHZhcigtLXRyYWNraW5nLXRpZ2h0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHJhY2tpbmctdGlnaHQpO1xuICB9XG4gIC50ZXh0LXByZXR0eSB7XG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XG4gIH1cbiAgLndoaXRlc3BhY2Utbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZCB1bmRlcmxpbmUgdmFyKC0tY29sb3ItZmFpbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHZhcigtLXVuZGVybGluZS10aGlja25lc3MpO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbiksIHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pO1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRleHQtYWNjZW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgfVxuICAudGV4dC1saWdodCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgfVxuICAudGV4dC1zdG9uZS02MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdG9uZS02MDApO1xuICB9XG4gIC50ZXh0LXN0b25lLTgwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0b25lLTgwMCk7XG4gIH1cbiAgLnRleHQtc3RvbmUtOTAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RvbmUtOTAwKTtcbiAgfVxuICAudGV4dC1zdWJ0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWJ0bGUpO1xuICB9XG4gIC50ZXh0LXdlYWsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13ZWFrKTtcbiAgfVxuICAudGV4dC13aGl0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuICAubG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB9XG4gIC51cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLml0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIC50YWJ1bGFyLW51bXMge1xuICAgIC0tdHctbnVtZXJpYy1zcGFjaW5nOiB0YWJ1bGFyLW51bXM7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHZhcigtLXR3LW9yZGluYWwsKSB2YXIoLS10dy1zbGFzaGVkLXplcm8sKSB2YXIoLS10dy1udW1lcmljLWZpZ3VyZSwpIHZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpIHZhcigtLXR3LW51bWVyaWMtZnJhY3Rpb24sKTtcbiAgfVxuICAudW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICB9XG4gIC5hbnRpYWxpYXNlZCB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgfVxuICAuc2hhZG93IHtcbiAgICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAuc2hhZG93LXN0b25lLTgwMFxcLzEwIHtcbiAgICAtLXR3LXNoYWRvdy1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDI2LjglIDAuMDA3IDM0LjI5OCkgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAtLXR3LXNoYWRvdy1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLXN0b25lLTgwMCkgMTAlLCB0cmFuc3BhcmVudCkgdmFyKC0tdHctc2hhZG93LWFscGhhKSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuZmlsdGVyIHtcbiAgICBmaWx0ZXI6IHZhcigtLXR3LWJsdXIsKSB2YXIoLS10dy1icmlnaHRuZXNzLCkgdmFyKC0tdHctY29udHJhc3QsKSB2YXIoLS10dy1ncmF5c2NhbGUsKSB2YXIoLS10dy1odWUtcm90YXRlLCkgdmFyKC0tdHctaW52ZXJ0LCkgdmFyKC0tdHctc2F0dXJhdGUsKSB2YXIoLS10dy1zZXBpYSwpIHZhcigtLXR3LWRyb3Atc2hhZG93LCk7XG4gIH1cbiAgLnRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIG91dGxpbmUtY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCAtLXR3LWdyYWRpZW50LWZyb20sIC0tdHctZ3JhZGllbnQtdmlhLCAtLXR3LWdyYWRpZW50LXRvLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIHRyYW5zbGF0ZSwgc2NhbGUsIHJvdGF0ZSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlciwgYmFja2Ryb3AtZmlsdGVyLCBkaXNwbGF5LCBjb250ZW50LXZpc2liaWxpdHksIG92ZXJsYXksIHBvaW50ZXItZXZlbnRzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10dy1lYXNlLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHctZHVyYXRpb24sIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpO1xuICB9XG4gIC50cmFuc2l0aW9uLVxcW2NvbG9yc1xcLHNjYWxlXFxdIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcnMsc2NhbGU7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLnRyYW5zaXRpb24tYWxsIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLnRyYW5zaXRpb24tY29sb3JzIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBvdXRsaW5lLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgLS10dy1ncmFkaWVudC1mcm9tLCAtLXR3LWdyYWRpZW50LXZpYSwgLS10dy1ncmFkaWVudC10bztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tdHctZWFzZSwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXR3LWR1cmF0aW9uLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKTtcbiAgfVxuICAudHJhbnNpdGlvbi1vcGFjaXR5IHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10dy1lYXNlLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHctZHVyYXRpb24sIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpO1xuICB9XG4gIC50cmFuc2l0aW9uLXRyYW5zZm9ybSB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB0cmFuc2xhdGUsIHNjYWxlLCByb3RhdGU7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLmR1cmF0aW9uLTEwMCB7XG4gICAgLS10dy1kdXJhdGlvbjogMTAwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7XG4gIH1cbiAgLmVhc2Utb3V0IHtcbiAgICAtLXR3LWVhc2U6IHZhcigtLWVhc2Utb3V0KTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZWFzZS1vdXQpO1xuICB9XG4gIC5lYXNlLXNwcmluZyB7XG4gICAgLS10dy1lYXNlOiB2YXIoLS1lYXNlLXNwcmluZyk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgfVxuICAuc3RhY2tlZC10ZXh0IHtcbiAgICBncmlkLWFyZWE6IDEgLyAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZSwgdHJhbnNmb3JtIDIwMG1zIHZhcigtLWJvdW5jZSk7XG4gIH1cbiAgLlxcWy0tYm90dG9tLXBhZGRpbmdcXDpjYWxjXFwodmFyXFwoLS12ZXJ0aWNhbC1wYWRkaW5nXFwpXFwqMlxcKVxcXSB7XG4gICAgLS1ib3R0b20tcGFkZGluZzogY2FsYyh2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nKSAqIDIpO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6LTJkZWdcXF0ge1xuICAgIC0taG92ZXItcm90YXRpb246IC0yZGVnO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6LTNkZWdcXF0ge1xuICAgIC0taG92ZXItcm90YXRpb246IC0zZGVnO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6LTRkZWdcXF0ge1xuICAgIC0taG92ZXItcm90YXRpb246IC00ZGVnO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6M2RlZ1xcXSB7XG4gICAgLS1ob3Zlci1yb3RhdGlvbjogM2RlZztcbiAgfVxuICAuXFxbLS1ob3Zlci14XFw6LTJcXF0ge1xuICAgIC0taG92ZXIteDogLTI7XG4gIH1cbiAgLlxcWy0taG92ZXIteFxcOi0zXFxdIHtcbiAgICAtLWhvdmVyLXg6IC0zO1xuICB9XG4gIC5cXFstLWhvdmVyLXhcXDoyXFxdIHtcbiAgICAtLWhvdmVyLXg6IDI7XG4gIH1cbiAgLlxcWy0taG92ZXIteFxcOjRcXF0ge1xuICAgIC0taG92ZXIteDogNDtcbiAgfVxuICAuXFxbLS1ob3Zlci15XFw6LTFcXF0ge1xuICAgIC0taG92ZXIteTogLTE7XG4gIH1cbiAgLlxcWy0taG92ZXIteVxcOi0yXFxdIHtcbiAgICAtLWhvdmVyLXk6IC0yO1xuICB9XG4gIC5cXFstLWhvdmVyLXlcXDotNlxcXSB7XG4gICAgLS1ob3Zlci15OiAtNjtcbiAgfVxuICAuXFxbLS1ob3Zlci15XFw6MFxcXSB7XG4gICAgLS1ob3Zlci15OiAwO1xuICB9XG4gIC5cXFstLWhvdmVyLXlcXDoxXFwuNVxcXSB7XG4gICAgLS1ob3Zlci15OiAxLjU7XG4gIH1cbiAgLlxcWy0taW5pdGlhbC1yb3RhdGlvblxcOi01ZGVnXFxdIHtcbiAgICAtLWluaXRpYWwtcm90YXRpb246IC01ZGVnO1xuICB9XG4gIC5cXFstLWluaXRpYWwtcm90YXRpb25cXDotOWRlZ1xcXSB7XG4gICAgLS1pbml0aWFsLXJvdGF0aW9uOiAtOWRlZztcbiAgfVxuICAuXFxbLS1pbml0aWFsLXJvdGF0aW9uXFw6MWRlZ1xcXSB7XG4gICAgLS1pbml0aWFsLXJvdGF0aW9uOiAxZGVnO1xuICB9XG4gIC5cXFstLWluaXRpYWwtcm90YXRpb25cXDo2ZGVnXFxdIHtcbiAgICAtLWluaXRpYWwtcm90YXRpb246IDZkZWc7XG4gIH1cbiAgLlxcWy0taW5pdGlhbC1yb3RhdGlvblxcOjdkZWdcXF0ge1xuICAgIC0taW5pdGlhbC1yb3RhdGlvbjogN2RlZztcbiAgfVxuICAuXFxbLS1pbml0aWFsLXJvdGF0aW9uXFw6OWRlZ1xcXSB7XG4gICAgLS1pbml0aWFsLXJvdGF0aW9uOiA5ZGVnO1xuICB9XG4gIC5cXFstLWluaXRpYWwteFxcOjBcXF0ge1xuICAgIC0taW5pdGlhbC14OiAwO1xuICB9XG4gIC5cXFstLWluaXRpYWwteVxcOi0xXFwuNVxcXSB7XG4gICAgLS1pbml0aWFsLXk6IC0xLjU7XG4gIH1cbiAgLlxcWy0taW5pdGlhbC15XFw6LTFcXF0ge1xuICAgIC0taW5pdGlhbC15OiAtMTtcbiAgfVxuICAuXFxbLS1pbml0aWFsLXlcXDotMlxcXSB7XG4gICAgLS1pbml0aWFsLXk6IC0yO1xuICB9XG4gIC5cXFstLWluaXRpYWwteVxcOjNcXF0ge1xuICAgIC0taW5pdGlhbC15OiAzO1xuICB9XG4gIC5cXFstLWxpbmstc3BhY2luZ1xcOi0tc3BhY2luZ1xcKDRcXClcXF0ge1xuICAgIC0tbGluay1zcGFjaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLlxcWy0tbG9nby1zaXplXFw6LS1zcGFjaW5nXFwoNVxcKVxcXSB7XG4gICAgLS1sb2dvLXNpemU6IGNhbGModmFyKC0tc3BhY2luZykgKiA1KTtcbiAgfVxuICAuXFxbLS10aWx0LXNjYWxlXFw6MVxcLjFcXF0ge1xuICAgIC0tdGlsdC1zY2FsZTogMS4xO1xuICB9XG4gIC5cXFstLXZlcnRpY2FsLXBhZGRpbmdcXDotLXNwYWNpbmdcXCgxMlxcKVxcXSB7XG4gICAgLS12ZXJ0aWNhbC1wYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICB9XG4gIC5cXFstLXpcXDoxXFxdIHtcbiAgICAtLXo6IDE7XG4gIH1cbiAgLlxcWy0telxcOjJcXF0ge1xuICAgIC0tejogMjtcbiAgfVxuICAuXFxbLS16XFw6M1xcXSB7XG4gICAgLS16OiAzO1xuICB9XG4gIC5cXFstLXpcXDo0XFxdIHtcbiAgICAtLXo6IDQ7XG4gIH1cbiAgLlxcWy0telxcOjVcXF0ge1xuICAgIC0tejogNTtcbiAgfVxuICAuZWFzZS1zcHJpbmcge1xuICAgIHRyYW5zaXRpb246IHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgfVxuICBAc3VwcG9ydHMgKGNvcm5lci1zaGFwZTogc3F1aXJjbGUpIHtcbiAgICAuc3F1aXJjbGUge1xuICAgICAgY29ybmVyLXNoYXBlOiBzcXVpcmNsZTtcbiAgICB9XG4gIH1cbiAgOmlzKC5cXCpcXDpweC0zID4gKikge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgOmlzKC5cXCpcXDpweS0zID4gKikge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiAzKTtcbiAgfVxuICAubm90LWdyb3VwLWhvdmVyXFw6dHJhbnNsYXRlLXktMTpub3QoOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopKSB7XG4gICAgLS10dy10cmFuc2xhdGUteTogdmFyKC0tc3BhY2luZyk7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICB9XG4gIEBtZWRpYSBub3QgKGhvdmVyOiBob3Zlcikge1xuICAgIC5ub3QtZ3JvdXAtaG92ZXJcXDp0cmFuc2xhdGUteS0xIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXk6IHZhcigtLXNwYWNpbmcpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgfVxuICAubm90LWdyb3VwLWhvdmVyXFw6c2NhbGUtOTc6bm90KDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKSkge1xuICAgIC0tdHctc2NhbGUteDogOTclO1xuICAgIC0tdHctc2NhbGUteTogOTclO1xuICAgIC0tdHctc2NhbGUtejogOTclO1xuICAgIHNjYWxlOiB2YXIoLS10dy1zY2FsZS14KSB2YXIoLS10dy1zY2FsZS15KTtcbiAgfVxuICBAbWVkaWEgbm90IChob3ZlcjogaG92ZXIpIHtcbiAgICAubm90LWdyb3VwLWhvdmVyXFw6c2NhbGUtOTcge1xuICAgICAgLS10dy1zY2FsZS14OiA5NyU7XG4gICAgICAtLXR3LXNjYWxlLXk6IDk3JTtcbiAgICAgIC0tdHctc2NhbGUtejogOTclO1xuICAgICAgc2NhbGU6IHZhcigtLXR3LXNjYWxlLXgpIHZhcigtLXR3LXNjYWxlLXkpO1xuICAgIH1cbiAgfVxuICAubm90LWdyb3VwLWhvdmVyXFw6b3BhY2l0eS0wOm5vdCg6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKikpIHtcbiAgICBvcGFjaXR5OiAwJTtcbiAgfVxuICBAbWVkaWEgbm90IChob3ZlcjogaG92ZXIpIHtcbiAgICAubm90LWdyb3VwLWhvdmVyXFw6b3BhY2l0eS0wIHtcbiAgICAgIG9wYWNpdHk6IDAlO1xuICAgIH1cbiAgfVxuICAubm90LWhvdmVyXFw6bm90LWZvY3VzLXdpdGhpblxcOm9wYWNpdHktNTA6bm90KDpob3Zlcik6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBvcGFjaXR5OiA1MCU7XG4gIH1cbiAgQG1lZGlhIG5vdCAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLm5vdC1ob3ZlclxcOm5vdC1mb2N1cy13aXRoaW5cXDpvcGFjaXR5LTUwOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBvcGFjaXR5OiA1MCU7XG4gICAgfVxuICB9XG4gIC5ub3QtaW4tZGF0YS1cXFtwYWdlXFw9YmxvZy1wb3N0XFxdXFw6aGlkZGVuOm5vdCg6d2hlcmUoW2RhdGEtcGFnZT1cImJsb2ctcG9zdFwiXSkgKikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5vdC1pbi1kYXRhLVxcW3BhZ2VcXD10aWwtZW50cnlcXF1cXDpoaWRkZW46bm90KDp3aGVyZShbZGF0YS1wYWdlPVwidGlsLWVudHJ5XCJdKSAqKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubm90LWluLWRhdGEtXFxbcGFnZVxcPWJsb2ctaW5kZXhcXF1cXDpub3QtaW4tZGF0YS1cXFtwYWdlXFw9dGlsLWluZGV4XFxdXFw6aGlkZGVuOm5vdCg6d2hlcmUoW2RhdGEtcGFnZT1cImJsb2ctaW5kZXhcIl0pICopOm5vdCg6d2hlcmUoW2RhdGEtcGFnZT1cInRpbC1pbmRleFwiXSkgKikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIG5vdCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAubm90LWRhcmtcXDpzaGFkb3ctbWQge1xuICAgICAgLS10dy1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSksIDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuZ3JvdXAtaG92ZXJcXC9hcnJvdy1yaWdodFxcOnRyYW5zbGF0ZS14LTBcXC43NTppcyg6d2hlcmUoLmdyb3VwXFwvYXJyb3ctcmlnaHQpOmhvdmVyICopIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXg6IGNhbGModmFyKC0tc3BhY2luZykgKiAwLjc1KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgLmdyb3VwLWhvdmVyXFwvYXJyb3ctdXBcXDotdHJhbnNsYXRlLXktMFxcLjc1OmlzKDp3aGVyZSguZ3JvdXBcXC9hcnJvdy11cCk6aG92ZXIgKikge1xuICAgICAgLS10dy10cmFuc2xhdGUteTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIC0wLjc1KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgLmdyb3VwLWhvdmVyXFwvYXJyb3ctdXAtcmlnaHRcXDp0cmFuc2xhdGUteC0wXFwuNzU6aXMoOndoZXJlKC5ncm91cFxcL2Fycm93LXVwLXJpZ2h0KTpob3ZlciAqKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS14OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMC43NSk7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICAgIC5ncm91cC1ob3ZlclxcL2Fycm93LXVwLXJpZ2h0XFw6LXRyYW5zbGF0ZS15LTBcXC43NTppcyg6d2hlcmUoLmdyb3VwXFwvYXJyb3ctdXAtcmlnaHQpOmhvdmVyICopIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXk6IGNhbGModmFyKC0tc3BhY2luZykgKiAtMC43NSk7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICAgIC5ncm91cC1ob3ZlclxcL2NsaXBib2FyZFxcOi10cmFuc2xhdGUteC0wXFwuMjU6aXMoOndoZXJlKC5ncm91cFxcL2NsaXBib2FyZCk6aG92ZXIgKikge1xuICAgICAgLS10dy10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIC0wLjI1KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgLmdyb3VwLWhvdmVyXFwvY2xpcGJvYXJkXFw6dHJhbnNsYXRlLXgtMFxcLjI1OmlzKDp3aGVyZSguZ3JvdXBcXC9jbGlwYm9hcmQpOmhvdmVyICopIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXg6IGNhbGModmFyKC0tc3BhY2luZykgKiAwLjI1KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgLmdyb3VwLWhvdmVyXFwvY2xpcGJvYXJkXFw6LXRyYW5zbGF0ZS15LTBcXC4yNTppcyg6d2hlcmUoLmdyb3VwXFwvY2xpcGJvYXJkKTpob3ZlciAqKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS15OiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTAuMjUpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAuZ3JvdXAtaG92ZXJcXC9jbGlwYm9hcmRcXDp0cmFuc2xhdGUteS0wXFwuMjU6aXMoOndoZXJlKC5ncm91cFxcL2NsaXBib2FyZCk6aG92ZXIgKikge1xuICAgICAgLS10dy10cmFuc2xhdGUteTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuMjUpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAuZ3JvdXAtaG92ZXJcXC9leHRlcm5hbC1saW5rXFw6dHJhbnNsYXRlLXgtMFxcLjU6aXMoOndoZXJlKC5ncm91cFxcL2V4dGVybmFsLWxpbmspOmhvdmVyICopIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXg6IGNhbGModmFyKC0tc3BhY2luZykgKiAwLjUpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAuZ3JvdXAtaG92ZXJcXC9leHRlcm5hbC1saW5rXFw6LXRyYW5zbGF0ZS15LTBcXC41OmlzKDp3aGVyZSguZ3JvdXBcXC9leHRlcm5hbC1saW5rKTpob3ZlciAqKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS15OiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTAuNSk7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICB9XG4gIDppcyguXFwqXFw6Zmlyc3RcXDpwbC0zXFwuNSA+ICopOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAzLjUpO1xuICB9XG4gIDppcyguXFwqXFw6bGFzdFxcOnByLTNcXC41ID4gKik6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMuNSk7XG4gIH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuaG92ZXJcXDp0ZXh0LXN0b25lLTkwMDpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RvbmUtOTAwKTtcbiAgICB9XG4gICAgLmhvdmVyXFw6dGV4dC10ZXh0OmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG4gIH1cbiAgLmFjdGl2ZVxcOnNjYWxlLTk3OmFjdGl2ZSB7XG4gICAgLS10dy1zY2FsZS14OiA5NyU7XG4gICAgLS10dy1zY2FsZS15OiA5NyU7XG4gICAgLS10dy1zY2FsZS16OiA5NyU7XG4gICAgc2NhbGU6IHZhcigtLXR3LXNjYWxlLXgpIHZhcigtLXR3LXNjYWxlLXkpO1xuICB9XG4gIDp3aGVyZShbZGF0YS1wYWdlKj1cInRpbFwiXSkgLmluLWRhdGEtXFxbcGFnZVxcKlxcPXRpbFxcXVxcOnRleHQtc3RvbmUtOTAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RvbmUtOTAwKTtcbiAgfVxuICA6d2hlcmUoW2RhdGEtcGFnZT1cImhvbWVcIl0pIC5pbi1kYXRhLVxcW3BhZ2VcXD1ob21lXFxdXFw6dGV4dC10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIH1cbiAgOndoZXJlKFtkYXRhLXBhZ2VePVwiYmxvZ1wiXSkgLmluLWRhdGEtXFxbcGFnZVxcXlxcPWJsb2dcXF1cXDp0ZXh0LXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgfVxuICBAbWVkaWEgKHdpZHRoIDwgNDByZW0pIHtcbiAgICAubWF4LXNtXFw6bWItNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gICAgfVxuICAgIC5tYXgtc21cXDpoaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1heC1zbVxcOm1heC13LVxcWzY1dndcXF0ge1xuICAgICAgbWF4LXdpZHRoOiA2NXZ3O1xuICAgIH1cbiAgICAubWF4LXNtXFw6dHJhbnNsYXRlLXktMiB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS15OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICAgIC5tYXgtc21cXDpmbGV4LWNvbCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAubWF4LXNtXFw6anVzdGlmeS1iZXR3ZWVuIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgLm1heC1zbVxcOnB4LVxcKC0taG9yaXpvbnRhbC1wYWRkaW5nXFwpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ob3Jpem9udGFsLXBhZGRpbmcpO1xuICAgIH1cbiAgICAubWF4LXNtXFw6cHktNCB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAuc21cXDpzdGlja3kge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB9XG4gICAgLnNtXFw6dG9wLTIge1xuICAgICAgdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gICAgfVxuICAgIC5zbVxcOnRvcC04IHtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICAgIH1cbiAgICAuc21cXDpyb3ctc3Bhbi0yIHtcbiAgICAgIGdyaWQtcm93OiBzcGFuIDIgLyBzcGFuIDI7XG4gICAgfVxuICAgIC5zbVxcOm14LWF1dG8ge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gICAgLnNtXFw6LW1iLVxcW2NhbGNcXCh2YXJcXCgtLWJvdHRvbS1wYWRkaW5nXFwpXFwrdmFyXFwoLS12ZXJ0aWNhbC1wYWRkaW5nXFwpXFwpXFxdIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoY2FsYyh2YXIoLS1ib3R0b20tcGFkZGluZykgKyB2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nKSkgKiAtMSk7XG4gICAgfVxuICAgIC5zbVxcOmdyaWQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICB9XG4gICAgLnNtXFw6dy00OCB7XG4gICAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQ4KTtcbiAgICB9XG4gICAgLnNtXFw6Z3JpZC1jb2xzLVxcWzFmcl9hdXRvXFxdIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgfVxuICAgIC5zbVxcOmdyaWQtY29scy1cXFt2YXJcXCgtLWxlZnQtY29sXFwpX3ZhclxcKC0tZ3V0dGVyXFwpXzFmclxcXSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWxlZnQtY29sKSB2YXIoLS1ndXR0ZXIpIDFmcjtcbiAgICB9XG4gICAgLnNtXFw6aXRlbXMtY2VudGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC5zbVxcOmp1c3RpZnktY2VudGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuc21cXDpnYXAtXFwoLS1tYWluLWdhcFxcKSB7XG4gICAgICBnYXA6IHZhcigtLW1haW4tZ2FwKTtcbiAgICB9XG4gICAgLnNtXFw6Z2FwLTgge1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogOCk7XG4gICAgfVxuICAgIC5zbVxcOmdhcC14LTgge1xuICAgICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICAgIH1cbiAgICAuc21cXDpnYXAteS00IHtcbiAgICAgIHJvdy1nYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgICB9XG4gICAgLnNtXFw6c2VsZi1zdGFydCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAuc21cXDp0ZXh0LXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAuc21cXDpcXFstLWdhbGxlcnktY29sdW1uc1xcOjNcXF0ge1xuICAgICAgLS1nYWxsZXJ5LWNvbHVtbnM6IDM7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAubWRcXDpoaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC5kYXJrXFw6Ym9yZGVyLXppbmMtODAwIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItemluYy04MDApO1xuICAgIH1cbiAgICAuZGFya1xcOmJnLXdoaXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB9XG4gICAgLmRhcmtcXDpiZy16aW5jLTkwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTkwMCk7XG4gICAgfVxuICAgIC5kYXJrXFw6YmctemluYy05NTAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItemluYy05NTApO1xuICAgIH1cbiAgICAuZGFya1xcOmZpbGwtXFxbXFwjZmZmXFxdIHtcbiAgICAgIGZpbGw6ICNmZmY7XG4gICAgfVxuICAgIC5kYXJrXFw6ZmlsbC13aGl0ZSB7XG4gICAgICBmaWxsOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgfVxuICAgIC5kYXJrXFw6dGV4dC1ibGFjayB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIH1cbiAgICAuZGFya1xcOnRleHQtc3RvbmUtMTAwIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdG9uZS0xMDApO1xuICAgIH1cbiAgICAuZGFya1xcOnRleHQtemluYy0xMDAge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXppbmMtMTAwKTtcbiAgICB9XG4gICAgLmRhcmtcXDp0ZXh0LXppbmMtMzAwIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTMwMCk7XG4gICAgfVxuICAgIC5kYXJrXFw6c2VsZWN0aW9uXFw6YmctcHJpbWFyeS01MDBcXC80MCA6OnNlbGVjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgb2tsY2goNjguNSUgMC4xNjkgMjM3LjMyMykgNDAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCkgNDAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5kYXJrXFw6c2VsZWN0aW9uXFw6YmctcHJpbWFyeS01MDBcXC80MDo6c2VsZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCg2OC41JSAwLjE2OSAyMzcuMzIzKSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLXByaW1hcnktNTAwKSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5kYXJrXFw6aG92ZXJcXDp0ZXh0LXdoaXRlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgOndoZXJlKFtkYXRhLXBhZ2UqPVwidGlsXCJdKSAuZGFya1xcOmluLWRhdGEtXFxbcGFnZVxcKlxcPXRpbFxcXVxcOnRleHQtd2hpdGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB9XG4gIH1cbiAgQHN1cHBvcnRzIChjb3JuZXItc2hhcGU6IHNxdWlyY2xlKSB7XG4gICAgLnN1cHBvcnRzLXNxdWlyY2xlXFw6cm91bmRlZC1mdWxsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoaW5maW5pdHkgKiAxcHgpO1xuICAgIH1cbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmUnO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL2NhbGlicmUtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJlJztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBzcmM6IHVybCgnLi9mb250cy9jYWxpYnJlLXJlZ3VsYXItaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmUnO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL2NhbGlicmUtc2VtaWJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB9XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyZSc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvY2FsaWJyZS1zZW1pYm9sZC1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB9XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyZSc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvY2FsaWJyZS1ib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ01vbmFzcGFjZSBOZW9uJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDIwMCA4MDA7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvTW9uYXNwYWNlJTIwTmVvbiUyMFZhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDcmltc29uIFBybyc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDAgOTAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL0NyaW1zb25Qcm8tSXRhbGljLVZhcmlhYmxlRm9udF93Z2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDcmltc29uIFBybyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDAgOTAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL0NyaW1zb25Qcm8tVmFyaWFibGVGb250X3dnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dsb3JpYSBIYWxsZWx1amFoJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBzcmM6IHVybCgnLi9mb250cy9HbG9yaWFIYWxsZWx1amFoLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxufVxuQHNjb3BlICguYmxvZy1wb3N0LWxpc3QpIHtcbiAgOnNjb3BlIHtcbiAgICAtLWhvdmVyLXRyYW5zaXRpb246IDYwbXM7XG4gICAgLS1pdGVtLXZlcnRpY2FsLXBhZGRpbmc6IDAuNXJlbTtcbiAgICAtLWl0ZW0taG9yaXpvbnRhbC1wYWRkaW5nOiAwLjc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGNhbGModmFyKC0taXRlbS1ob3Jpem9udGFsLXBhZGRpbmcpICogLTEpO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgfVxuICA6c2NvcGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpLCB2YXIoLS1jb2xvci1zdXJmYWNlKSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIEBzdXBwb3J0cyAoY29ybmVyLXNoYXBlOiBzcXVpcmNsZSkge1xuICAgICAgY29ybmVyLXNoYXBlOiBzcXVpcmNsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgfVxuICAgIHRyYW5zaXRpb246IGluc2V0IGNhbGModmFyKC0taG92ZXItdHJhbnNpdGlvbikgKiAyKSB2YXIoLS1nZW50bGVyLXNwcmluZyksIG9wYWNpdHkgdmFyKC0taG92ZXItdHJhbnNpdGlvbik7XG4gICAgd2lsbC1jaGFuZ2U6IGluc2V0LCBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBwb3NpdGlvbi1hbmNob3I6IC0taG92ZXJlZC1pdGVtO1xuICAgIGluc2V0OiBhbmNob3IoaW5zaWRlKTtcbiAgfVxuICAuYmxvZy1saXN0LWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWhvdmVyLXRyYW5zaXRpb24pO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBAc3VwcG9ydHMgKGNvcm5lci1zaGFwZTogc3F1aXJjbGUpIHtcbiAgICAgIGNvcm5lci1zaGFwZTogc3F1aXJjbGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWl0ZW0tdmVydGljYWwtcGFkZGluZykgdmFyKC0taXRlbS1ob3Jpem9udGFsLXBhZGRpbmcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGFuY2hvci1uYW1lOiAtLWhvdmVyZWQtaXRlbTtcbiAgICB9XG4gICAgLmJsb2ctcG9zdC1saXN0OmhhcygmOmhvdmVyKSAmOm5vdCg6aG92ZXIpIHtcbiAgICAgIG9wYWNpdHk6IDIwJTtcbiAgICB9XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1oYWlybGluZSk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0taXRlbS1ob3Jpem9udGFsLXBhZGRpbmcpICogMik7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0taG92ZXItdHJhbnNpdGlvbik7XG4gICAgfVxuICAgICY6aG92ZXI6OmFmdGVyLCAmOmhhcygrICY6aG92ZXIpOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAuYmxvZy1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgICB9XG4gICAgLmJsb2ctbGlzdC1pdGVtX19kYXRlIHtcbiAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VidGxlKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgICB9XG4gIH1cbn1cbjpyb290IHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodCBkYXJrO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIGh0bWwge1xuICAgIGludGVycG9sYXRlLXNpemU6IGFsbG93LWtleXdvcmRzO1xuICB9XG59XG5AbGF5ZXIgYmFzZSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAjd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG4gICNtYWluIHtcbiAgICBmbGV4OiAxO1xuICB9XG59XG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlbGVjdGlvbi1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZCB1bmRlcmxpbmUgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS14IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwO1xufVxuQHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDA7XG59XG5AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJsdXIge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1icmlnaHRuZXNzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctY29udHJhc3Qge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1ncmF5c2NhbGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1odWUtcm90YXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctaW52ZXJ0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctb3BhY2l0eSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNhdHVyYXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2VwaWEge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWNvbG9yIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctYWxwaGEge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTAwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LXNpemUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1jb250ZW50IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5pdGlhbC12YWx1ZTogXCJcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcm90YXRlLXgge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1yb3RhdGUteSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS16IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2tldy14IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2tldy15IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2Nyb2xsYmFyLXRodW1iIHtcbiAgc3ludGF4OiBcIjxjb2xvcj5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNjcm9sbGJhci10cmFjayB7XG4gIHN5bnRheDogXCI8Y29sb3I+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1zcGFjZS15LXJldmVyc2Uge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDA7XG59XG5AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IHNvbGlkO1xufVxuQHByb3BlcnR5IC0tdHctZm9udC13ZWlnaHQge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy10cmFja2luZyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LW9yZGluYWwge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1zbGFzaGVkLXplcm8ge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtc3BhY2luZyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtZnJhY3Rpb24ge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1zaGFkb3cge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDAgMCAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvciB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1hbHBoYSB7XG4gIHN5bnRheDogXCI8cGVyY2VudGFnZT5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxMDAlO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwIDAgIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctYWxwaGEge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTAwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1jb2xvciB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctc2hhZG93IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwIDAgIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLWluc2V0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGgge1xuICBzeW50YXg6IFwiPGxlbmd0aD5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwcHg7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1jb2xvciB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogI2ZmZjtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctZHVyYXRpb24ge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1lYXNlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2NhbGUteCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNjYWxlLXkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDE7XG59XG5AcHJvcGVydHkgLS10dy1zY2FsZS16IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxO1xufVxuQGxheWVyIHByb3BlcnRpZXMge1xuICBAc3VwcG9ydHMgKCgtd2Via2l0LWh5cGhlbnM6IG5vbmUpIGFuZCAobm90IChtYXJnaW4tdHJpbTogaW5saW5lKSkpIG9yICgoLW1vei1vcmllbnQ6IGlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSkge1xuICAgICosIDo6YmVmb3JlLCA6OmFmdGVyLCA6OmJhY2tkcm9wIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXg6IDA7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS15OiAwO1xuICAgICAgLS10dy10cmFuc2xhdGUtejogMDtcbiAgICAgIC0tdHctYmx1cjogaW5pdGlhbDtcbiAgICAgIC0tdHctYnJpZ2h0bmVzczogaW5pdGlhbDtcbiAgICAgIC0tdHctY29udHJhc3Q6IGluaXRpYWw7XG4gICAgICAtLXR3LWdyYXlzY2FsZTogaW5pdGlhbDtcbiAgICAgIC0tdHctaHVlLXJvdGF0ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctaW52ZXJ0OiBpbml0aWFsO1xuICAgICAgLS10dy1vcGFjaXR5OiBpbml0aWFsO1xuICAgICAgLS10dy1zYXR1cmF0ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctc2VwaWE6IGluaXRpYWw7XG4gICAgICAtLXR3LWRyb3Atc2hhZG93OiBpbml0aWFsO1xuICAgICAgLS10dy1kcm9wLXNoYWRvdy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctZHJvcC1zaGFkb3ctYWxwaGE6IDEwMCU7XG4gICAgICAtLXR3LWRyb3Atc2hhZG93LXNpemU6IGluaXRpYWw7XG4gICAgICAtLXR3LWNvbnRlbnQ6IFwiXCI7XG4gICAgICAtLXR3LXJvdGF0ZS14OiBpbml0aWFsO1xuICAgICAgLS10dy1yb3RhdGUteTogaW5pdGlhbDtcbiAgICAgIC0tdHctcm90YXRlLXo6IGluaXRpYWw7XG4gICAgICAtLXR3LXNrZXcteDogaW5pdGlhbDtcbiAgICAgIC0tdHctc2tldy15OiBpbml0aWFsO1xuICAgICAgLS10dy1zY3JvbGxiYXItdGh1bWI6ICMwMDAwO1xuICAgICAgLS10dy1zY3JvbGxiYXItdHJhY2s6ICMwMDAwO1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICAtLXR3LWJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAtLXR3LWZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuICAgICAgLS10dy10cmFja2luZzogaW5pdGlhbDtcbiAgICAgIC0tdHctb3JkaW5hbDogaW5pdGlhbDtcbiAgICAgIC0tdHctc2xhc2hlZC16ZXJvOiBpbml0aWFsO1xuICAgICAgLS10dy1udW1lcmljLWZpZ3VyZTogaW5pdGlhbDtcbiAgICAgIC0tdHctbnVtZXJpYy1zcGFjaW5nOiBpbml0aWFsO1xuICAgICAgLS10dy1udW1lcmljLWZyYWN0aW9uOiBpbml0aWFsO1xuICAgICAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctc2hhZG93LWNvbG9yOiBpbml0aWFsO1xuICAgICAgLS10dy1zaGFkb3ctYWxwaGE6IDEwMCU7XG4gICAgICAtLXR3LWluc2V0LXNoYWRvdzogMCAwICMwMDAwO1xuICAgICAgLS10dy1pbnNldC1zaGFkb3ctY29sb3I6IGluaXRpYWw7XG4gICAgICAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYTogMTAwJTtcbiAgICAgIC0tdHctcmluZy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctaW5zZXQtcmluZy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctaW5zZXQtcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctcmluZy1pbnNldDogaW5pdGlhbDtcbiAgICAgIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcbiAgICAgIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XG4gICAgICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xuICAgICAgLS10dy1kdXJhdGlvbjogaW5pdGlhbDtcbiAgICAgIC0tdHctZWFzZTogaW5pdGlhbDtcbiAgICAgIC0tdHctc2NhbGUteDogMTtcbiAgICAgIC0tdHctc2NhbGUteTogMTtcbiAgICAgIC0tdHctc2NhbGUtejogMTtcbiAgICB9XG4gIH1cbn1cbiIsInByZSBjb2RlLmhsanN7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmF1dG87cGFkZGluZzoxZW19Y29kZS5obGpze3BhZGRpbmc6M3B4IDVweH0vKiFcbiAgVGhlbWU6IEdpdEh1YlxuICBEZXNjcmlwdGlvbjogTGlnaHQgdGhlbWUgYXMgc2VlbiBvbiBnaXRodWIuY29tXG4gIEF1dGhvcjogZ2l0aHViLmNvbVxuICBNYWludGFpbmVyOiBASGlyc2VcbiAgVXBkYXRlZDogMjAyMS0wNS0xNVxuXG4gIE91dGRhdGVkIGJhc2UgdmVyc2lvbjogaHR0cHM6Ly9naXRodWIuY29tL3ByaW1lci9naXRodWItc3ludGF4LWxpZ2h0XG4gIEN1cnJlbnQgY29sb3JzIHRha2VuIGZyb20gR2l0SHViJ3MgQ1NTXG4qLy5obGpze2NvbG9yOiMyNDI5MmU7YmFja2dyb3VuZDojZmZmfS5obGpzLWRvY3RhZywuaGxqcy1rZXl3b3JkLC5obGpzLW1ldGEgLmhsanMta2V5d29yZCwuaGxqcy10ZW1wbGF0ZS10YWcsLmhsanMtdGVtcGxhdGUtdmFyaWFibGUsLmhsanMtdHlwZSwuaGxqcy12YXJpYWJsZS5sYW5ndWFnZV97Y29sb3I6I2Q3M2E0OX0uaGxqcy10aXRsZSwuaGxqcy10aXRsZS5jbGFzc18sLmhsanMtdGl0bGUuY2xhc3NfLmluaGVyaXRlZF9fLC5obGpzLXRpdGxlLmZ1bmN0aW9uX3tjb2xvcjojNmY0MmMxfS5obGpzLWF0dHIsLmhsanMtYXR0cmlidXRlLC5obGpzLWxpdGVyYWwsLmhsanMtbWV0YSwuaGxqcy1udW1iZXIsLmhsanMtb3BlcmF0b3IsLmhsanMtc2VsZWN0b3ItYXR0ciwuaGxqcy1zZWxlY3Rvci1jbGFzcywuaGxqcy1zZWxlY3Rvci1pZCwuaGxqcy12YXJpYWJsZXtjb2xvcjojMDA1Y2M1fS5obGpzLW1ldGEgLmhsanMtc3RyaW5nLC5obGpzLXJlZ2V4cCwuaGxqcy1zdHJpbmd7Y29sb3I6IzAzMmY2Mn0uaGxqcy1idWlsdF9pbiwuaGxqcy1zeW1ib2x7Y29sb3I6I2UzNjIwOX0uaGxqcy1jb2RlLC5obGpzLWNvbW1lbnQsLmhsanMtZm9ybXVsYXtjb2xvcjojNmE3MzdkfS5obGpzLW5hbWUsLmhsanMtcXVvdGUsLmhsanMtc2VsZWN0b3ItcHNldWRvLC5obGpzLXNlbGVjdG9yLXRhZ3tjb2xvcjojMjI4NjNhfS5obGpzLXN1YnN0e2NvbG9yOiMyNDI5MmV9LmhsanMtc2VjdGlvbntjb2xvcjojMDA1Y2M1O2ZvbnQtd2VpZ2h0OjcwMH0uaGxqcy1idWxsZXR7Y29sb3I6IzczNWMwZn0uaGxqcy1lbXBoYXNpc3tjb2xvcjojMjQyOTJlO2ZvbnQtc3R5bGU6aXRhbGljfS5obGpzLXN0cm9uZ3tjb2xvcjojMjQyOTJlO2ZvbnQtd2VpZ2h0OjcwMH0uaGxqcy1hZGRpdGlvbntjb2xvcjojMjI4NjNhO2JhY2tncm91bmQtY29sb3I6I2YwZmZmNH0uaGxqcy1kZWxldGlvbntjb2xvcjojYjMxZDI4O2JhY2tncm91bmQtY29sb3I6I2ZmZWVmMH0iLCJwcmUgY29kZS5obGpze2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MWVtfWNvZGUuaGxqc3twYWRkaW5nOjNweCA1cHh9LyohXG4gIFRoZW1lOiBHaXRIdWIgRGFya1xuICBEZXNjcmlwdGlvbjogRGFyayB0aGVtZSBhcyBzZWVuIG9uIGdpdGh1Yi5jb21cbiAgQXV0aG9yOiBnaXRodWIuY29tXG4gIE1haW50YWluZXI6IEBIaXJzZVxuICBVcGRhdGVkOiAyMDIxLTA1LTE1XG5cbiAgT3V0ZGF0ZWQgYmFzZSB2ZXJzaW9uOiBodHRwczovL2dpdGh1Yi5jb20vcHJpbWVyL2dpdGh1Yi1zeW50YXgtZGFya1xuICBDdXJyZW50IGNvbG9ycyB0YWtlbiBmcm9tIEdpdEh1YidzIENTU1xuKi8uaGxqc3tjb2xvcjojYzlkMWQ5O2JhY2tncm91bmQ6IzBkMTExN30uaGxqcy1kb2N0YWcsLmhsanMta2V5d29yZCwuaGxqcy1tZXRhIC5obGpzLWtleXdvcmQsLmhsanMtdGVtcGxhdGUtdGFnLC5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLC5obGpzLXR5cGUsLmhsanMtdmFyaWFibGUubGFuZ3VhZ2Vfe2NvbG9yOiNmZjdiNzJ9LmhsanMtdGl0bGUsLmhsanMtdGl0bGUuY2xhc3NfLC5obGpzLXRpdGxlLmNsYXNzXy5pbmhlcml0ZWRfXywuaGxqcy10aXRsZS5mdW5jdGlvbl97Y29sb3I6I2QyYThmZn0uaGxqcy1hdHRyLC5obGpzLWF0dHJpYnV0ZSwuaGxqcy1saXRlcmFsLC5obGpzLW1ldGEsLmhsanMtbnVtYmVyLC5obGpzLW9wZXJhdG9yLC5obGpzLXNlbGVjdG9yLWF0dHIsLmhsanMtc2VsZWN0b3ItY2xhc3MsLmhsanMtc2VsZWN0b3ItaWQsLmhsanMtdmFyaWFibGV7Y29sb3I6Izc5YzBmZn0uaGxqcy1tZXRhIC5obGpzLXN0cmluZywuaGxqcy1yZWdleHAsLmhsanMtc3RyaW5ne2NvbG9yOiNhNWQ2ZmZ9LmhsanMtYnVpbHRfaW4sLmhsanMtc3ltYm9se2NvbG9yOiNmZmE2NTd9LmhsanMtY29kZSwuaGxqcy1jb21tZW50LC5obGpzLWZvcm11bGF7Y29sb3I6IzhiOTQ5ZX0uaGxqcy1uYW1lLC5obGpzLXF1b3RlLC5obGpzLXNlbGVjdG9yLXBzZXVkbywuaGxqcy1zZWxlY3Rvci10YWd7Y29sb3I6IzdlZTc4N30uaGxqcy1zdWJzdHtjb2xvcjojYzlkMWQ5fS5obGpzLXNlY3Rpb257Y29sb3I6IzFmNmZlYjtmb250LXdlaWdodDo3MDB9LmhsanMtYnVsbGV0e2NvbG9yOiNmMmNjNjB9LmhsanMtZW1waGFzaXN7Y29sb3I6I2M5ZDFkOTtmb250LXN0eWxlOml0YWxpY30uaGxqcy1zdHJvbmd7Y29sb3I6I2M5ZDFkOTtmb250LXdlaWdodDo3MDB9LmhsanMtYWRkaXRpb257Y29sb3I6I2FmZjViNDtiYWNrZ3JvdW5kLWNvbG9yOiMwMzNhMTZ9LmhsanMtZGVsZXRpb257Y29sb3I6I2ZmZGNkNztiYWNrZ3JvdW5kLWNvbG9yOiM2NzA2MGN9IiwiLyogRGVmYXVsdCAobGlnaHQpICovXG5AaW1wb3J0ICdoaWdobGlnaHQuanMvc3R5bGVzL2dpdGh1Yi5taW4uY3NzJyBub3QgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKTtcblxuLyogRGFyayB0aGVtZSB3aGVuIHRoZSB1c2VyIHByZWZlcnMgZGFyayBtb2RlICovXG5AaW1wb3J0ICdoaWdobGlnaHQuanMvc3R5bGVzL2dpdGh1Yi1kYXJrLm1pbi5jc3MnIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayk7XG4iLCIvKiEgdGFpbHdpbmRjc3MgdjQuMy4zIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSAqL1xuQHNjb3BlICgucGFnZS00MDQpIHtcbiAgOnNjb3BlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIH1cbiAgLnBhZ2UtNDA0X19oZXJvIHtcbiAgICBtYXgtd2lkdGg6IDc2Y2g7XG4gIH1cbiAgLnBhZ2UtNDA0X19pbnRybyB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbiAgLnBhZ2UtNDA0X19ib2R5IHtcbiAgICBtYXgtd2lkdGg6IDc2Y2g7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW11dGVkKTtcbiAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgICBhOm5vdCg6aG92ZXIpIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG4gIH1cbiAgLnBhZ2UtNDA0X19ydWxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1oYWlybGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIH1cbn1cbi5wYWdlLTQwNF9fbnVtZXJhbCB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiBjbGFtcCg5cmVtLCAxNXZ3LCAxNHJlbSk7XG4gIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXByaW1hcnktNDAwKSwgdmFyKC0tY29sb3ItcHJpbWFyeS01MDApKTtcbiAgdGV4dC1zaGFkb3c6IDAgMy41cHggNnB4IG9rbGNoKDAlIDAgMCAvIDAuMDkpO1xuICBhbmltYXRpb246IHBhZ2UtNDA0LXBvcCA5MDBtcyB2YXIoLS1zcHJpbmcpIGJvdGg7XG59XG5Aa2V5ZnJhbWVzIHBhZ2UtNDA0LXBvcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgc2NhbGU6IDAuODU7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5wYWdlLTQwNF9fbnVtZXJhbCB7XG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/