@charset "UTF-8";
:root {
  --color-bg: #f7f3ee;
  --color-surface: #ffffff;
  --color-surface-alt: #f2ece4;
  --color-border: #e2d9cf;
  --color-border-light: #efe7de;
  --color-text: #2b241d;
  --color-text-muted: #7e7366;
  --color-primary: #3f6b5b;
  --color-primary-strong: #325648;
  --color-secondary: #9b7b56;
  --color-success: #4f7a68;
  --color-danger: #b85b56;
  --color-warning: #c2a04d;
  --color-info: #6f8aa5;
  --color-overlay: rgba(40, 32, 24, 0.4);
  --color-correct: #4f7a68;
  --color-correct-text: #f7f3ee;
  --color-present: #c2a04d;
  --color-present-text: #3a2a14;
  --color-absent: #d1c8bd;
  --color-absent-text: #695f55;
  --color-absent-border: #c4bbaf;
  --color-key: #e8e1d8;
  --color-key-hover: #ded6cc;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-soft: 0 10px 30px rgba(58, 46, 33, 0.08);
  --shadow-strong: 0 18px 50px rgba(58, 46, 33, 0.16);
  --font-base: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Fraunces", "Georgia", "Times New Roman", serif;
  --font-size-base: 16px;
  --font-size-sm: 0.9rem;
  --font-size-lg: 1.15rem;
}

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

html {
  font-size: var(--font-size-base);
  background-color: var(--color-bg);
  touch-action: manipulation;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-base);
  background-color: var(--color-bg);
  color: var(--color-text);
  line-height: 1.5;
}

body.turbo-native-body {
  padding-bottom: calc(72px + env(safe-area-inset-bottom));
}

h1,
h2,
h3,
h4,
.heading-lg,
.heading-md,
.heading-sm {
  font-family: var(--font-display);
  letter-spacing: 0.01em;
}

body.modal-open {
  overflow: hidden;
}

a {
  color: var(--color-secondary);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--color-primary);
}

img {
  max-width: 100%;
  display: block;
}

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

.app-container, .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-4);
}
@media (max-width: 768px) {
  .app-container, .container {
    padding: 0 var(--space-3);
  }
}
@media (max-width: 480px) {
  .app-container, .container {
    padding: 0 var(--space-2);
  }
}

.panel {
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--color-border);
  padding: var(--space-5);
}

.panel-header {
  margin-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  padding-bottom: var(--space-3);
}

.panel-body {
  padding-top: var(--space-3);
}

.result-page {
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  position: relative;
  color: #fff;
}

.result-page--wordle {
  --result-accent: #f5d878;
  --result-card-bg: rgba(238, 255, 248, 0.12);
  --result-card-border: rgba(255, 255, 255, 0.2);
  background: linear-gradient(165deg, #3f6e5a 0%, #23463a 54%, #122b26 100%);
}

.result-page--bee {
  --result-accent: #ffd27a;
  --result-card-bg: rgba(255, 240, 218, 0.12);
  --result-card-border: rgba(255, 255, 255, 0.22);
  background: linear-gradient(165deg, #b97f2b 0%, #7f4719 54%, #502a0c 100%);
}

.result-page--connections {
  --result-accent: #9bb1ff;
  --result-card-bg: rgba(227, 232, 255, 0.13);
  --result-card-border: rgba(255, 255, 255, 0.2);
  background: linear-gradient(165deg, #4f61b2 0%, #3b356f 54%, #231d49 100%);
}

.result-page--sudoku {
  --result-accent: #8fe3ea;
  --result-card-bg: rgba(220, 252, 255, 0.12);
  --result-card-border: rgba(255, 255, 255, 0.2);
  background: linear-gradient(165deg, #1c767b 0%, #103952 54%, #061a2c 100%);
}

.result-page::before,
.result-page::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  z-index: 0;
}

.result-page::before {
  width: clamp(280px, 58vw, 420px);
  height: clamp(280px, 58vw, 420px);
  top: clamp(-150px, -16vw, -70px);
  left: clamp(-190px, -22vw, -90px);
  background: rgba(255, 255, 255, 0.11);
}

.result-page::after {
  width: clamp(200px, 40vw, 320px);
  height: clamp(200px, 40vw, 320px);
  right: clamp(-90px, -12vw, -36px);
  bottom: clamp(24px, 5vw, 74px);
  background: rgba(255, 255, 255, 0.06);
}

.result-shell {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-template-rows: auto auto minmax(72px, 1fr) auto auto auto;
  gap: clamp(8px, 1.5vh, 16px);
  padding: calc(env(safe-area-inset-top, 0) + 10px) clamp(14px, 4vw, 24px) calc(env(safe-area-inset-bottom, 0) + 12px);
}

.result-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.result-date {
  font-size: clamp(0.86rem, 3.2vw, 1rem);
  color: rgba(255, 255, 255, 0.86);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.result-close {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.94);
  display: inline-grid;
  place-items: center;
  text-decoration: none;
  font-size: 1rem;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background 0.15s ease;
}
.result-close:hover, .result-close:active {
  background: rgba(255, 255, 255, 0.2);
}

.result-header {
  display: grid;
  gap: var(--space-2);
  max-width: 100%;
}

.result-status-badge {
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.27);
  background: rgba(255, 255, 255, 0.13);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.result-title {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 8.6vw, 3.35rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.result-subtitle {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.66);
}

.result-visual {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.result-wordle-grid {
  display: grid;
  gap: 5px;
}

.result-wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.result-wordle-tile {
  width: clamp(25px, 6.2vw, 34px);
  aspect-ratio: 1;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  background: rgba(255, 255, 255, 0.08);
}
.result-wordle-tile.is-correct {
  background: #5a8f74;
  border-color: rgba(255, 255, 255, 0.35);
}
.result-wordle-tile.is-present {
  background: #b9923a;
  border-color: rgba(255, 255, 255, 0.32);
}
.result-wordle-tile.is-absent {
  background: rgba(255, 255, 255, 0.2);
}
.result-wordle-tile.is-empty {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.result-bee-visual {
  width: min(320px, 86vw);
  display: grid;
  gap: var(--space-2);
  justify-items: center;
}

.result-bee-icon {
  font-size: clamp(2.4rem, 8vw, 3.35rem);
  line-height: 1;
}

.result-bee-rank {
  font-family: var(--font-display);
  font-size: clamp(1rem, 4.1vw, 1.35rem);
  line-height: 1.06;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
}

.result-bee-bar-track {
  width: 100%;
  height: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}

.result-bee-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
}

.result-bee-progress-label {
  font-size: 0.74rem;
  text-align: center;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.76);
}

.result-connections-visual {
  width: min(340px, 88vw);
  display: grid;
  gap: var(--space-2);
  justify-items: center;
}

.result-connections-count {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 6vw, 2.15rem);
  line-height: 1;
  color: #fff;
}

.result-connections-label {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.68);
}

.result-conn-groups {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2);
}

.result-conn-group {
  min-height: 54px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  display: grid;
  place-items: center;
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
}
.result-conn-group.is-unsolved {
  opacity: 0.35;
}
.result-conn-group.cat-1 {
  background: rgba(245, 214, 100, 0.33);
}
.result-conn-group.cat-2 {
  background: rgba(100, 185, 125, 0.33);
}
.result-conn-group.cat-3 {
  background: rgba(110, 155, 220, 0.33);
}
.result-conn-group.cat-4 {
  background: rgba(195, 100, 110, 0.33);
}

.result-sudoku-grid {
  width: min(224px, 58vw);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 2px;
}

.result-sudoku-cell {
  border-radius: 2px;
  border: 0;
  background: rgba(255, 255, 255, 0.08);
}
.result-sudoku-cell.is-given {
  background: rgba(255, 255, 255, 0.32);
}
.result-sudoku-cell.is-solved {
  background: rgba(255, 255, 255, 0.17);
}
.result-sudoku-cell.box-right {
  border-right: 2px solid rgba(255, 255, 255, 0.2);
}
.result-sudoku-cell.box-bottom {
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.result-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1.2vh, 12px);
}

.result-stat {
  min-height: clamp(68px, 10.4vh, 88px);
  border-radius: 16px;
  border: 1px solid var(--result-card-border);
  background: var(--result-card-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: clamp(8px, 1.5vh, 14px) 8px;
}

.result-stat__label {
  font-size: 0.63rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.68);
}

.result-stat__value {
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 7.2vw, 2.5rem);
  line-height: 0.95;
  color: #fff;
  text-wrap: balance;
}
.result-stat__value.is-xp {
  color: var(--result-accent);
}

.result-stat__value--small {
  font-size: clamp(1.05rem, 4.8vw, 1.75rem);
}

.result-actions {
  display: grid;
}

.result-share-btn,
.result-detail-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.17);
  padding: clamp(0.72rem, 2.2vh, 0.88rem) 1rem;
  color: #fff;
  font-size: clamp(0.95rem, 4vw, 1.12rem);
  font-weight: 700;
  text-decoration: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background 0.15s ease;
}
.result-share-btn:hover, .result-share-btn:active,
.result-detail-btn:hover,
.result-detail-btn:active {
  background: rgba(255, 255, 255, 0.25);
}

.result-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.result-footer-url {
  font-size: clamp(0.95rem, 3.5vw, 1.08rem);
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
}

.result-xp-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.12);
  color: var(--result-accent);
  padding: 0.28rem 0.7rem;
  font-size: clamp(0.72rem, 3vw, 0.86rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

@media (max-height: 760px) {
  .result-shell {
    gap: 8px;
    grid-template-rows: auto auto minmax(50px, 1fr) auto auto auto;
  }
  .result-title {
    font-size: clamp(1.82rem, 8.4vw, 2.72rem);
  }
  .result-wordle-tile {
    width: clamp(21px, 5.4vw, 29px);
  }
  .result-stat {
    min-height: 64px;
  }
}
@media (max-height: 680px) {
  .result-shell {
    padding-top: calc(env(safe-area-inset-top, 0) + 6px);
    padding-bottom: calc(env(safe-area-inset-bottom, 0) + 8px);
  }
  .result-close {
    width: 36px;
    height: 36px;
  }
  .result-subtitle {
    display: none;
  }
  .result-bee-icon {
    font-size: 2rem;
  }
  .result-sudoku-grid {
    width: min(178px, 50vw);
  }
  .result-stat__value {
    font-size: clamp(1.32rem, 6.2vw, 2rem);
  }
}
.layout-row {
  display: flex;
  flex-direction: row;
}

.layout-col {
  display: flex;
  flex-direction: column;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-end {
  justify-content: flex-end;
}

.align-center {
  align-items: center;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.gap-xs {
  gap: var(--space-2);
}

.gap-sm {
  gap: var(--space-3);
}

.gap-md {
  gap: var(--space-4);
}

.gap-lg {
  gap: var(--space-5);
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-muted {
  color: var(--color-text-muted);
}

.text-gradient {
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.heading-lg {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 var(--space-4);
}

.heading-md {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0 0 var(--space-3);
}

.heading-sm {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 var(--space-2);
}

.mt-sm {
  margin-top: var(--space-3);
}

.mt-md {
  margin-top: var(--space-4);
}

.mt-lg {
  margin-top: var(--space-6);
}

.mb-sm {
  margin-bottom: var(--space-3);
}

.mb-md {
  margin-bottom: var(--space-4);
}

.mb-lg {
  margin-bottom: var(--space-6);
}

.px-md {
  padding-left: var(--space-4);
  padding-right: var(--space-4);
}

.py-md {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
}

.turbo-native-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: calc(44px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) var(--space-4) 0;
  display: flex;
  align-items: center;
  background: transparent;
  z-index: 1100;
  border-bottom: 0;
}

.turbo-native-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  box-shadow: 0 6px 18px rgba(35, 28, 22, 0.08);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.turbo-native-back:active {
  transform: translateY(1px);
}

.turbo-native-help {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  box-shadow: 0 6px 18px rgba(35, 28, 22, 0.08);
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.turbo-native-help:active {
  transform: translateY(1px);
}

.turbo-native-tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 28px calc(12px + env(safe-area-inset-bottom));
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: var(--space-3);
  background: rgba(255, 255, 255, 0.92);
  border-top: 1px solid rgba(48, 38, 28, 0.08);
  box-shadow: 0 -8px 18px rgba(35, 28, 22, 0.05);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform: translateZ(0);
  will-change: transform;
  z-index: 1100;
}

.turbo-native-tabbar__item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: none;
  font-weight: 500;
  color: var(--color-text-muted);
  text-decoration: none;
  position: relative;
}

.turbo-native-tabbar__item i {
  font-size: 1.15rem;
}

.turbo-native-tabbar__item.is-active {
  color: var(--color-text);
}

.turbo-native-tabbar__item.is-active::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-secondary);
  position: absolute;
  bottom: -6px;
}

@media (min-width: 769px) {
  .hide-desktop {
    display: none !important;
  }
}

.btn, .btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info, .btn-info, .btn-danger, .btn-warning, .btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.65rem 1.5rem;
  border-radius: var(--radius-md);
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  text-transform: none;
  text-decoration: none;
}
.btn:hover, .btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover, .btn-info:hover, .btn-danger:hover, .btn-warning:hover, .btn-success:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}
.btn:active, .btn-outline-primary:active,
.btn-outline-secondary:active,
.btn-outline-success:active,
.btn-outline-danger:active,
.btn-outline-warning:active,
.btn-outline-info:active, .btn-info:active, .btn-danger:active, .btn-warning:active, .btn-success:active {
  transform: translateY(0);
  box-shadow: none;
}

.btn-primary {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));
  color: #ffffff;
  border-color: var(--color-primary-strong);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--color-secondary), #7f6041);
  color: #ffffff;
  border-color: #7f6041;
}

.btn-outline, .btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info {
  background: transparent;
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
}
.btn-outline:hover, .btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover {
  background-color: var(--color-border-light);
}

.btn-google {
  background: #ffffff;
  border: 1px solid #dadce0;
  color: #1f1f1f;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.2);
}
.btn-google:hover {
  background-color: #f8f9fa;
  border-color: #c6c6c6;
}

.btn-apple {
  background: #000000;
  border: 1px solid #000000;
  color: #ffffff;
}
.btn-apple:hover {
  background: #1a1a1a;
  border-color: #1a1a1a;
}

.auth-social {
  margin-bottom: var(--space-3);
}

.auth-provider-btn {
  font-weight: 600;
  min-height: 2.8rem;
}

.auth-provider-icon {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.auth-provider-icon svg {
  display: block;
}

.auth-divider {
  margin: var(--space-4) 0 var(--space-3);
  font-size: 0.85rem;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--color-border-light);
}

.auth-divider-tight {
  margin-top: var(--space-2);
}

.btn-link {
  background: none;
  border: none;
  color: var(--color-secondary);
  padding: 0;
}
.btn-link:hover {
  color: var(--color-primary);
}

.btn-lg {
  padding: 0.9rem 2rem;
  font-size: 1.1rem;
}

.btn-sm {
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
}

.btn-full {
  width: 100%;
}

.alert {
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-3);
  border: 1px solid transparent;
  font-weight: 500;
}

.alert-success {
  background-color: rgba(79, 122, 104, 0.14);
  border-color: rgba(79, 122, 104, 0.35);
  color: #2f4c3e;
}

.alert-danger {
  background-color: rgba(184, 91, 86, 0.14);
  border-color: rgba(184, 91, 86, 0.35);
  color: #6e2f2b;
}

.alert-warning {
  background-color: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.35);
  color: #5b4521;
}

.alert-info {
  background-color: rgba(111, 138, 165, 0.16);
  border-color: rgba(111, 138, 165, 0.35);
  color: #314254;
}

.alert-dismissible {
  position: relative;
  padding-right: 2.5rem;
}

.btn-close {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  transform: translateY(-50%);
  width: 1.1rem;
  height: 1.1rem;
  border: none;
  background: none;
  color: inherit;
  cursor: pointer;
  opacity: 0.8;
}
.btn-close:after {
  content: "✕";
  display: block;
  line-height: 1;
  font-size: 1rem;
}
.btn-close:hover, .btn-close:focus {
  opacity: 1;
}

.form-field {
  margin-bottom: var(--space-4);
}

.form-label {
  display: block;
  margin-bottom: var(--space-2);
  font-weight: 500;
  font-size: 0.95rem;
}

.input, .form-control,
.select,
.form-select,
.textarea {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  background-color: var(--color-surface-alt);
  color: var(--color-text);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input:focus, .form-control:focus,
.select:focus,
.form-select:focus,
.textarea:focus {
  outline: none;
  border-color: var(--color-secondary);
  box-shadow: 0 0 0 2px rgba(155, 123, 86, 0.35);
}

.textarea {
  min-height: 140px;
  resize: vertical;
}

.helper-text {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-top: var(--space-1);
}

.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  z-index: 1000;
}
.modal.is-open {
  display: flex;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: var(--color-overlay);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.modal__dialog {
  position: relative;
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-strong);
  width: min(640px, 95vw);
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.modal__header,
.modal__footer {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__footer {
  border-top: 1px solid var(--color-border-light);
  border-bottom: none;
  gap: var(--space-2);
}

.modal__body {
  padding: var(--space-4);
  overflow-y: auto;
}

.modal__close {
  background: none;
  border: none;
  color: var(--color-text-muted);
  font-size: 1.4rem;
  cursor: pointer;
}

.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background-color: var(--color-border-light);
  color: var(--color-text);
}

.progress {
  width: 100%;
  height: 12px;
  background-color: var(--color-border-light);
  border-radius: 999px;
  overflow: hidden;
}

.progress__bar {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  transition: width 0.4s ease;
}

/* Legacy layout + utility compatibility */
.row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

[class*=col-] {
  flex: 1 0 100%;
}

@media (min-width: 576px) {
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-10 {
    flex: 0 0 83.333%;
    max-width: 83.333%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .col-lg-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-8 {
    flex: 0 0 66.666%;
    max-width: 66.666%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.d-flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.justify-content-between {
  justify-content: space-between;
}

.justify-content-center {
  justify-content: center;
}

.align-items-center {
  align-items: center;
}

.align-items-end {
  align-items: flex-end;
}

.align-items-start {
  align-items: flex-start;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}

.text-center {
  text-align: center;
}

.text-end {
  text-align: right;
}

.mt-2 {
  margin-top: var(--space-2);
}

.mt-3 {
  margin-top: var(--space-3);
}

.mt-4 {
  margin-top: var(--space-4);
}

.mt-5 {
  margin-top: var(--space-6);
}

.mb-2 {
  margin-bottom: var(--space-2);
}

.mb-3 {
  margin-bottom: var(--space-3);
}

.mb-4 {
  margin-bottom: var(--space-4);
}

.mb-5 {
  margin-bottom: var(--space-6);
}

.me-1 {
  margin-right: var(--space-2);
}

.me-2 {
  margin-right: var(--space-3);
}

.me-3 {
  margin-right: var(--space-4);
}

.ms-1 {
  margin-left: var(--space-2);
}

.ms-2 {
  margin-left: var(--space-3);
}

.py-4 {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

.px-3 {
  padding-left: var(--space-3);
  padding-right: var(--space-3);
}

.g-3 {
  gap: var(--space-3);
}

.g-4 {
  gap: var(--space-4);
}

.card {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  margin-bottom: var(--space-4);
}

.card-header {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
}

.card-body {
  padding: var(--space-4);
}

.card-title {
  margin: 0;
  font-size: 1.25rem;
}

.shadow {
  box-shadow: var(--shadow-soft);
}

.table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-border);
}

.table th,
.table td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}

.table-striped tbody tr:nth-child(odd) {
  background-color: #faf7f2;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.pagination {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  justify-content: center;
}

.page-item {
  list-style: none;
}

.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.8rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
  text-decoration: none;
}

.page-item.active .page-link {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #fff;
}

.btn-success {
  background: linear-gradient(135deg, var(--color-success), #3c6253);
  color: #ffffff;
}

.btn-warning {
  background: linear-gradient(135deg, #b18d3f, #8f6a2b);
  color: #ffffff;
}

.btn-danger {
  background: linear-gradient(135deg, var(--color-danger), #994743);
  color: #ffffff;
}

.btn-info {
  background: linear-gradient(135deg, var(--color-info), #56728e);
  color: #ffffff;
}

.btn-outline-primary {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.btn-outline-secondary {
  border-color: var(--color-border-light);
  color: var(--color-text);
}

.btn-outline-success {
  border-color: var(--color-success);
  color: var(--color-success);
}

.btn-outline-danger {
  border-color: var(--color-danger);
  color: var(--color-danger);
}

.btn-outline-warning {
  border-color: var(--color-warning);
  color: var(--color-warning);
}

.btn-outline-info {
  border-color: var(--color-info);
  color: var(--color-info);
}

.btn-outline-secondary:hover {
  background-color: var(--color-border-light);
}

.bg-primary {
  background-color: var(--color-secondary);
}

.bg-success {
  background-color: var(--color-success);
}

.bg-danger {
  background-color: var(--color-danger);
}

.bg-warning {
  background-color: var(--color-warning);
}

.bg-info {
  background-color: var(--color-info);
}

.bg-secondary {
  background-color: var(--color-surface-alt);
}

.text-success {
  color: var(--color-success);
}

.text-danger {
  color: var(--color-danger);
}

.home-page {
  position: relative;
  background: radial-gradient(circle at 20% 10%, rgba(79, 122, 104, 0.15), transparent 50%), radial-gradient(circle at 82% 20%, rgba(194, 160, 77, 0.13), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
  min-height: 100vh;
  overflow: hidden;
}

.home-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 80%, rgba(63, 107, 91, 0.05), transparent 50%), radial-gradient(circle at 92% 65%, rgba(155, 123, 86, 0.08), transparent 50%);
  pointer-events: none;
}

.home-native-bar {
  position: relative;
  z-index: 10;
  padding-top: env(safe-area-inset-top);
}

.home-native-bar__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  padding: var(--space-3) var(--space-4);
}

.home-native-date {
  grid-column: 2;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 700;
  color: #3b2f22;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(63, 107, 91, 0.18);
  box-shadow: var(--shadow-soft);
}

.home-native-bar__right {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.home-xp-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.75rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #7a5a14;
  background: rgba(194, 160, 77, 0.18);
  border: 1.5px solid rgba(194, 160, 77, 0.55);
  letter-spacing: 0.01em;
}

.home-native-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  color: #fff;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  flex-shrink: 0;
}

.home-hero {
  position: relative;
  padding: var(--space-5) 0 var(--space-6);
}

.home-intro {
  margin-bottom: var(--space-5);
}

.home-date-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 700;
  color: #3b2f22;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(63, 107, 91, 0.18);
  box-shadow: var(--shadow-soft);
  margin-bottom: var(--space-3);
}

.home-hero-title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-display);
  font-size: clamp(3rem, 10vw, 4.2rem);
  font-weight: 700;
  line-height: 0.98;
  color: var(--color-text);
  letter-spacing: -0.025em;
}

.home-hero-accent {
  color: var(--color-primary);
  font-style: italic;
}

.home-hero-sub {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.5;
}
.home-hero-sub strong {
  color: #7a5a14;
  font-weight: 700;
}

.home-hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: var(--space-4);
  padding: 0.85rem 1.3rem;
  border-radius: var(--radius-md);
  background: var(--color-primary);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(63, 107, 91, 0.16);
  transition: opacity 0.15s ease, transform 0.12s ease;
}
.home-hero-cta:hover {
  color: #fff;
  opacity: 0.92;
  transform: translateY(-1px);
}
.home-hero-cta:active {
  transform: translateY(0);
}

.home-science {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  border: 1.5px solid rgba(63, 107, 91, 0.46);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.08)), rgba(63, 107, 91, 0.09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.44), 0 10px 28px rgba(63, 107, 91, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.home-science-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.home-science-kicker {
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-primary-strong);
}

.home-science-controls {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
}

.home-science-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(63, 107, 91, 0.34);
  background: rgba(255, 255, 255, 0.38);
  color: var(--color-text);
  cursor: pointer;
  transition: background 0.15s ease, opacity 0.15s ease, transform 0.12s ease;
}
.home-science-arrow:hover {
  background: rgba(255, 255, 255, 0.68);
  transform: translateY(-1px);
}
.home-science-arrow:disabled {
  opacity: 0.34;
  cursor: default;
  transform: none;
}

.home-science-track {
  display: flex;
  overflow-x: auto;
  align-items: stretch;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.home-science-track::-webkit-scrollbar {
  display: none;
}

.home-science-slide {
  flex: 0 0 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.home-science-content {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
  width: 100%;
  max-width: 590px;
  margin: 0 auto;
}

.home-science-stat {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 5vw, 3.6rem);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.01em;
  color: var(--color-text);
  white-space: nowrap;
}

.home-science-copy {
  display: grid;
  gap: var(--space-3);
}

.home-science-body {
  margin: 0;
  color: var(--color-text);
  font-size: 1.04rem;
  line-height: 1.55;
}

.home-science-source {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.72rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 700;
}
.home-science-source a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}
.home-science-source a:hover {
  color: var(--color-primary-strong);
}

.home-science-dots {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: var(--space-4);
}

.home-science-dot {
  width: 26px;
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: rgba(63, 107, 91, 0.24);
  cursor: pointer;
  padding: 0;
  transition: background 0.15s ease, width 0.15s ease;
}
.home-science-dot.is-active {
  width: 38px;
  background: var(--color-primary);
}

@media (max-width: 560px) {
  .home-native-bar .home-xp-badge {
    display: none;
  }
  .home-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .home-date-pill {
    justify-content: center;
  }
  .home-hero-title,
  .home-hero-sub {
    text-align: center;
  }
  .home-hero-cta {
    align-self: center;
  }
  .home-science-header {
    align-items: flex-start;
    justify-content: center;
    text-align: center;
  }
  .home-science-controls {
    display: none;
  }
  .home-science-content {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    text-align: center;
  }
  .home-science-stat {
    margin-top: 0;
  }
  .home-science-copy {
    justify-items: center;
  }
  .home-science-body,
  .home-science-source {
    text-align: center;
  }
  .home-science-dots {
    justify-content: center;
  }
}
.home-section-label {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-3);
}

.home-games {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.home-game-card {
  background: var(--color-surface);
  border-radius: 20px;
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 12px rgba(58, 46, 33, 0.07), 0 1px 3px rgba(58, 46, 33, 0.05);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.home-game-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(58, 46, 33, 0.12), 0 2px 6px rgba(58, 46, 33, 0.07);
}
.home-game-card.is-upcoming {
  opacity: 0.5;
  pointer-events: none;
}

.home-game-card__top {
  display: grid;
  grid-template-columns: 68px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-4) var(--space-3);
}

.home-game-icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 2.1rem;
  flex-shrink: 0;
  border: 1px solid transparent;
}

.home-game-card[data-game=wordle] .home-game-icon {
  background: rgba(63, 107, 91, 0.13);
  border-color: rgba(63, 107, 91, 0.25);
}

.home-game-card[data-game=spelling_bee] .home-game-icon {
  background: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.3);
}

.home-game-card[data-game=connections] .home-game-icon {
  background: rgba(111, 138, 165, 0.15);
  border-color: rgba(111, 138, 165, 0.28);
}

.home-game-card[data-game=sudoku] .home-game-icon {
  background: rgba(155, 123, 86, 0.14);
  border-color: rgba(155, 123, 86, 0.27);
}

.home-game-info {
  min-width: 0;
}

.home-game-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-text);
}

.home-game-desc {
  margin: 0.2rem 0 0;
  font-size: 0.87rem;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home-game-status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  flex-shrink: 0;
}

.home-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.26rem 0.65rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: rgba(79, 122, 104, 0.12);
  color: var(--color-success);
  border: 1px solid rgba(79, 122, 104, 0.28);
}
.home-status-badge.is-soon {
  background: rgba(155, 123, 86, 0.1);
  color: var(--color-secondary);
  border-color: rgba(155, 123, 86, 0.28);
}

.home-game-xp {
  font-size: 0.85rem;
  font-weight: 700;
  color: #7a5a14;
  letter-spacing: 0.01em;
}

.home-game-card.is-completed .home-game-title {
  color: var(--color-text-muted);
}

.home-game-stats {
  display: flex;
  align-items: stretch;
  border-top: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
  margin: 0;
}

.home-game-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: var(--space-3) var(--space-2);
  text-align: center;
}

.home-game-stat__val {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1;
}

.home-game-stat__lbl {
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  font-weight: 600;
}

.home-game-stat__sep {
  width: 1px;
  background: var(--color-border-light);
  flex-shrink: 0;
  align-self: stretch;
}

.home-game-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4) var(--space-4);
}

.home-game-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.12s ease;
  text-align: center;
}
.home-game-btn:active {
  transform: scale(0.985);
  opacity: 0.9;
}

.home-game-btn.is-primary {
  color: #fff;
  background: var(--color-primary);
}

.home-game-card[data-game=wordle] .home-game-btn.is-primary {
  background: #3a6453;
}

.home-game-card[data-game=spelling_bee] .home-game-btn.is-primary {
  background: #9b6e26;
}

.home-game-card[data-game=connections] .home-game-btn.is-primary {
  background: #476685;
}

.home-game-card[data-game=sudoku] .home-game-btn.is-primary {
  background: #8c6e4a;
}

.home-game-btn.is-ghost {
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  font-weight: 600;
  font-size: 0.93rem;
  border: 1px solid var(--color-border-light);
}

.home-game-btn.is-disabled {
  background: var(--color-border-light);
  color: var(--color-text-muted);
  cursor: not-allowed;
  font-size: 0.93rem;
}

@media (prefers-reduced-motion: no-preference) {
  .home-game-card {
    animation: home-card-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .home-game-card:nth-child(2) {
    animation-delay: 0.09s;
  }
  .home-game-card:nth-child(3) {
    animation-delay: 0.18s;
  }
  .home-game-card:nth-child(4) {
    animation-delay: 0.27s;
  }
  .home-hero-title {
    animation: home-card-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .home-hero-sub {
    animation: home-card-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.06s both;
  }
}
@keyframes home-card-rise {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.home-page .app-container, .home-page .container {
  max-width: 680px;
}

@media (min-width: 900px) {
  .home-game-card__top {
    padding: var(--space-5) var(--space-5) var(--space-3);
  }
  .home-game-icon {
    width: 72px;
    height: 72px;
    font-size: 2.3rem;
  }
  .home-game-title {
    font-size: 1.5rem;
  }
  .home-game-actions {
    padding: var(--space-3) var(--space-5) var(--space-5);
  }
}
.wordle-page {
  padding: var(--space-5) 0 var(--space-7);
}

.wordle-panel {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.game-message {
  min-height: 36px;
  margin-bottom: var(--space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
}

.wordle-board {
  display: grid;
  gap: var(--space-2);
  margin: 0 auto var(--space-4);
  max-width: 420px;
}

.wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-2);
}

.wordle-tile {
  width: 70px;
  height: 70px;
  border-radius: var(--radius-sm);
  border: 2px solid var(--color-border-light);
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
  background-color: var(--color-surface-alt);
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.wordle-tile.is-filled {
  border-color: var(--color-secondary);
}
.wordle-tile.filled-box {
  border-color: var(--color-secondary);
}
.wordle-tile.correct {
  background-color: var(--color-correct);
  color: var(--color-correct-text);
  border-color: var(--color-primary-strong);
}
.wordle-tile.present {
  background-color: var(--color-present);
  color: var(--color-present-text);
  border-color: #b28a44;
}
.wordle-tile.absent {
  background-color: var(--color-absent);
  color: var(--color-absent-text);
  border-color: var(--color-absent-border);
}
.wordle-tile.animating {
  transform: rotateX(90deg);
}
.wordle-tile.reveal {
  transform: rotateX(0);
}

@media (max-width: 520px) {
  .wordle-tile {
    width: 54px;
    height: 54px;
    font-size: 1.6rem;
  }
}
.wordle-keyboard {
  margin-top: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.keyboard-row {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.key-button {
  flex: 1;
  max-width: 52px;
  padding: 0.85rem 0.3rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background-color: var(--color-key);
  color: var(--color-text);
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  -webkit-tap-highlight-color: transparent;
}
.key-button:hover {
  transform: translateY(-1px);
  background-color: var(--color-key-hover);
}
.key-button.correct {
  background-color: var(--color-correct);
  color: var(--color-correct-text);
  border-color: var(--color-primary-strong);
}
.key-button.present {
  background-color: var(--color-present);
  color: var(--color-present-text);
  border-color: #b28a44;
}
.key-button.absent {
  background-color: var(--color-absent);
  color: var(--color-absent-text);
  border-color: var(--color-absent-border);
}

.key-button--wide {
  flex: 1.4;
  max-width: 84px;
}

.wordle-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.wordle-meta-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.xp-section {
  background: var(--color-surface-alt);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  margin-top: var(--space-5);
}

.xp-breakdown-grid {
  display: grid;
  gap: var(--space-3);
}

.xp-breakdown-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background-color: #f7f2ec;
  border: 1px solid var(--color-border-light);
}

.xp-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 500;
}

.xp-value {
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--color-secondary);
}

.xp-total {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-primary);
}

.xp-progress-display {
  margin-top: var(--space-3);
}

.xp-level-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin-top: var(--space-2);
}

.modal-xp .xp-breakdown-grid {
  max-height: 60vh;
  overflow-y: auto;
  padding-right: var(--space-2);
}

.game-modal .modal__dialog {
  width: min(720px, 92vw);
}
.game-modal .modal__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.game-modal__header {
  align-items: flex-start;
  gap: var(--space-4);
  background: linear-gradient(135deg, #f6efe6, #fdfaf6);
}

.game-modal__title {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.result-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-display);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  color: var(--color-primary-strong);
}

.result-subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  color: var(--color-text-muted);
}

.completed-results {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.target-word-display {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.2em;
  background-color: var(--color-surface-alt);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  text-align: center;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-3);
}

.summary-card {
  background-color: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  text-align: center;
}

.summary-label {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.summary-value {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--color-primary-strong);
}

.keyboard-hint {
  margin-top: var(--space-2);
  font-size: 0.85rem;
  color: var(--color-text-muted);
  text-align: center;
}

.challenges-page {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
}

.challenges-page[data-game=wordle] {
  background: radial-gradient(circle at 20% 10%, rgba(63, 107, 91, 0.16), transparent 50%), radial-gradient(circle at 80% 25%, rgba(194, 160, 77, 0.1), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page[data-game=spelling_bee] {
  background: radial-gradient(circle at 25% 12%, rgba(194, 160, 77, 0.18), transparent 50%), radial-gradient(circle at 78% 22%, rgba(155, 123, 86, 0.1), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page[data-game=connections] {
  background: radial-gradient(circle at 22% 10%, rgba(111, 138, 165, 0.16), transparent 50%), radial-gradient(circle at 82% 20%, rgba(63, 107, 91, 0.08), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page[data-game=sudoku] {
  background: radial-gradient(circle at 20% 12%, rgba(155, 123, 86, 0.16), transparent 50%), radial-gradient(circle at 80% 18%, rgba(194, 160, 77, 0.1), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page .app-container, .challenges-page .container {
  max-width: 680px;
}

.challenges-hero {
  position: relative;
  padding: var(--space-5) 0 var(--space-6);
}

.challenges-intro {
  text-align: center;
  margin-bottom: var(--space-5);
}

.challenges-icon-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: var(--space-3);
}

.challenges-icon {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  font-size: 2.3rem;
  border: 1px solid transparent;
}

.challenges-page[data-game=wordle] .challenges-icon {
  background: rgba(63, 107, 91, 0.13);
  border-color: rgba(63, 107, 91, 0.25);
}

.challenges-page[data-game=spelling_bee] .challenges-icon {
  background: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.3);
}

.challenges-page[data-game=connections] .challenges-icon {
  background: rgba(111, 138, 165, 0.15);
  border-color: rgba(111, 138, 165, 0.28);
}

.challenges-page[data-game=sudoku] .challenges-icon {
  background: rgba(155, 123, 86, 0.14);
  border-color: rgba(155, 123, 86, 0.27);
}

.challenges-title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 8vw, 3.2rem);
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
  letter-spacing: -0.02em;
}

.challenges-subtitle {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.challenges-section-label {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-3);
}

.challenges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-3);
}

.archive-card {
  background: var(--color-surface);
  border-radius: 16px;
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 12px rgba(58, 46, 33, 0.07), 0 1px 3px rgba(58, 46, 33, 0.05);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.archive-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(58, 46, 33, 0.12), 0 2px 6px rgba(58, 46, 33, 0.07);
}

.archive-card__top {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
}

.archive-date {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
}

.date-day {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
}

.date-month {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
}

.archive-info {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.archive-weekday {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-text);
}

.archive-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: rgba(155, 123, 86, 0.12);
  color: #6f5235;
  border: 1px solid rgba(155, 123, 86, 0.25);
}

.archive-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  flex-shrink: 0;
}
.archive-badge.is-won {
  background: rgba(79, 122, 104, 0.14);
  color: var(--color-success);
  border: 1px solid rgba(79, 122, 104, 0.3);
}
.archive-badge.is-lost {
  background: rgba(184, 91, 86, 0.12);
  color: var(--color-danger);
  border: 1px solid rgba(184, 91, 86, 0.25);
}
.archive-badge.is-pending {
  background: rgba(194, 160, 77, 0.12);
  color: #7a5a14;
  border: 1px solid rgba(194, 160, 77, 0.25);
  font-size: 0.85rem;
}
.archive-badge.is-locked {
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border-light);
  font-size: 0.85rem;
}

.archive-card__actions {
  padding: 0 var(--space-4) var(--space-3);
}

.archive-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.65rem 1rem;
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.12s ease;
  text-align: center;
}
.archive-btn:active {
  transform: scale(0.985);
  opacity: 0.9;
}

.archive-btn.is-primary {
  color: #fff;
  background: var(--color-primary);
}

.challenges-page[data-game=wordle] .archive-btn.is-primary {
  background: #3a6453;
}

.challenges-page[data-game=spelling_bee] .archive-btn.is-primary {
  background: #9b6e26;
}

.challenges-page[data-game=connections] .archive-btn.is-primary {
  background: #476685;
}

.challenges-page[data-game=sudoku] .archive-btn.is-primary {
  background: #8c6e4a;
}

.archive-btn.is-secondary {
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  font-weight: 600;
  border: 1px solid var(--color-border-light);
}

.challenges-pagination {
  margin-top: var(--space-5);
}

.pagination-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.pagination-pages {
  display: flex;
  align-items: center;
  gap: 2px;
}

.pagination-page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: background 0.15s ease;
}
.pagination-page:hover {
  background: rgba(0, 0, 0, 0.05);
}
.pagination-page.is-active {
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 1px 4px rgba(58, 46, 33, 0.12);
  border: 1px solid var(--color-border);
}

.pagination-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 36px;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.pagination-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.85rem;
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: background 0.15s ease;
}
.pagination-btn:hover {
  background: rgba(0, 0, 0, 0.05);
}

.challenges-footer {
  margin-top: var(--space-6);
  display: flex;
  justify-content: center;
}

.challenges-back-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.4rem;
  border-radius: var(--radius-md);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  text-decoration: none;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.challenges-back-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(58, 46, 33, 0.1);
}

@media (prefers-reduced-motion: no-preference) {
  .archive-card {
    animation: challenges-card-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .archive-card:nth-child(1) {
    animation-delay: 0s;
  }
  .archive-card:nth-child(2) {
    animation-delay: 0.04s;
  }
  .archive-card:nth-child(3) {
    animation-delay: 0.08s;
  }
  .archive-card:nth-child(4) {
    animation-delay: 0.12s;
  }
  .archive-card:nth-child(5) {
    animation-delay: 0.16s;
  }
  .archive-card:nth-child(6) {
    animation-delay: 0.2s;
  }
  .archive-card:nth-child(7) {
    animation-delay: 0.24s;
  }
  .archive-card:nth-child(8) {
    animation-delay: 0.28s;
  }
  .archive-card:nth-child(9) {
    animation-delay: 0.32s;
  }
  .archive-card:nth-child(10) {
    animation-delay: 0.36s;
  }
  .archive-card:nth-child(11) {
    animation-delay: 0.4s;
  }
  .archive-card:nth-child(12) {
    animation-delay: 0.44s;
  }
  .archive-card:nth-child(13) {
    animation-delay: 0.48s;
  }
  .archive-card:nth-child(14) {
    animation-delay: 0.52s;
  }
  .archive-card:nth-child(15) {
    animation-delay: 0.56s;
  }
  .archive-card:nth-child(16) {
    animation-delay: 0.6s;
  }
  .archive-card:nth-child(17) {
    animation-delay: 0.64s;
  }
  .archive-card:nth-child(18) {
    animation-delay: 0.68s;
  }
  .archive-card:nth-child(19) {
    animation-delay: 0.72s;
  }
  .archive-card:nth-child(20) {
    animation-delay: 0.76s;
  }
  .challenges-intro {
    animation: challenges-card-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
}
@keyframes challenges-card-rise {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 639px) {
  .challenges-grid {
    grid-template-columns: 1fr;
  }
}
.spelling-bee-page {
  padding: var(--space-5) 0 var(--space-7);
}

.spelling-bee-panel {
  max-width: 760px;
  margin: 0 auto;
  padding: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: var(--space-4);
}

.bee-score-strip {
  border: 1px solid var(--color-border-light);
  background: linear-gradient(180deg, #fffcf5 0%, #f8f1df 100%);
  border-radius: 14px;
  padding: var(--space-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.bee-score-left {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  font-size: 0.95rem;
  color: var(--color-text-muted);
}

.bee-score-left strong {
  font-size: 1.1rem;
  color: var(--color-text);
}

.bee-score-right {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.bee-rank-name {
  font-size: 0.82rem;
  font-weight: 700;
  color: #654810;
  background: rgba(242, 185, 59, 0.2);
  border: 1px solid rgba(242, 185, 59, 0.38);
  border-radius: 999px;
  padding: 0.2rem 0.5rem;
}

.bee-rank-progress-track {
  width: 62px;
  height: 6px;
  border-radius: 999px;
  background: rgba(42, 33, 20, 0.14);
  overflow: hidden;
}

.bee-rank-progress-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f2b93b 0%, #f7d070 100%);
  transition: width 220ms ease;
}

.bee-word-capsule {
  position: relative;
  background: #fff9ec;
  border: 1px solid #f0dfb8;
  border-radius: 18px;
  padding: 0.8rem 1rem;
  text-align: center;
  box-shadow: 0 6px 14px rgba(59, 44, 12, 0.08);
}

.bee-current-word {
  font-size: 2rem;
  letter-spacing: 0.16em;
  font-weight: 800;
  color: #33240f;
  min-height: 2.2rem;
}

.bee-feedback-line {
  margin-top: 0.2rem;
  min-height: 1.1rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--color-text-muted);
}

.bee-feedback-line.message-warning {
  color: var(--color-danger);
}

.bee-feedback-line.message-success {
  color: var(--color-success);
}

.bee-feedback-line.message-info {
  color: var(--color-text-muted);
}

.bee-score-float {
  position: absolute;
  top: 4px;
  right: 12px;
  opacity: 0;
  transform: translateY(0);
  color: var(--color-success);
  font-weight: 800;
  pointer-events: none;
}

.bee-score-float.is-visible {
  animation: bee-score-float-up 520ms ease-out forwards;
}

.bee-word-capsule.is-glow {
  animation: bee-capsule-glow 360ms ease-out;
}

.bee-word-capsule.is-shake {
  animation: bee-capsule-shake 360ms ease-in-out;
}

.bee-honeycomb {
  display: grid;
  gap: var(--space-2);
  justify-content: center;
  margin-top: var(--space-1);
  filter: drop-shadow(0 7px 12px rgba(62, 46, 15, 0.14));
}

.bee-row {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.bee-letter {
  width: 98px;
  height: 86px;
  border: none;
  background: #f6e39a;
  color: #362c14;
  font-size: 1.78rem;
  font-weight: 700;
  cursor: pointer;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bee-letter:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.bee-letter.is-center {
  background: #f2b93b;
}

.bee-controls {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.bee-icon-btn {
  min-width: 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bee-found-trigger {
  width: 100%;
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  background: #faf6ee;
  padding: 0.75rem 0.9rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  color: var(--color-text);
  cursor: pointer;
}

.bee-found-trigger-right {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-muted);
}

.bee-found-count {
  font-weight: 600;
  color: var(--color-text-muted);
}

.bee-found-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.bee-found-word {
  padding: 0.3rem 0.6rem;
  background: #fff5d6;
  border-radius: var(--radius-sm);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.85rem;
  border: 1px solid #f0dca2;
}

.bee-bottom-sheet {
  position: fixed;
  inset: 0;
  z-index: 55;
  pointer-events: none;
}

.bee-sheet-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(22, 16, 9, 0.36);
  opacity: 0;
  transition: opacity 180ms ease;
}

.bee-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(104%);
  transition: transform 220ms ease;
  background: var(--color-surface);
  border-radius: 18px 18px 0 0;
  border-top: 1px solid var(--color-border);
  padding: var(--space-4);
  max-height: 72vh;
  overflow: auto;
}

.bee-bottom-sheet.is-open {
  pointer-events: auto;
}

.bee-bottom-sheet.is-open .bee-sheet-backdrop {
  opacity: 1;
}

.bee-bottom-sheet.is-open .bee-sheet {
  transform: translateY(0);
}

.bee-sheet h3 {
  margin: 0 0 var(--space-3);
}

.bee-sheet-handle {
  width: 42px;
  height: 5px;
  border-radius: 999px;
  border: 0;
  background: var(--color-border);
  display: block;
  margin: 0 auto var(--space-3);
}

.bee-sheet-score-line {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  font-size: 1rem;
  color: var(--color-text-muted);
}

.bee-sheet-score-line strong {
  font-size: 1.4rem;
  color: var(--color-text);
}

.bee-sheet-rank-line {
  margin: var(--space-2) 0 var(--space-3);
  color: var(--color-text-muted);
}

.bee-points-breakdown {
  display: grid;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}

.bee-breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: 10px;
  padding: 0.5rem 0.7rem;
  color: var(--color-text-muted);
}

.bee-breakdown-row strong {
  color: var(--color-text);
}

.bee-rank-ladder {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-2);
}

.bee-rank-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  font-weight: 600;
}

.bee-sheet-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}

.bee-modal .modal__dialog {
  max-width: 460px;
}

.bee-summary {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.bee-summary-label {
  display: block;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.bee-summary-value {
  font-size: 1.4rem;
  font-weight: 700;
}

.bee-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.bee-stat-card {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
  background: var(--color-surface-alt);
  display: grid;
  gap: var(--space-2);
}

.bee-stat-number {
  font-size: 2rem;
  font-weight: 700;
}

.recent-games-list {
  display: grid;
  gap: var(--space-3);
}

.recent-game-card {
  padding: var(--space-3);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.recent-game-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.recent-game-date {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

.recent-game-label {
  margin: var(--space-1) 0 0;
  font-weight: 600;
}

.recent-game-mode {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mode-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(63, 107, 91, 0.12);
  color: #3b6c5a;
  border: 1px solid rgba(63, 107, 91, 0.25);
}

.mode-link {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-primary-strong);
  text-decoration: none;
}

.mode-link:hover {
  text-decoration: underline;
}

.recent-game-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-2);
}

.recent-game-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.recent-game-stat .stat-label {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.recent-game-stat .stat-value {
  font-weight: 600;
}

@media (max-width: 640px) {
  .spelling-bee-panel {
    padding: var(--space-4);
  }
  .bee-letter {
    width: 80px;
    height: 70px;
    font-size: 1.45rem;
  }
  .bee-controls {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .bee-current-word {
    font-size: 1.7rem;
  }
}
@keyframes bee-score-float-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  20% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translateY(-16px);
  }
}
@keyframes bee-capsule-glow {
  0% {
    box-shadow: 0 6px 14px rgba(59, 44, 12, 0.08);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(79, 122, 104, 0.16), 0 10px 24px rgba(79, 122, 104, 0.16);
  }
  100% {
    box-shadow: 0 6px 14px rgba(59, 44, 12, 0.08);
  }
}
@keyframes bee-capsule-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-6px);
  }
  40% {
    transform: translateX(6px);
  }
  60% {
    transform: translateX(-4px);
  }
  80% {
    transform: translateX(4px);
  }
}
.connections-page {
  padding: var(--space-3) 0 var(--space-6);
}
.connections-page.is-native {
  padding-top: calc(44px + env(safe-area-inset-top) + var(--space-2));
}

.connections-panel {
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  gap: var(--space-3);
}

.connections-toast-lane {
  min-height: 0;
  display: flex;
  align-items: center;
}

.connections-message {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.86rem;
  color: transparent;
  background: transparent;
  opacity: 0;
  transform: translateY(-6px);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.15s ease;
}

.connections-message.message-warning,
.connections-message.message-success,
.connections-message.message-error,
.connections-message.message-info {
  padding: 0.4rem 0.75rem;
  opacity: 1;
  transform: translateY(0);
}

.connections-message.message-warning {
  color: #8d4a10;
  background: #fff1d9;
  border: 1px solid #efd4aa;
}

.connections-message.message-success {
  color: #245d4a;
  background: #e9f6ef;
  border: 1px solid #bddfcf;
}

.connections-message.message-error {
  color: #872f2c;
  background: #fee9e8;
  border: 1px solid #efc0bd;
}

.connections-message.message-info {
  color: var(--color-text-muted);
  background: #f3f0ea;
  border: 1px solid var(--color-border-light);
}

.connections-solved-area {
  display: grid;
  gap: var(--space-2);
}
.connections-solved-area:empty {
  display: none;
}

.connections-attempts-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
}

.connections-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  transition: background-color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}
.connections-dot.is-filled {
  background: var(--color-warning);
  box-shadow: 0 0 6px rgba(194, 160, 77, 0.3);
}
.connections-dot.is-empty {
  background: var(--color-border-light);
  opacity: 0.6;
  transform: scale(0.85);
}

.connections-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.connections-tile {
  min-height: 56px;
  padding: 0.65rem 0.35rem;
  border-radius: 12px;
  border: 1.5px solid #e4d9cb;
  background: linear-gradient(180deg, #ffffff 0%, #f9f5ef 100%);
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8) inset, 0 2px 4px rgba(44, 31, 18, 0.06), 0 4px 8px rgba(44, 31, 18, 0.04);
  font-size: clamp(0.6rem, 1rem - var(--char-count, 6) * 0.026rem, 0.9rem);
  font-weight: 700;
  color: #2a231a;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.2;
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.connections-tile:hover {
  border-color: #d0c1ae;
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8) inset, 0 3px 8px rgba(44, 31, 18, 0.09), 0 5px 12px rgba(44, 31, 18, 0.05);
}

.connections-tile:active {
  transform: scale(0.97);
  border-color: #c5af92;
}

.connections-tile:focus-visible {
  outline: 2px solid rgba(194, 160, 77, 0.48);
  outline-offset: 1px;
}

.connections-tile.is-selected {
  background: linear-gradient(180deg, #f5e6c8 0%, #ebdabc 100%);
  border-color: #c4a460;
  box-shadow: 0 0 0 2.5px rgba(194, 160, 77, 0.25), 0 1px 0 0 rgba(255, 255, 255, 0.5) inset, 0 4px 12px rgba(44, 31, 18, 0.12);
  transform: scale(1.03);
  color: #3a2a14;
}

.connections-tile.is-entering {
  animation: connections-tile-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.connections-tile.is-shaking {
  animation: connections-shake 0.4s ease;
}

.connections-tile.is-pulsing {
  animation: connections-pulse 0.32s ease;
}

.connections-sticky-bar {
  position: sticky;
  bottom: calc(env(safe-area-inset-bottom) + 8px);
  z-index: 15;
  background: rgba(247, 243, 238, 0.92);
  border: 1px solid var(--color-border-light);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 -2px 16px rgba(42, 32, 20, 0.05), 0 8px 24px rgba(42, 32, 20, 0.1);
  padding: 0.55rem;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  gap: 0.55rem;
}

.connections-sticky-bar .btn, .connections-sticky-bar .btn-success, .connections-sticky-bar .btn-warning, .connections-sticky-bar .btn-danger, .connections-sticky-bar .btn-info, .connections-sticky-bar .btn-outline-primary,
.connections-sticky-bar .btn-outline-secondary,
.connections-sticky-bar .btn-outline-success,
.connections-sticky-bar .btn-outline-danger,
.connections-sticky-bar .btn-outline-warning,
.connections-sticky-bar .btn-outline-info {
  min-height: 44px;
}

.connections-sticky-bar .btn-primary:not([disabled]) {
  box-shadow: 0 2px 12px rgba(63, 107, 91, 0.3);
}

.connections-icon-btn {
  width: 44px;
  min-width: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.connections-clear-btn {
  min-height: 44px;
  min-width: 44px;
  font-size: 1rem;
  padding: 0;
}

.connections-clear-btn:focus-visible {
  outline: 2px solid rgba(63, 107, 91, 0.35);
  outline-offset: 2px;
  border-radius: 8px;
}

.connections-solved,
.connections-reveal-row {
  border-radius: 12px;
  padding: 0.85rem 1rem;
  border: 1px solid transparent;
  box-shadow: 0 4px 10px rgba(35, 24, 14, 0.06);
}

.connections-solved {
  animation: connections-solved-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.connections-solved-header,
.connections-reveal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: 0.45rem;
}

.connections-category {
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.connections-difficulty-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  padding: 0.2rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.connections-difficulty-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.connections-words {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.connections-word-chip {
  border-radius: 999px;
  padding: 0.2rem 0.45rem;
  font-size: 0.74rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.7);
  color: #3a3024;
}

.connections-reveal {
  display: none;
  gap: var(--space-2);
}

.connections-reveal.is-visible {
  display: grid;
}

.difficulty-yellow {
  background: linear-gradient(135deg, rgba(247, 223, 132, 0.45) 0%, rgba(240, 210, 100, 0.3) 100%);
  border-color: rgba(194, 160, 77, 0.45);
}

.connections-difficulty-yellow {
  color: #7e640f;
  background: rgba(247, 223, 132, 0.5);
}

.difficulty-green {
  background: linear-gradient(135deg, rgba(168, 205, 185, 0.45) 0%, rgba(140, 190, 165, 0.3) 100%);
  border-color: rgba(79, 122, 104, 0.4);
}

.connections-difficulty-green {
  color: #245a45;
  background: rgba(168, 205, 185, 0.5);
}

.difficulty-blue {
  background: linear-gradient(135deg, rgba(160, 186, 215, 0.45) 0%, rgba(140, 170, 205, 0.3) 100%);
  border-color: rgba(111, 138, 165, 0.4);
}

.connections-difficulty-blue {
  color: #244f79;
  background: rgba(160, 186, 215, 0.5);
}

.difficulty-purple {
  background: linear-gradient(135deg, rgba(196, 175, 214, 0.45) 0%, rgba(180, 155, 200, 0.3) 100%);
  border-color: rgba(130, 106, 162, 0.4);
}

.connections-difficulty-purple {
  color: #5b3f7e;
  background: rgba(196, 175, 214, 0.55);
}

@keyframes connections-tile-in {
  0% {
    opacity: 0;
    transform: scale(0.9) translateY(8px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes connections-solved-in {
  0% {
    opacity: 0;
    transform: translateY(-8px) scale(0.96);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes connections-shake {
  0%, 100% {
    transform: translateX(0) rotate(0);
  }
  15% {
    transform: translateX(-5px) rotate(-1deg);
  }
  30% {
    transform: translateX(4px) rotate(0.5deg);
  }
  45% {
    transform: translateX(-3px) rotate(-0.5deg);
  }
  60% {
    transform: translateX(2px) rotate(0.3deg);
  }
  75% {
    transform: translateX(-1px);
  }
}
@keyframes connections-pulse {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.08);
  }
  60% {
    transform: scale(0.97);
  }
  100% {
    transform: scale(1);
  }
}
@media (max-width: 768px) {
  .connections-page .app-container, .connections-page .container {
    padding: 0 16px;
  }
  .connections-grid {
    gap: 0.45rem;
  }
  .connections-tile {
    min-height: 50px;
    padding: 0.55rem 0.25rem;
  }
}
.sudoku-page .sudoku-play {
  min-height: calc(100svh - 130px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.5rem;
}
.sudoku-page .sudoku-message {
  min-height: 1.2rem;
  margin-bottom: 0.1rem;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 600;
  color: transparent;
}
.sudoku-page .sudoku-message.message-warning {
  color: #8d4a10;
}
.sudoku-page .sudoku-message.message-success {
  color: #245d4a;
}
.sudoku-page .sudoku-message.message-error {
  color: #9f2b29;
}
.sudoku-page .sudoku-message.message-info {
  color: var(--color-text-muted);
}
.sudoku-page .sudoku-board-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}
.sudoku-page .sudoku-board {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  width: min(100%, min(92vw, 62svh));
  max-width: 620px;
  aspect-ratio: 1;
  border: 1.5px solid #b7bfc9;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(32, 27, 20, 0.06);
}
.sudoku-page .sudoku-cell {
  position: relative;
  border: 1px solid #e5e9ef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: clamp(1rem, 3.8vw, 1.45rem);
  color: #35507a;
  background: #fff;
  transition: background-color 120ms ease, box-shadow 120ms ease;
}
.sudoku-page .sudoku-cell[data-col="2"],
.sudoku-page .sudoku-cell[data-col="5"] {
  border-right: 2px solid #c2cad5;
}
.sudoku-page .sudoku-cell[data-row="2"],
.sudoku-page .sudoku-cell[data-row="5"] {
  border-bottom: 2px solid #c2cad5;
}
.sudoku-page .sudoku-cell.is-given {
  background: #f7f9fc;
  color: #1f2937;
}
.sudoku-page .sudoku-given-value {
  font-weight: 800;
  color: #1f2937;
}
.sudoku-page .sudoku-cell.is-related {
  background: #f4f8ff;
}
.sudoku-page .sudoku-cell.is-related-box {
  background: #edf3fe;
}
.sudoku-page .sudoku-cell.is-same-number {
  background: #e8f0ff;
}
.sudoku-page .sudoku-cell.is-active {
  background: #deebff;
  box-shadow: inset 0 0 0 2px #4c78ba;
  z-index: 2;
}
.sudoku-page .sudoku-cell.is-given.is-conflict {
  background: #feeaec;
  color: #b63034;
}
.sudoku-page .sudoku-cell.is-conflict {
  background: #fff0f1;
  color: #b63034;
  box-shadow: inset 0 0 0 1px rgba(182, 48, 52, 0.32);
}
.sudoku-page .sudoku-cell.is-conflict-shake {
  animation: sudoku-cell-shake 260ms ease;
}
.sudoku-page .sudoku-cell input {
  width: 100%;
  height: 100%;
  border: 0;
  text-align: center;
  font-size: inherit;
  font-weight: 650;
  color: #35507a;
  background: transparent;
  outline: none;
  caret-color: transparent;
  position: relative;
  z-index: 2;
}
.sudoku-page .sudoku-cell.is-conflict input {
  color: #b63034;
}
.sudoku-page .sudoku-note-layer {
  position: absolute;
  inset: 2px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  pointer-events: none;
  z-index: 1;
}
.sudoku-page .sudoku-note {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.48rem, 1.7vw, 0.64rem);
  line-height: 1;
  color: #7b8796;
  font-weight: 600;
}
.sudoku-page .sudoku-bottom-controls {
  position: sticky;
  bottom: calc(env(safe-area-inset-bottom) + 4px);
  background: rgba(247, 243, 238, 0.94);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  padding: 0.55rem;
  box-shadow: 0 10px 24px rgba(32, 27, 20, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.sudoku-page .sudoku-tools-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  gap: 0.45rem;
  margin-bottom: 0.5rem;
}
.sudoku-page .sudoku-tool-btn {
  min-height: 44px;
  border: 1px solid #d6dde7;
  border-radius: 11px;
  background: #fff;
  color: #2d3d54;
  font-size: 0.82rem;
  font-weight: 650;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  transition: transform 90ms ease, border-color 120ms ease, background-color 120ms ease;
}
.sudoku-page .sudoku-tool-btn i {
  font-size: 0.95rem;
}
.sudoku-page .sudoku-tool-btn:hover {
  border-color: #4c78ba;
  background: #e8f0ff;
  color: #214673;
}
.sudoku-page .sudoku-tool-btn.is-active {
  border-color: #4c78ba;
  background: #e8f0ff;
  color: #214673;
}
.sudoku-page .sudoku-tool-btn:active {
  transform: scale(0.98);
  border-color: #9eaec2;
}
.sudoku-page .sudoku-check-btn {
  min-height: 44px;
  padding: 0 0.9rem;
  font-size: 0.84rem;
  white-space: nowrap;
}
.sudoku-page .sudoku-keyboard {
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.sudoku-page .sudoku-keyboard-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
}
.sudoku-page .sudoku-key-button {
  border: 1px solid #d9e0e9;
  border-radius: 11px;
  background: #ffffff;
  color: #22354d;
  font-weight: 700;
  font-size: 1.18rem;
  min-height: 46px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s ease, background-color 0.15s ease, border-color 0.15s ease;
}
.sudoku-page .sudoku-key-button:hover {
  background: #f8fbff;
}
.sudoku-page .sudoku-key-button:active {
  transform: scale(0.98);
  border-color: #9eaec2;
}
.sudoku-page .sudoku-key-button.is-complete {
  background: #e1e8f2;
  border-color: #b8c4d4;
  color: #1b2e45;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.sudoku-page .sudoku-key-button.is-placeholder {
  visibility: hidden;
  pointer-events: none;
}
.sudoku-page .sudoku-board.is-readonly .sudoku-cell {
  background: #f9fafb;
  color: #111827;
}
@media (max-width: 768px) {
  .sudoku-page .app-container, .sudoku-page .container {
    padding: 0 16px;
  }
  .sudoku-page .sudoku-play {
    min-height: calc(100svh - 120px);
    gap: 0.35rem;
  }
  .sudoku-page .sudoku-board {
    width: min(100%, min(92vw, 64svh));
  }
  .sudoku-page .sudoku-tools-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 0.35rem;
  }
  .sudoku-page .sudoku-tool-btn {
    font-size: 0.74rem;
  }
}
body.turbo-native-body .sudoku-page .sudoku-play {
  padding-top: 1.5rem;
}
@media (min-width: 900px) {
  .sudoku-page .sudoku-board {
    width: min(72vh, 620px);
  }
}
@keyframes sudoku-cell-shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-3px);
  }
  50% {
    transform: translateX(3px);
  }
  75% {
    transform: translateX(-2px);
  }
  100% {
    transform: translateX(0);
  }
}
.sudoku-page .share-card--sudoku .share-card__backdrop {
  background: linear-gradient(135deg, #0f766e, #0f172a);
}

.app-header {
  background-color: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-3) 0;
  position: sticky;
  top: 0;
  z-index: 200;
}

.app-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.app-nav__left,
.app-nav__right {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.app-nav__auth {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.app-brand {
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.nav-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.85rem;
  transition: background 0.15s ease;
}
.nav-back-btn:hover {
  background: var(--color-border-light);
  color: var(--color-text);
}

.nav-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--color-text-muted);
  padding: 0;
  transition: color 0.15s ease;
}
.nav-icon-btn:hover {
  color: var(--color-text);
}

.nav-links {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.nav-link {
  color: var(--color-text-muted);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  padding: 0.4rem 0.6rem;
  border-radius: var(--radius-sm);
  transition: color 0.2s ease, background-color 0.2s ease;
}
.nav-link.is-active, .nav-link:hover {
  color: var(--color-text);
  background-color: var(--color-surface-alt);
}

.help-link {
  border: none;
  background: none;
  cursor: pointer;
}

.help-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;
  background: var(--color-surface-alt);
}

.nav-avatar-wrapper {
  position: relative;
}

.nav-avatar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  border: none;
  color: #fff;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.nav-avatar-btn:hover {
  opacity: 0.88;
  transform: scale(1.06);
}
.nav-avatar-btn:active {
  transform: scale(1);
}

.nav-dropdown__menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 210px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-strong);
  z-index: 300;
  overflow: hidden;
}
.nav-dropdown__menu.is-open {
  display: block;
}

.nav-dropdown__header {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-surface-alt);
}

.nav-dropdown__name {
  display: block;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text);
  line-height: 1.3;
}

.nav-dropdown__handle {
  display: block;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  margin-top: 2px;
}

.nav-dropdown__items {
  padding: var(--space-2) 0;
}

.nav-dropdown__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.95rem;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease;
}
.nav-dropdown__item i {
  width: 16px;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.nav-dropdown__item:hover {
  background: var(--color-surface-alt);
  color: var(--color-text);
}
.nav-dropdown__item.is-danger {
  color: var(--color-danger);
}
.nav-dropdown__item.is-danger i {
  color: var(--color-danger);
}
.nav-dropdown__item.is-danger:hover {
  background: rgba(184, 91, 86, 0.08);
}

.nav-dropdown__divider {
  height: 1px;
  background: var(--color-border-light);
  margin: var(--space-2) 0;
}

.admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background-color: var(--color-surface);
}

.data-table thead {
  background-color: rgba(255, 255, 255, 0.04);
}

.data-table th,
.data-table td {
  text-align: left;
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.data-table th {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.data-table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.02);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-4);
}

.form-group {
  display: flex;
  flex-direction: column;
}

.pager {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.pager__link {
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.9rem;
}
.pager__link.is-active {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: white;
}

.auth-card {
  max-width: 440px;
  margin: var(--space-6) auto;
  padding: var(--space-5);
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.auth-title {
  margin-bottom: var(--space-4);
  text-align: center;
}

.flash-stack {
  position: fixed;
  top: var(--space-3);
  right: var(--space-3);
  max-width: 320px;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  z-index: 999;
}

.scheduled-task-page-header {
  margin-bottom: var(--space-5);
}

.scheduled-task-page-header p {
  margin-top: 0;
}

.scheduled-task-actions {
  flex-wrap: wrap;
}

.scheduled-task-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-4);
}

.scheduled-task-card {
  display: grid;
  gap: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

.scheduled-task-card__header,
.scheduled-task-card__footer,
.scheduled-task-history-header {
  flex-wrap: wrap;
}

.scheduled-task-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.scheduled-task-card__header p,
.scheduled-task-card__footer span,
.scheduled-task-history-header p {
  margin: 0;
}

.scheduled-task-card__name,
.scheduled-task-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.scheduled-task-card__name {
  margin: 0;
  color: var(--color-text-muted);
}

.scheduled-task-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
}

.scheduled-task-metrics div {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-surface-alt);
  padding: var(--space-3);
}

.scheduled-task-metrics dt {
  color: var(--color-text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: var(--space-1);
  text-transform: uppercase;
}

.scheduled-task-metrics dd {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
}

.scheduled-task-card__footer {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  color: var(--color-text-muted);
  font-size: 0.86rem;
}

.scheduled-task-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.65rem;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.scheduled-task-badge--success {
  background: rgba(79, 122, 104, 0.14);
  border-color: rgba(79, 122, 104, 0.35);
  color: #2f4c3e;
}

.scheduled-task-badge--failure,
.scheduled-task-badge--danger {
  background: rgba(184, 91, 86, 0.14);
  border-color: rgba(184, 91, 86, 0.35);
  color: #6e2f2b;
}

.scheduled-task-badge--running,
.scheduled-task-badge--info {
  background: rgba(111, 138, 165, 0.16);
  border-color: rgba(111, 138, 165, 0.35);
  color: #314254;
}

.scheduled-task-badge--warning {
  background: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.35);
  color: #5b4521;
}

.scheduled-task-badge--neutral {
  background: var(--color-border-light);
  border-color: var(--color-border);
  color: var(--color-text-muted);
}

.scheduled-task-table-wrap {
  overflow-x: auto;
}

.scheduled-task-history th,
.scheduled-task-history td {
  vertical-align: top;
}

.scheduled-task-error {
  max-width: 320px;
  overflow-wrap: anywhere;
}

.scheduled-task-metadata summary {
  color: var(--color-secondary);
  cursor: pointer;
  font-weight: 600;
}

.scheduled-task-metadata pre {
  max-width: 360px;
  max-height: 240px;
  overflow: auto;
  margin: var(--space-2) 0 0;
  padding: var(--space-3);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background: var(--color-surface-alt);
  color: var(--color-text);
  font-size: 0.78rem;
}

@media (max-width: 640px) {
  .scheduled-task-page-header,
  .scheduled-task-card__header {
    flex-direction: column;
  }
  .scheduled-task-summary-grid,
  .scheduled-task-metrics {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ad-gate-page {
  min-height: calc(100vh - 72px);
  display: flex;
  align-items: center;
  padding: var(--space-6) 0;
}

.ad-gate-panel {
  width: min(100%, 640px);
  margin: 0 auto;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

.ad-gate-kicker {
  color: var(--color-text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: var(--space-3);
}

.ad-gate-slot {
  min-height: 260px;
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, rgba(63, 107, 91, 0.08), rgba(155, 123, 86, 0.08)), var(--color-surface-alt);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-4);
  margin-bottom: var(--space-5);
}

.ad-gate-slot__label {
  align-self: flex-start;
  color: var(--color-text-muted);
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xs);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
}

.ad-gate-slot__body {
  text-align: center;
  color: var(--color-text-muted);
}

.ad-gate-slot__mark {
  display: inline-block;
  color: var(--color-primary);
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: var(--space-2);
}

.ad-gate-content {
  display: grid;
  gap: var(--space-4);
}

.ad-gate-game {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.ad-gate-game__icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-surface-alt);
  font-size: 1.4rem;
  flex: 0 0 auto;
}

.ad-gate-game h1 {
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  line-height: 1.1;
  margin: 0 0 var(--space-1);
}

.ad-gate-game p {
  margin: 0;
  color: var(--color-text-muted);
}

.ad-gate-timer {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  color: var(--color-text);
  font-weight: 700;
}

.ad-gate-timer span:first-child {
  font-family: var(--font-display);
  font-size: 2rem;
  color: var(--color-primary);
}

.ad-gate-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--color-border-light);
}

.ad-gate-progress__bar {
  width: 0;
  height: 100%;
  background: var(--color-primary);
  transition: width 0.25s ease;
}

.ad-gate-actions {
  display: flex;
  justify-content: flex-end;
}

.ad-gate-continue:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .ad-gate-page {
    align-items: stretch;
    padding: var(--space-3) 0;
  }
  .ad-gate-panel {
    padding: var(--space-4);
  }
  .ad-gate-slot {
    min-height: 220px;
  }
  .ad-gate-actions {
    display: block;
  }
  .ad-gate-continue {
    width: 100%;
  }
}
.help-modal .modal__dialog {
  width: min(680px, 95vw);
}
.help-modal .modal__title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0;
}

.help-lead {
  font-size: 1rem;
  margin-bottom: var(--space-3);
  color: var(--color-text);
}

.help-steps {
  margin: 0 0 var(--space-4);
  padding-left: 1.2rem;
  display: grid;
  gap: var(--space-2);
  color: var(--color-text);
}
.help-steps li {
  line-height: 1.5;
}

.help-example {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  display: grid;
  gap: var(--space-2);
}

.help-label {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.help-caption {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin: 0;
}

.help-wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(36px, 48px));
  gap: var(--space-6);
  justify-content: start;
}

.help-bee-demo {
  display: flex;
  justify-content: center;
}

.help-bee-demo .bee-honeycomb {
  gap: var(--space-2);
}

.help-bee-demo .bee-row {
  gap: var(--space-2);
}

.help-bee-demo .bee-letter {
  width: 54px;
  height: 48px;
  font-size: 1rem;
  cursor: default;
  pointer-events: none;
  box-shadow: none;
  transition: none;
}

.help-bee-word {
  font-weight: 700;
  letter-spacing: 0.08em;
}

.help-highlight {
  color: var(--color-secondary);
}

.help-connections-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.help-connections-row .connections-tile {
  pointer-events: none;
}

/* PWA-specific styles */
/* Hide browser UI elements when running as PWA */
@media (display-mode: standalone) {
  body {
    /* Ensure full screen experience */
    margin: 0;
    padding: 0;
    overflow-x: hidden;
  }
  /* Hide scrollbars on mobile */
  ::-webkit-scrollbar {
    display: none;
  }
  /* Prevent text selection on buttons */
  .btn, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-outline-primary,
  .btn-outline-secondary,
  .btn-outline-success,
  .btn-outline-danger,
  .btn-outline-warning,
  .btn-outline-info {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
}
/* Offline indicator styles */
body.offline {
  position: relative;
}

body.offline::before {
  content: "Sin conexión";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #ff6b6b;
  color: white;
  text-align: center;
  padding: 4px;
  font-size: 12px;
  z-index: 9999;
}

/* PWA mode specific styles */
body.pwa-mode {
  /* Add any PWA-specific styling */
}

/* Better touch targets for mobile */
@media (max-width: 768px) {
  .btn, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-outline-primary,
  .btn-outline-secondary,
  .btn-outline-success,
  .btn-outline-danger,
  .btn-outline-warning,
  .btn-outline-info {
    min-height: 44px;
    min-width: 44px;
  }
  input, select, textarea {
    font-size: 16px; /* Prevents zoom on iOS */
  }
}
/* Safe area insets for notched devices */
@supports (padding: max(0px)) {
  body {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
    padding-top: max(0px, env(safe-area-inset-top));
    padding-bottom: max(0px, env(safe-area-inset-bottom));
  }
}
.policy-page {
  padding: var(--space-6) 0 var(--space-7);
}

.policy-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.policy-header {
  padding: var(--space-5) var(--space-5) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  background: linear-gradient(180deg, #fbf7f1 0%, #fff 100%);
}

.policy-title {
  font-family: var(--font-display);
  font-size: 2.1rem;
  margin: 0 0 var(--space-2);
}

.policy-meta {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.policy-body {
  padding: var(--space-5);
}

.policy-content {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--color-text);
}
.policy-content p {
  margin: 0 0 var(--space-3);
}
.policy-content h2 {
  font-family: var(--font-display);
  font-size: 1.4rem;
  margin: var(--space-5) 0 var(--space-2);
}
.policy-content h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin: var(--space-4) 0 var(--space-2);
}
.policy-content ul {
  margin: 0 0 var(--space-3);
  padding-left: var(--space-5);
}
.policy-content li {
  margin-bottom: var(--space-2);
}
.policy-content strong {
  color: var(--color-text);
}

@media (max-width: 768px) {
  .policy-page {
    padding: var(--space-5) 0 var(--space-6);
  }
  .policy-header,
  .policy-body {
    padding: var(--space-4);
  }
  .policy-title {
    font-size: 1.75rem;
  }
}
.profile-page {
  min-height: 100vh;
  background: var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
}

.profile-hero {
  background: radial-gradient(circle at 20% 0%, rgba(79, 122, 104, 0.2), transparent 50%), radial-gradient(circle at 82% 10%, rgba(194, 160, 77, 0.18), transparent 42%), var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-5) 0 var(--space-5);
}

.profile-native-topbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: var(--space-2);
}

.native-settings-btn {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.7);
  color: var(--color-text-muted);
  display: grid;
  place-items: center;
  font-size: 0.92rem;
  text-decoration: none;
  box-shadow: 0 1px 4px rgba(58, 46, 33, 0.08);
  transition: color 0.15s ease, background 0.15s ease;
}
.native-settings-btn:hover {
  color: var(--color-text);
  background: var(--color-surface);
}

.profile-identity {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-1);
}

.profile-avatar {
  width: 88px;
  height: 88px;
  border-radius: 999px;
  background: linear-gradient(145deg, var(--color-secondary), var(--color-primary));
  color: #fff;
  font-family: var(--font-display);
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 20px rgba(63, 107, 91, 0.28);
  margin-bottom: var(--space-2);
}

.profile-name {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 5vw, 2.1rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-text);
}

.profile-handle {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  font-weight: 500;
}

.profile-row-card {
  display: flex;
  align-items: stretch;
  margin-top: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(58, 46, 33, 0.06);
}
.profile-row-card.profile-row-card--stats {
  margin-top: var(--space-2);
}

.profile-row-cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: var(--space-3) var(--space-4);
  text-decoration: none;
  color: inherit;
}
.profile-row-cell.is-link {
  transition: background 0.12s ease;
  cursor: pointer;
}
.profile-row-cell.is-link:hover {
  background: var(--color-surface-alt);
}

.profile-row-num {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
}
.profile-row-num.is-xp {
  color: #7a5a14;
}

.profile-row-lbl {
  font-size: 0.67rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.profile-row-sep {
  width: 1px;
  background: var(--color-border-light);
  align-self: stretch;
  flex-shrink: 0;
}

.profile-action {
  margin-top: var(--space-4);
}

.profile-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.8rem 1.5rem;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  background: var(--color-primary);
  color: #fff;
  transition: background 0.15s ease, transform 0.12s ease;
}
.profile-btn:hover {
  background: var(--color-primary-strong);
  transform: translateY(-1px);
}
.profile-btn:active {
  transform: translateY(0);
}

.profile-btn--following {
  background: rgba(184, 91, 86, 0.1);
  color: var(--color-danger);
}
.profile-btn--following:hover {
  background: rgba(184, 91, 86, 0.18);
  color: var(--color-danger);
}

.profile-section-label {
  margin: var(--space-5) 0 var(--space-3);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.profile-games {
  display: grid;
  gap: var(--space-3);
  padding-bottom: var(--space-4);
}

.profile-game-card {
  background: var(--color-surface);
  border-radius: 18px;
  border: 1px solid var(--color-border);
  padding: var(--space-4);
  box-shadow: 0 2px 8px rgba(58, 46, 33, 0.05);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.profile-game-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.profile-game-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  flex-shrink: 0;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.22);
}

.profile-game-card[data-game=wordle] .profile-game-icon {
  background: rgba(63, 107, 91, 0.14);
  border-color: rgba(63, 107, 91, 0.26);
}

.profile-game-card[data-game=spelling_bee] .profile-game-icon {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.32);
}

.profile-game-card[data-game=connections] .profile-game-icon {
  background: rgba(71, 102, 133, 0.16);
  border-color: rgba(71, 102, 133, 0.28);
}

.profile-game-card[data-game=sudoku] .profile-game-icon {
  background: rgba(140, 110, 74, 0.15);
  border-color: rgba(140, 110, 74, 0.27);
}

.profile-game-meta {
  min-width: 0;
}

.profile-game-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}

.profile-game-sub {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  line-height: 1.3;
}

.profile-game-stats {
  display: flex;
  align-items: center;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-light);
}

.profile-game-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.profile-game-stat__val {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
}

.profile-game-stat__unit {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  margin-left: 1px;
}

.profile-game-stat__lbl {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.profile-game-stat__sep {
  width: 1px;
  height: 38px;
  background: var(--color-border-light);
  flex-shrink: 0;
}

.profile-game-empty {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin: 0;
  padding: var(--space-2) 0 var(--space-1);
  text-align: center;
  font-style: italic;
}

.profile-seg-control {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: var(--space-4) 0 0;
}
.profile-seg-control .seg-control__option {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-base);
}

.history-feed {
  padding-bottom: var(--space-4);
}

.history-day-label {
  margin: var(--space-4) 0 var(--space-2);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}
.history-day-label:first-child {
  margin-top: var(--space-3);
}

.history-day-date {
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
  opacity: 0.7;
}

.history-day-group {
  background: var(--color-surface);
  border-radius: 18px;
  border: 1px solid var(--color-border);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(58, 46, 33, 0.05);
}

.history-row {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
}
.history-row:last-child {
  border-bottom: none;
}

.history-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 1.45rem;
  flex-shrink: 0;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.22);
}
.history-icon[data-game=wordle] {
  background: rgba(63, 107, 91, 0.14);
  border-color: rgba(63, 107, 91, 0.26);
}
.history-icon[data-game=spelling_bee] {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.32);
}
.history-icon[data-game=connections] {
  background: rgba(71, 102, 133, 0.16);
  border-color: rgba(71, 102, 133, 0.28);
}
.history-icon[data-game=sudoku] {
  background: rgba(140, 110, 74, 0.15);
  border-color: rgba(140, 110, 74, 0.27);
}

.history-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.history-game-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.history-stat-line {
  font-size: 0.8rem;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.history-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  flex-shrink: 0;
}

.history-xp {
  font-size: 0.92rem;
  font-weight: 700;
  color: #7a5a14;
  white-space: nowrap;
}

.history-result {
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
}
.history-result.is-won {
  color: var(--color-primary);
}
.history-result.is-perfect {
  color: var(--color-warning);
}
.history-result.is-lost {
  color: var(--color-text-muted);
}

.history-empty {
  text-align: center;
  padding: var(--space-7) var(--space-4);
}

.history-empty__icon {
  font-size: 3rem;
  margin-bottom: var(--space-3);
  line-height: 1;
}

.history-empty__title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 var(--space-2);
}

.history-empty__sub {
  font-size: 0.88rem;
  color: var(--color-text-muted);
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .profile-avatar {
    animation: profile-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .profile-row-card:nth-of-type(1) {
    animation: profile-rise 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) 0.05s both;
  }
  .profile-row-card:nth-of-type(2) {
    animation: profile-rise 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) 0.09s both;
  }
  .profile-action {
    animation: profile-rise 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) 0.13s both;
  }
  .profile-game-card:nth-child(1) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.16s both;
  }
  .profile-game-card:nth-child(2) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.23s both;
  }
  .profile-game-card:nth-child(3) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s both;
  }
  .profile-game-card:nth-child(4) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.37s both;
  }
}
@keyframes profile-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.profile-page .app-container, .profile-page .container {
  max-width: 680px;
}

@media (min-width: 560px) {
  .profile-btn {
    width: auto;
    min-width: 220px;
  }
  .profile-action {
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 640px) {
  .profile-seg-control {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
}
@media (min-width: 720px) {
  .profile-games {
    grid-template-columns: repeat(2, 1fr);
  }
  .profile-avatar {
    width: 100px;
    height: 100px;
    font-size: 1.85rem;
  }
}
.friends-page {
  position: relative;
  background: radial-gradient(circle at 15% 10%, rgba(63, 107, 91, 0.2), transparent 45%), radial-gradient(circle at 85% 15%, rgba(111, 138, 165, 0.18), transparent 35%), var(--color-bg);
  min-height: calc(100vh - 70px);
}

.friends-hero {
  padding: var(--space-6) 0 var(--space-7);
}

.friends-intro {
  text-align: center;
  margin-bottom: var(--space-5);
}

.friends-badge {
  display: inline-block;
  margin-bottom: var(--space-2);
  padding: 0.25rem 0.75rem;
  border: 1px solid rgba(63, 107, 91, 0.25);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.friends-title {
  margin: 0;
  font-size: 2rem;
}

.friends-subtitle {
  margin: var(--space-2) auto 0;
  max-width: 640px;
  color: var(--color-text-muted);
}

.friends-panel,
.friends-list-wrapper {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
}

.friends-list-wrapper {
  margin-top: var(--space-4);
}

.friends-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.friends-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.45rem 0.8rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  text-decoration: none;
  font-weight: 600;
  color: var(--color-text);
  background: #fff;
}

.friends-link-btn.is-primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.friends-form {
  margin-top: var(--space-3);
}

.friends-label {
  display: block;
  font-weight: 600;
}

.friends-form-row {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
@media (max-width: 640px) {
  .friends-form-row {
    flex-direction: column;
  }
}

.friends-input {
  flex: 1;
  min-height: 44px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 0.65rem 0.8rem;
  font-size: 1rem;
}

.friends-submit {
  min-height: 44px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--color-primary);
  color: #fff;
  font-weight: 700;
  padding: 0.65rem 1rem;
  cursor: pointer;
}

.friends-list {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

.friends-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-3);
  align-items: center;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  background: #fff;
}
@media (max-width: 720px) {
  .friends-card {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

.friends-card-profile {
  text-decoration: none;
  color: inherit;
}

.friends-name {
  margin: 0;
  font-weight: 700;
}

.friends-username {
  margin: 0.1rem 0 0;
  color: var(--color-text-muted);
}

.friends-email {
  margin: 0.2rem 0 0;
  font-size: 0.84rem;
  color: var(--color-text-muted);
}

.friends-stats {
  display: flex;
  gap: var(--space-3);
  color: var(--color-text-muted);
}
@media (max-width: 720px) {
  .friends-stats {
    gap: var(--space-2);
  }
}

.friends-remove {
  border: 0;
  border-radius: var(--radius-md);
  background: #f8ebe9;
  color: var(--color-danger);
  font-weight: 700;
  padding: 0.55rem 0.8rem;
  cursor: pointer;
}

.friends-empty {
  margin-top: var(--space-3);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  background: rgba(255, 255, 255, 0.8);
}

.friends-empty-title {
  margin: 0;
  font-weight: 700;
}

.friends-empty-copy {
  margin: var(--space-2) 0 0;
  color: var(--color-text-muted);
}

.standings-page {
  min-height: 100vh;
  background: var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
}

.standings-hero {
  background: radial-gradient(circle at 15% 0%, rgba(194, 160, 77, 0.18), transparent 55%), radial-gradient(circle at 85% 10%, rgba(63, 107, 91, 0.14), transparent 50%), var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-5) 0 var(--space-4);
}

.standings-hero__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.standings-title {
  margin: 0 0 var(--space-1);
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 2.6rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-text);
}

.standings-week-label {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--color-text-muted);
}

.standings-my-position {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  flex-shrink: 0;
}

.standings-my-position__rank {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
}

.standings-my-position__xp {
  font-size: 0.77rem;
  font-weight: 700;
  color: #7a5a14;
  background: rgba(194, 160, 77, 0.18);
  border: 1.5px solid rgba(194, 160, 77, 0.4);
  border-radius: 999px;
  padding: 0.18rem 0.6rem;
  white-space: nowrap;
}

.standings-my-position--empty .standings-my-position__rank {
  color: var(--color-text-muted);
  font-size: 1.4rem;
}

.standings-my-position--empty .standings-my-position__xp {
  color: var(--color-text-muted);
  background: var(--color-surface-alt);
  border-color: var(--color-border);
}

.standings-filters {
  background: rgba(247, 243, 238, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: var(--space-3) 0;
  position: sticky;
  top: 58px;
  z-index: 50;
}

.seg-control {
  display: flex;
  width: 100%;
  background: rgba(58, 46, 33, 0.09);
  border-radius: 999px;
  padding: 3px;
  gap: 2px;
  margin-bottom: var(--space-2);
}

.seg-control__option {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  padding: 0.48rem 1rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  color: var(--color-text-muted);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.seg-control__option.is-active {
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 1px 4px rgba(58, 46, 33, 0.14), 0 0 0 0.5px rgba(58, 46, 33, 0.06);
}

.seg-control__icon {
  font-size: 0.95em;
}

.filter-row {
  display: flex;
  gap: var(--space-2);
}
.filter-row.filter-row--scroll {
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 1px;
}
.filter-row.filter-row--scroll::-webkit-scrollbar {
  display: none;
}

.filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  padding: 0.42rem 1rem;
  border-radius: 999px;
  font-size: 0.87rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: 1.5px solid transparent;
  color: var(--color-text-muted);
  background: transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  flex-shrink: 0;
  cursor: pointer;
}
.filter-tab:hover {
  background: var(--color-surface-alt);
  color: var(--color-text);
}
.filter-tab.is-active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.filter-tab__icon {
  font-size: 0.95em;
}

.standings-podium {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-6) var(--space-4) 0;
  max-width: 420px;
  margin: 0 auto;
}

.podium-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  max-width: 130px;
  min-width: 90px;
}
.podium-slot.is-first {
  order: 2;
}
.podium-slot.is-second {
  order: 1;
}
.podium-slot.is-third {
  order: 3;
}

.podium-crown {
  font-size: 1.3rem;
  margin-bottom: 4px;
  animation: crown-float 2.4s ease-in-out infinite;
}

@keyframes crown-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
.podium-avatar {
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  margin-bottom: var(--space-2);
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  border: 2px solid transparent;
  transition: box-shadow 0.15s ease;
}
.podium-avatar.is-me {
  outline: 3px solid var(--color-primary);
  outline-offset: 3px;
}

.podium-slot.is-first .podium-avatar {
  width: 62px;
  height: 62px;
  font-size: 1.05rem;
}

.podium-slot.is-second .podium-avatar {
  width: 50px;
  height: 50px;
  font-size: 0.87rem;
}

.podium-slot.is-third .podium-avatar {
  width: 44px;
  height: 44px;
  font-size: 0.78rem;
}

.podium-slot.is-first .podium-avatar {
  background: linear-gradient(135deg, #f5d86b, #c2a04d);
  color: #3a2a14;
}

.podium-slot.is-second .podium-avatar {
  background: linear-gradient(135deg, #d4dde4, #9eaab6);
  color: #3a3f45;
}

.podium-slot.is-third .podium-avatar {
  background: linear-gradient(135deg, #e8c09b, #c97a3f);
  color: #3a2a14;
}

.podium-name {
  margin: 0 0 2px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-text);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.podium-xp {
  margin: 0 0 var(--space-2);
  font-size: 0.68rem;
  color: var(--color-text-muted);
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.podium-bar {
  width: 100%;
  border-radius: 8px 8px 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: var(--space-2);
}

.podium-slot.is-first .podium-bar {
  height: 90px;
  background: linear-gradient(180deg, rgba(194, 160, 77, 0.28), rgba(194, 160, 77, 0.08));
  border: 1px solid rgba(194, 160, 77, 0.38);
  border-bottom: none;
}

.podium-slot.is-second .podium-bar {
  height: 64px;
  background: linear-gradient(180deg, rgba(158, 170, 182, 0.22), rgba(158, 170, 182, 0.06));
  border: 1px solid rgba(158, 170, 182, 0.32);
  border-bottom: none;
}

.podium-slot.is-third .podium-bar {
  height: 46px;
  background: linear-gradient(180deg, rgba(201, 122, 63, 0.18), rgba(201, 122, 63, 0.04));
  border: 1px solid rgba(201, 122, 63, 0.28);
  border-bottom: none;
}

.podium-medal {
  font-size: 1.15rem;
}

.standings-list {
  margin-top: var(--space-4);
  background: var(--color-surface);
  border-radius: 20px;
  border: 1px solid var(--color-border);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(58, 46, 33, 0.06);
}

.standings-row {
  display: grid;
  grid-template-columns: 46px 40px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  transition: background 0.12s ease;
}
.standings-row:last-child {
  border-bottom: none;
}
.standings-row:hover {
  background: var(--color-surface-alt);
}
.standings-row.is-me {
  background: rgba(63, 107, 91, 0.05);
  border-left: 3px solid var(--color-primary);
  padding-left: calc(var(--space-4) - 3px);
}
.standings-row.is-me:hover {
  background: rgba(63, 107, 91, 0.08);
}

.standings-rank-col {
  display: flex;
  align-items: center;
  justify-content: center;
}

.standings-medal {
  font-size: 1.3rem;
  line-height: 1;
}

.standings-rank-num {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text-muted);
}

.standings-avatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  color: #fff;
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.standings-avatar.rank-1 {
  background: linear-gradient(135deg, #f5d86b, #c2a04d);
  color: #3a2a14;
}
.standings-avatar.rank-2 {
  background: linear-gradient(135deg, #d4dde4, #9eaab6);
  color: #3a3f45;
}
.standings-avatar.rank-3 {
  background: linear-gradient(135deg, #e8c09b, #c97a3f);
  color: #3a2a14;
}

.standings-info {
  min-width: 0;
}

.standings-player-name {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.standings-you-tag {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(63, 107, 91, 0.14);
  color: var(--color-primary);
  border: 1px solid rgba(63, 107, 91, 0.28);
  flex-shrink: 0;
}

.standings-player-handle {
  display: block;
  font-size: 0.76rem;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.standings-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex-shrink: 0;
}

.standings-xp-val {
  font-size: 0.9rem;
  font-weight: 700;
  color: #7a5a14;
  white-space: nowrap;
}

.standings-sessions-val {
  font-size: 0.72rem;
  color: var(--color-text-muted);
  font-weight: 500;
  white-space: nowrap;
}

.standings-empty {
  text-align: center;
  padding: var(--space-7) var(--space-4);
}

.standings-empty__icon {
  font-size: 3.5rem;
  margin-bottom: var(--space-3);
  line-height: 1;
}

.standings-empty__title {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 var(--space-2);
}

.standings-empty__sub {
  font-size: 0.93rem;
  color: var(--color-text-muted);
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .standings-podium .podium-slot {
    animation: standings-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .podium-slot.is-second {
    animation-delay: 0.06s;
  }
  .podium-slot.is-first {
    animation-delay: 0.13s;
  }
  .podium-slot.is-third {
    animation-delay: 0.19s;
  }
  .standings-row {
    animation: standings-rise 0.35s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .standings-row:nth-child(1) {
    animation-delay: 0.04s;
  }
  .standings-row:nth-child(2) {
    animation-delay: 0.08s;
  }
  .standings-row:nth-child(3) {
    animation-delay: 0.12s;
  }
  .standings-row:nth-child(4) {
    animation-delay: 0.16s;
  }
  .standings-row:nth-child(5) {
    animation-delay: 0.2s;
  }
  .standings-row:nth-child(6) {
    animation-delay: 0.24s;
  }
  .standings-row:nth-child(7) {
    animation-delay: 0.28s;
  }
  .standings-row:nth-child(8) {
    animation-delay: 0.32s;
  }
  .standings-row:nth-child(9) {
    animation-delay: 0.36s;
  }
  .standings-row:nth-child(10) {
    animation-delay: 0.4s;
  }
  .standings-row:nth-child(11) {
    animation-delay: 0.44s;
  }
  .standings-row:nth-child(12) {
    animation-delay: 0.48s;
  }
  .standings-row:nth-child(13) {
    animation-delay: 0.52s;
  }
  .standings-row:nth-child(14) {
    animation-delay: 0.56s;
  }
  .standings-row:nth-child(15) {
    animation-delay: 0.6s;
  }
  .standings-row:nth-child(16) {
    animation-delay: 0.64s;
  }
  .standings-row:nth-child(17) {
    animation-delay: 0.68s;
  }
  .standings-row:nth-child(18) {
    animation-delay: 0.72s;
  }
  .standings-row:nth-child(19) {
    animation-delay: 0.76s;
  }
  .standings-row:nth-child(20) {
    animation-delay: 0.8s;
  }
}
@keyframes standings-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 640px) {
  .seg-control {
    width: auto;
    min-width: 280px;
    max-width: 360px;
  }
  .standings-list {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
  .standings-podium {
    gap: var(--space-4);
  }
  .podium-slot.is-first .podium-avatar {
    width: 72px;
    height: 72px;
    font-size: 1.15rem;
  }
  .podium-slot.is-second .podium-avatar {
    width: 58px;
    height: 58px;
    font-size: 0.95rem;
  }
  .podium-slot.is-third .podium-avatar {
    width: 52px;
    height: 52px;
    font-size: 0.88rem;
  }
  .podium-slot.is-first .podium-bar {
    height: 100px;
  }
  .podium-slot.is-second .podium-bar {
    height: 74px;
  }
  .podium-slot.is-third .podium-bar {
    height: 54px;
  }
}
@media (min-width: 900px) {
  .standings-filters {
    top: 66px;
  }
  .standings-row {
    grid-template-columns: 52px 44px 1fr auto;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-5);
  }
  .standings-row.is-me {
    padding-left: calc(var(--space-5) - 3px);
  }
  .standings-avatar {
    width: 42px;
    height: 42px;
    font-size: 0.75rem;
  }
  .standings-player-name {
    font-size: 0.97rem;
  }
}

/*# sourceMappingURL=data:application/json;base64,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O0VBQ3JCO0VBQ0E7SUFDRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtFQUNwQjtFQUNBO0lBQ0UsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7RUFDcEI7RUFDQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0VBQ3BCO0VBQ0E7SUFDRSxhQUFhO0VBQ2Y7RUFDQTtJQUNFLFlBQVk7RUFDZDtFQUNBO0lBQ0UsWUFBWTtFQUNkO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsU0FBUztFQUNYO0VBQ0E7SUFDRSx5Q0FBeUM7SUFDekMsbUJBQW1CO0lBQ25CLHNDQUFzQztFQUN4QztFQUNBO0lBQ0Usd0NBQXdDO0VBQzFDO0VBQ0E7SUFDRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtFQUNwQjtFQUNBO0lBQ0Usa0JBQWtCO0VBQ3BCO0FBQ0YiLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuOnJvb3Qge1xuICAtLWNvbG9yLWJnOiAjZjdmM2VlO1xuICAtLWNvbG9yLXN1cmZhY2U6ICNmZmZmZmY7XG4gIC0tY29sb3Itc3VyZmFjZS1hbHQ6ICNmMmVjZTQ7XG4gIC0tY29sb3ItYm9yZGVyOiAjZTJkOWNmO1xuICAtLWNvbG9yLWJvcmRlci1saWdodDogI2VmZTdkZTtcbiAgLS1jb2xvci10ZXh0OiAjMmIyNDFkO1xuICAtLWNvbG9yLXRleHQtbXV0ZWQ6ICM3ZTczNjY7XG4gIC0tY29sb3ItcHJpbWFyeTogIzNmNmI1YjtcbiAgLS1jb2xvci1wcmltYXJ5LXN0cm9uZzogIzMyNTY0ODtcbiAgLS1jb2xvci1zZWNvbmRhcnk6ICM5YjdiNTY7XG4gIC0tY29sb3Itc3VjY2VzczogIzRmN2E2ODtcbiAgLS1jb2xvci1kYW5nZXI6ICNiODViNTY7XG4gIC0tY29sb3Itd2FybmluZzogI2MyYTA0ZDtcbiAgLS1jb2xvci1pbmZvOiAjNmY4YWE1O1xuICAtLWNvbG9yLW92ZXJsYXk6IHJnYmEoNDAsIDMyLCAyNCwgMC40KTtcbiAgLS1jb2xvci1jb3JyZWN0OiAjNGY3YTY4O1xuICAtLWNvbG9yLWNvcnJlY3QtdGV4dDogI2Y3ZjNlZTtcbiAgLS1jb2xvci1wcmVzZW50OiAjYzJhMDRkO1xuICAtLWNvbG9yLXByZXNlbnQtdGV4dDogIzNhMmExNDtcbiAgLS1jb2xvci1hYnNlbnQ6ICNkMWM4YmQ7XG4gIC0tY29sb3ItYWJzZW50LXRleHQ6ICM2OTVmNTU7XG4gIC0tY29sb3ItYWJzZW50LWJvcmRlcjogI2M0YmJhZjtcbiAgLS1jb2xvci1rZXk6ICNlOGUxZDg7XG4gIC0tY29sb3Ita2V5LWhvdmVyOiAjZGVkNmNjO1xuICAtLXNwYWNlLTE6IDAuMjVyZW07XG4gIC0tc3BhY2UtMjogMC41cmVtO1xuICAtLXNwYWNlLTM6IDAuNzVyZW07XG4gIC0tc3BhY2UtNDogMXJlbTtcbiAgLS1zcGFjZS01OiAxLjVyZW07XG4gIC0tc3BhY2UtNjogMnJlbTtcbiAgLS1zcGFjZS03OiAzcmVtO1xuICAtLXJhZGl1cy14czogNHB4O1xuICAtLXJhZGl1cy1zbTogNnB4O1xuICAtLXJhZGl1cy1tZDogMTBweDtcbiAgLS1yYWRpdXMtbGc6IDE2cHg7XG4gIC0tc2hhZG93LXNvZnQ6IDAgMTBweCAzMHB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wOCk7XG4gIC0tc2hhZG93LXN0cm9uZzogMCAxOHB4IDUwcHggcmdiYSg1OCwgNDYsIDMzLCAwLjE2KTtcbiAgLS1mb250LWJhc2U6IFwiU291cmNlIFNhbnMgM1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtZGlzcGxheTogXCJGcmF1bmNlc1wiLCBcIkdlb3JnaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIC0tZm9udC1zaXplLWJhc2U6IDE2cHg7XG4gIC0tZm9udC1zaXplLXNtOiAwLjlyZW07XG4gIC0tZm9udC1zaXplLWxnOiAxLjE1cmVtO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1iYXNlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmJvZHkudHVyYm8tbmF0aXZlLWJvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyg3MnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG4uaGVhZGluZy1sZyxcbi5oZWFkaW5nLW1kLFxuLmhlYWRpbmctc20ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuYm9keS5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmFwcC1jb250YWluZXIsIC5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTQpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hcHAtY29udGFpbmVyLCAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmFwcC1jb250YWluZXIsIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtMik7XG4gIH1cbn1cblxuLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5wYW5lbC1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5yZXN1bHQtcGFnZSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXN1bHQtcGFnZS0td29yZGxlIHtcbiAgLS1yZXN1bHQtYWNjZW50OiAjZjVkODc4O1xuICAtLXJlc3VsdC1jYXJkLWJnOiByZ2JhKDIzOCwgMjU1LCAyNDgsIDAuMTIpO1xuICAtLXJlc3VsdC1jYXJkLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTY1ZGVnLCAjM2Y2ZTVhIDAlLCAjMjM0NjNhIDU0JSwgIzEyMmIyNiAxMDAlKTtcbn1cblxuLnJlc3VsdC1wYWdlLS1iZWUge1xuICAtLXJlc3VsdC1hY2NlbnQ6ICNmZmQyN2E7XG4gIC0tcmVzdWx0LWNhcmQtYmc6IHJnYmEoMjU1LCAyNDAsIDIxOCwgMC4xMik7XG4gIC0tcmVzdWx0LWNhcmQtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTY1ZGVnLCAjYjk3ZjJiIDAlLCAjN2Y0NzE5IDU0JSwgIzUwMmEwYyAxMDAlKTtcbn1cblxuLnJlc3VsdC1wYWdlLS1jb25uZWN0aW9ucyB7XG4gIC0tcmVzdWx0LWFjY2VudDogIzliYjFmZjtcbiAgLS1yZXN1bHQtY2FyZC1iZzogcmdiYSgyMjcsIDIzMiwgMjU1LCAwLjEzKTtcbiAgLS1yZXN1bHQtY2FyZC1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2NWRlZywgIzRmNjFiMiAwJSwgIzNiMzU2ZiA1NCUsICMyMzFkNDkgMTAwJSk7XG59XG5cbi5yZXN1bHQtcGFnZS0tc3Vkb2t1IHtcbiAgLS1yZXN1bHQtYWNjZW50OiAjOGZlM2VhO1xuICAtLXJlc3VsdC1jYXJkLWJnOiByZ2JhKDIyMCwgMjUyLCAyNTUsIDAuMTIpO1xuICAtLXJlc3VsdC1jYXJkLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTY1ZGVnLCAjMWM3NjdiIDAlLCAjMTAzOTUyIDU0JSwgIzA2MWEyYyAxMDAlKTtcbn1cblxuLnJlc3VsdC1wYWdlOjpiZWZvcmUsXG4ucmVzdWx0LXBhZ2U6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5yZXN1bHQtcGFnZTo6YmVmb3JlIHtcbiAgd2lkdGg6IGNsYW1wKDI4MHB4LCA1OHZ3LCA0MjBweCk7XG4gIGhlaWdodDogY2xhbXAoMjgwcHgsIDU4dncsIDQyMHB4KTtcbiAgdG9wOiBjbGFtcCgtMTUwcHgsIC0xNnZ3LCAtNzBweCk7XG4gIGxlZnQ6IGNsYW1wKC0xOTBweCwgLTIydncsIC05MHB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjExKTtcbn1cblxuLnJlc3VsdC1wYWdlOjphZnRlciB7XG4gIHdpZHRoOiBjbGFtcCgyMDBweCwgNDB2dywgMzIwcHgpO1xuICBoZWlnaHQ6IGNsYW1wKDIwMHB4LCA0MHZ3LCAzMjBweCk7XG4gIHJpZ2h0OiBjbGFtcCgtOTBweCwgLTEydncsIC0zNnB4KTtcbiAgYm90dG9tOiBjbGFtcCgyNHB4LCA1dncsIDc0cHgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xufVxuXG4ucmVzdWx0LXNoZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIG1pbm1heCg3MnB4LCAxZnIpIGF1dG8gYXV0byBhdXRvO1xuICBnYXA6IGNsYW1wKDhweCwgMS41dmgsIDE2cHgpO1xuICBwYWRkaW5nOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSArIDEwcHgpIGNsYW1wKDE0cHgsIDR2dywgMjRweCkgY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCkgKyAxMnB4KTtcbn1cblxuLnJlc3VsdC10b3BiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXN1bHQtZGF0ZSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC44NnJlbSwgMy4ydncsIDFyZW0pO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg2KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuLnJlc3VsdC1jbG9zZSB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7XG59XG4ucmVzdWx0LWNsb3NlOmhvdmVyLCAucmVzdWx0LWNsb3NlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnJlc3VsdC1oZWFkZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWJhZGdlIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDAuMzJyZW0gMC43MnJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLnJlc3VsdC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgOC42dncsIDMuMzVyZW0pO1xuICBsaW5lLWhlaWdodDogMC45ODtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLnJlc3VsdC1zdWJ0aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY2KTtcbn1cblxuLnJlc3VsdC12aXN1YWwge1xuICBtaW4taGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJlc3VsdC13b3JkbGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogNXB4O1xufVxuXG4ucmVzdWx0LXdvcmRsZS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogNXB4O1xufVxuXG4ucmVzdWx0LXdvcmRsZS10aWxlIHtcbiAgd2lkdGg6IGNsYW1wKDI1cHgsIDYuMnZ3LCAzNHB4KTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG4ucmVzdWx0LXdvcmRsZS10aWxlLmlzLWNvcnJlY3Qge1xuICBiYWNrZ3JvdW5kOiAjNWE4Zjc0O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG59XG4ucmVzdWx0LXdvcmRsZS10aWxlLmlzLXByZXNlbnQge1xuICBiYWNrZ3JvdW5kOiAjYjk5MjNhO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG59XG4ucmVzdWx0LXdvcmRsZS10aWxlLmlzLWFic2VudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi5yZXN1bHQtd29yZGxlLXRpbGUuaXMtZW1wdHkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLnJlc3VsdC1iZWUtdmlzdWFsIHtcbiAgd2lkdGg6IG1pbigzMjBweCwgODZ2dyk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbn1cblxuLnJlc3VsdC1iZWUtaWNvbiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA4dncsIDMuMzVyZW0pO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnJlc3VsdC1iZWUtcmFuayB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDQuMXZ3LCAxLjM1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMDY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xufVxuXG4ucmVzdWx0LWJlZS1iYXItdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJlc3VsdC1iZWUtYmFyLWZpbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpO1xufVxuXG4ucmVzdWx0LWJlZS1wcm9ncmVzcy1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc2KTtcbn1cblxuLnJlc3VsdC1jb25uZWN0aW9ucy12aXN1YWwge1xuICB3aWR0aDogbWluKDM0MHB4LCA4OHZ3KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuXG4ucmVzdWx0LWNvbm5lY3Rpb25zLWNvdW50IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCA2dncsIDIuMTVyZW0pO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXN1bHQtY29ubmVjdGlvbnMtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjgpO1xufVxuXG4ucmVzdWx0LWNvbm4tZ3JvdXBzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJlc3VsdC1jb25uLWdyb3VwIHtcbiAgbWluLWhlaWdodDogNTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM2KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjY2cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnJlc3VsdC1jb25uLWdyb3VwLmlzLXVuc29sdmVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbn1cbi5yZXN1bHQtY29ubi1ncm91cC5jYXQtMSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAyMTQsIDEwMCwgMC4zMyk7XG59XG4ucmVzdWx0LWNvbm4tZ3JvdXAuY2F0LTIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCwgMTg1LCAxMjUsIDAuMzMpO1xufVxuLnJlc3VsdC1jb25uLWdyb3VwLmNhdC0zIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMTAsIDE1NSwgMjIwLCAwLjMzKTtcbn1cbi5yZXN1bHQtY29ubi1ncm91cC5jYXQtNCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk1LCAxMDAsIDExMCwgMC4zMyk7XG59XG5cbi5yZXN1bHQtc3Vkb2t1LWdyaWQge1xuICB3aWR0aDogbWluKDIyNHB4LCA1OHZ3KTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5LCAxZnIpO1xuICBnYXA6IDJweDtcbn1cblxuLnJlc3VsdC1zdWRva3UtY2VsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuLnJlc3VsdC1zdWRva3UtY2VsbC5pcy1naXZlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG59XG4ucmVzdWx0LXN1ZG9rdS1jZWxsLmlzLXNvbHZlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNyk7XG59XG4ucmVzdWx0LXN1ZG9rdS1jZWxsLmJveC1yaWdodCB7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi5yZXN1bHQtc3Vkb2t1LWNlbGwuYm94LWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5yZXN1bHQtc3RhdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogY2xhbXAoOHB4LCAxLjJ2aCwgMTJweCk7XG59XG5cbi5yZXN1bHQtc3RhdCB7XG4gIG1pbi1oZWlnaHQ6IGNsYW1wKDY4cHgsIDEwLjR2aCwgODhweCk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJlc3VsdC1jYXJkLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlc3VsdC1jYXJkLWJnKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiBjbGFtcCg4cHgsIDEuNXZoLCAxNHB4KSA4cHg7XG59XG5cbi5yZXN1bHQtc3RhdF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuNjNyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjgpO1xufVxuXG4ucmVzdWx0LXN0YXRfX3ZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS42NXJlbSwgNy4ydncsIDIuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAwLjk1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuLnJlc3VsdC1zdGF0X192YWx1ZS5pcy14cCB7XG4gIGNvbG9yOiB2YXIoLS1yZXN1bHQtYWNjZW50KTtcbn1cblxuLnJlc3VsdC1zdGF0X192YWx1ZS0tc21hbGwge1xuICBmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIDQuOHZ3LCAxLjc1cmVtKTtcbn1cblxuLnJlc3VsdC1hY3Rpb25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLnJlc3VsdC1zaGFyZS1idG4sXG4ucmVzdWx0LWRldGFpbC1idG4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE3KTtcbiAgcGFkZGluZzogY2xhbXAoMC43MnJlbSwgMi4ydmgsIDAuODhyZW0pIDFyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IGNsYW1wKDAuOTVyZW0sIDR2dywgMS4xMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcbn1cbi5yZXN1bHQtc2hhcmUtYnRuOmhvdmVyLCAucmVzdWx0LXNoYXJlLWJ0bjphY3RpdmUsXG4ucmVzdWx0LWRldGFpbC1idG46aG92ZXIsXG4ucmVzdWx0LWRldGFpbC1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cblxuLnJlc3VsdC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXN1bHQtZm9vdGVyLXVybCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45NXJlbSwgMy41dncsIDEuMDhyZW0pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cblxuLnJlc3VsdC14cC1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIGNvbG9yOiB2YXIoLS1yZXN1bHQtYWNjZW50KTtcbiAgcGFkZGluZzogMC4yOHJlbSAwLjdyZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC43MnJlbSwgM3Z3LCAwLjg2cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1lZGlhIChtYXgtaGVpZ2h0OiA3NjBweCkge1xuICAucmVzdWx0LXNoZWxsIHtcbiAgICBnYXA6IDhweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBtaW5tYXgoNTBweCwgMWZyKSBhdXRvIGF1dG8gYXV0bztcbiAgfVxuICAucmVzdWx0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuODJyZW0sIDguNHZ3LCAyLjcycmVtKTtcbiAgfVxuICAucmVzdWx0LXdvcmRsZS10aWxlIHtcbiAgICB3aWR0aDogY2xhbXAoMjFweCwgNS40dncsIDI5cHgpO1xuICB9XG4gIC5yZXN1bHQtc3RhdCB7XG4gICAgbWluLWhlaWdodDogNjRweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtaGVpZ2h0OiA2ODBweCkge1xuICAucmVzdWx0LXNoZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkgKyA2cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwKSArIDhweCk7XG4gIH1cbiAgLnJlc3VsdC1jbG9zZSB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICB9XG4gIC5yZXN1bHQtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlc3VsdC1iZWUtaWNvbiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG4gIC5yZXN1bHQtc3Vkb2t1LWdyaWQge1xuICAgIHdpZHRoOiBtaW4oMTc4cHgsIDUwdncpO1xuICB9XG4gIC5yZXN1bHQtc3RhdF9fdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4zMnJlbSwgNi4ydncsIDJyZW0pO1xuICB9XG59XG4ubGF5b3V0LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5sYXlvdXQtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmp1c3RpZnktY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5qdXN0aWZ5LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWxpZ24tc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmdhcC14cyB7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5nYXAtc20ge1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZ2FwLW1kIHtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmdhcC1sZyB7XG4gIGdhcDogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi50ZXh0LWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KSwgdmFyKC0tY29sb3ItcHJpbWFyeSkpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaGVhZGluZy1sZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5oZWFkaW5nLW1kIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uaGVhZGluZy1zbSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm10LXNtIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tdC1tZCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ubXQtbGcge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLm1iLXNtIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tYi1tZCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ubWItbGcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLnB4LW1kIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5weS1tZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGUtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnR1cmJvLW5hdGl2ZS1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogY2FsYyg0NHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApKTtcbiAgcGFkZGluZzogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApIHZhcigtLXNwYWNlLTQpIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxMTAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4udHVyYm8tbmF0aXZlLWJhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDM1LCAyOCwgMjIsIDAuMDgpO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbn1cbi50dXJiby1uYXRpdmUtYmFjazphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLnR1cmJvLW5hdGl2ZS1oZWxwIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMzUsIDI4LCAyMiwgMC4wOCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbn1cbi50dXJiby1uYXRpdmUtaGVscDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IDEwcHggMjhweCBjYWxjKDEycHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoNDgsIDM4LCAyOCwgMC4wOCk7XG4gIGJveC1zaGFkb3c6IDAgLThweCAxOHB4IHJnYmEoMzUsIDI4LCAyMiwgMC4wNSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgei1pbmRleDogMTEwMDtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXJfX2l0ZW0gaSB7XG4gIGZvbnQtc2l6ZTogMS4xNXJlbTtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXJfX2l0ZW0uaXMtYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4udHVyYm8tbmF0aXZlLXRhYmJhcl9faXRlbS5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5oaWRlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYnRuLCAuYnRuLW91dGxpbmUtcHJpbWFyeSxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4uYnRuLW91dGxpbmUtc3VjY2Vzcyxcbi5idG4tb3V0bGluZS1kYW5nZXIsXG4uYnRuLW91dGxpbmUtd2FybmluZyxcbi5idG4tb3V0bGluZS1pbmZvLCAuYnRuLWluZm8sIC5idG4tZGFuZ2VyLCAuYnRuLXdhcm5pbmcsIC5idG4tc3VjY2VzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogMC42NXJlbSAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5idG46aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3Zlcixcbi5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyLFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpob3Zlcixcbi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLFxuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5idG4taW5mbzpob3ZlciwgLmJ0bi1kYW5nZXI6aG92ZXIsIC5idG4td2FybmluZzpob3ZlciwgLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7XG59XG4uYnRuOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsXG4uYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmUsXG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZSxcbi5idG4tb3V0bGluZS13YXJuaW5nOmFjdGl2ZSxcbi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZSwgLmJ0bi1pbmZvOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYnRuLXN1Y2Nlc3M6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5KSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksICM3ZjYwNDEpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjN2Y2MDQxO1xufVxuXG4uYnRuLW91dGxpbmUsIC5idG4tb3V0bGluZS1wcmltYXJ5LFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSxcbi5idG4tb3V0bGluZS1zdWNjZXNzLFxuLmJ0bi1vdXRsaW5lLWRhbmdlcixcbi5idG4tb3V0bGluZS13YXJuaW5nLFxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuLmJ0bi1vdXRsaW5lOmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpob3Zlcixcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3Zlcixcbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsXG4uYnRuLW91dGxpbmUtd2FybmluZzpob3Zlcixcbi5idG4tb3V0bGluZS1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmJ0bi1nb29nbGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkY2UwO1xuICBjb2xvcjogIzFmMWYxZjtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoNjAsIDY0LCA2NywgMC4yKTtcbn1cbi5idG4tZ29vZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjYzZjNmM2O1xufVxuXG4uYnRuLWFwcGxlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnRuLWFwcGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgYm9yZGVyLWNvbG9yOiAjMWExYTFhO1xufVxuXG4uYXV0aC1zb2NpYWwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmF1dGgtcHJvdmlkZXItYnRuIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWluLWhlaWdodDogMi44cmVtO1xufVxuXG4uYXV0aC1wcm92aWRlci1pY29uIHtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hdXRoLXByb3ZpZGVyLWljb24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hdXRoLWRpdmlkZXIge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTQpIDAgdmFyKC0tc3BhY2UtMyk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4uYXV0aC1kaXZpZGVyOjpiZWZvcmUsXG4uYXV0aC1kaXZpZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYXV0aC1kaXZpZGVyLXRpZ2h0IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5idG4tbGluayB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIHBhZGRpbmc6IDA7XG59XG4uYnRuLWxpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5idG4tbGcge1xuICBwYWRkaW5nOiAwLjlyZW0gMnJlbTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5idG4tc20ge1xuICBwYWRkaW5nOiAwLjQ1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLmJ0bi1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hbGVydCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3OSwgMTIyLCAxMDQsIDAuMTQpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNzksIDEyMiwgMTA0LCAwLjM1KTtcbiAgY29sb3I6ICMyZjRjM2U7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4NCwgOTEsIDg2LCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE4NCwgOTEsIDg2LCAwLjM1KTtcbiAgY29sb3I6ICM2ZTJmMmI7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMTYpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjM1KTtcbiAgY29sb3I6ICM1YjQ1MjE7XG59XG5cbi5hbGVydC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjE2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDExMSwgMTM4LCAxNjUsIDAuMzUpO1xuICBjb2xvcjogIzMxNDI1NDtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG59XG5cbi5idG4tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMC45cmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAxLjFyZW07XG4gIGhlaWdodDogMS4xcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5idG4tY2xvc2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKclVwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5idG4tY2xvc2U6aG92ZXIsIC5idG4tY2xvc2U6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZm9ybS1maWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuXG4uaW5wdXQsIC5mb3JtLWNvbnRyb2wsXG4uc2VsZWN0LFxuLmZvcm0tc2VsZWN0LFxuLnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNjVyZW0gMC44NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xufVxuLmlucHV0OmZvY3VzLCAuZm9ybS1jb250cm9sOmZvY3VzLFxuLnNlbGVjdDpmb2N1cyxcbi5mb3JtLXNlbGVjdDpmb2N1cyxcbi50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjM1KTtcbn1cblxuLnRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogMTQwcHg7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5oZWxwZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICB6LWluZGV4OiAxMDAwO1xufVxuLm1vZGFsLmlzLW9wZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9kYWxfX2JhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itb3ZlcmxheSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xufVxuXG4ubW9kYWxfX2RpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zdHJvbmcpO1xuICB3aWR0aDogbWluKDY0MHB4LCA5NXZ3KTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm1vZGFsX19oZWFkZXIsXG4ubW9kYWxfX2Zvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWxfX2Zvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubW9kYWxfX2JvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsX19jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4ycmVtIDAuNnJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucHJvZ3Jlc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2dyZXNzX19iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlO1xufVxuXG4vKiBMZWdhY3kgbGF5b3V0ICsgdXRpbGl0eSBjb21wYXRpYmlsaXR5ICovXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG5bY2xhc3MqPWNvbC1dIHtcbiAgZmxleDogMSAwIDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1zbS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC1tZC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzJTtcbiAgfVxuICAuY29sLW1kLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzJTtcbiAgfVxuICAuY29sLWxnLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLmNvbC1sZy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uanVzdGlmeS1jb250ZW50LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFsaWduLWl0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5teC1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oLTEwMCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1lbmQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm10LTIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm10LTMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLm10LTQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm10LTUge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLm1iLTIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm1iLTMge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLm1iLTQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm1iLTUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLm1lLTEge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubWUtMiB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tZS0zIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm1zLTEge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5tcy0yIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucHktNCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucHgtMyB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZy0zIHtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmctNCB7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmNhcmQtYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xufVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLnRhYmxlIHRoLFxuLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWY3ZjI7XG59XG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wYWdlLWl0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpLCAjM2M2MjUzKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idG4td2FybmluZyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNiMThkM2YsICM4ZjZhMmIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ0bi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1kYW5nZXIpLCAjOTk0NzQzKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idG4taW5mbyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLWluZm8pLCAjNTY3MjhlKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uYnRuLW91dGxpbmUtaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5iZy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuLmJnLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLmJnLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5iZy13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5iZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7XG59XG5cbi5iZy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG59XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi50ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uaG9tZS1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAxMCUsIHJnYmEoNzksIDEyMiwgMTA0LCAwLjE1KSwgdHJhbnNwYXJlbnQgNTAlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4MiUgMjAlLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xMyksIHRyYW5zcGFyZW50IDQ1JSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSksIHRyYW5zcGFyZW50IDYwJSksIHZhcigtLWNvbG9yLWJnKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2UtNykgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhvbWUtcGFnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxMCUgODAlLCByZ2JhKDYzLCAxMDcsIDkxLCAwLjA1KSwgdHJhbnNwYXJlbnQgNTAlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MiUgNjUlLCByZ2JhKDE1NSwgMTIzLCA4NiwgMC4wOCksIHRyYW5zcGFyZW50IDUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaG9tZS1uYXRpdmUtYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbn1cblxuLmhvbWUtbmF0aXZlLWJhcl9faW5uZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG8gbWlubWF4KDAsIDFmcik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uaG9tZS1uYXRpdmUtZGF0ZSB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjNyZW0gMC44NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzNiMmYyMjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4xOCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLmhvbWUtbmF0aXZlLWJhcl9fcmlnaHQge1xuICBncmlkLWNvbHVtbjogMztcbiAganVzdGlmeS1zZWxmOiBlbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5ob21lLXhwLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMzJyZW0gMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM3YTVhMTQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE4KTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDE5NCwgMTYwLCA3NywgMC41NSk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG5cbi5ob21lLW5hdGl2ZS1hdmF0YXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzOHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ob21lLWhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtNik7XG59XG5cbi5ob21lLWludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5ob21lLWRhdGUtcGlsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjNyZW0gMC44NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzNiMmYyMjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4xOCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5ob21lLWhlcm8tdGl0bGUge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoM3JlbSwgMTB2dywgNC4ycmVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDAuOTg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xufVxuXG4uaG9tZS1oZXJvLWFjY2VudCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaG9tZS1oZXJvLXN1YiB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4uaG9tZS1oZXJvLXN1YiBzdHJvbmcge1xuICBjb2xvcjogIzdhNWExNDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmhvbWUtaGVyby1jdGEge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nOiAwLjg1cmVtIDEuM3JlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSg2MywgMTA3LCA5MSwgMC4xNik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTJzIGVhc2U7XG59XG4uaG9tZS1oZXJvLWN0YTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAwLjkyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uaG9tZS1oZXJvLWN0YTphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5ob21lLXNjaWVuY2Uge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS01KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlcjogMS41cHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC40Nik7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSksIHJnYmEoNjMsIDEwNywgOTEsIDAuMDkpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NCksIDAgMTBweCAyOHB4IHJnYmEoNjMsIDEwNywgOTEsIDAuMDgpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4uaG9tZS1zY2llbmNlLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5ob21lLXNjaWVuY2Uta2lja2VyIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNjhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjIyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG59XG5cbi5ob21lLXNjaWVuY2UtY29udHJvbHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ob21lLXNjaWVuY2UtYXJyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYzLCAxMDcsIDkxLCAwLjM0KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgb3BhY2l0eSAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xMnMgZWFzZTtcbn1cbi5ob21lLXNjaWVuY2UtYXJyb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uaG9tZS1zY2llbmNlLWFycm93OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5ob21lLXNjaWVuY2UtdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xufVxuLmhvbWUtc2NpZW5jZS10cmFjazo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaG9tZS1zY2llbmNlLXNsaWRlIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xufVxuXG4uaG9tZS1zY2llbmNlLWNvbnRlbnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIyMHB4IG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlLTUpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1OTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5ob21lLXNjaWVuY2Utc3RhdCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi44cmVtLCA1dncsIDMuNnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjk2O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaG9tZS1zY2llbmNlLWNvcHkge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uaG9tZS1zY2llbmNlLWJvZHkge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1zaXplOiAxLjA0cmVtO1xuICBsaW5lLWhlaWdodDogMS41NTtcbn1cblxuLmhvbWUtc2NpZW5jZS1zb3VyY2Uge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmhvbWUtc2NpZW5jZS1zb3VyY2UgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMThlbTtcbn1cbi5ob21lLXNjaWVuY2Utc291cmNlIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuXG4uaG9tZS1zY2llbmNlLWRvdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDdweDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5ob21lLXNjaWVuY2UtZG90IHtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjI0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIHdpZHRoIDAuMTVzIGVhc2U7XG59XG4uaG9tZS1zY2llbmNlLWRvdC5pcy1hY3RpdmUge1xuICB3aWR0aDogMzhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAuaG9tZS1uYXRpdmUtYmFyIC5ob21lLXhwLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5ob21lLWludHJvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmhvbWUtZGF0ZS1waWxsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuaG9tZS1oZXJvLXRpdGxlLFxuICAuaG9tZS1oZXJvLXN1YiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5ob21lLWhlcm8tY3RhIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLmhvbWUtc2NpZW5jZS1oZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuaG9tZS1zY2llbmNlLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5ob21lLXNjaWVuY2UtY29udGVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmhvbWUtc2NpZW5jZS1zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5ob21lLXNjaWVuY2UtY29weSB7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICB9XG4gIC5ob21lLXNjaWVuY2UtYm9keSxcbiAgLmhvbWUtc2NpZW5jZS1zb3VyY2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuaG9tZS1zY2llbmNlLWRvdHMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4uaG9tZS1zZWN0aW9uLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjIyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5ob21lLWdhbWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSg1OCwgNDYsIDMzLCAwLjA3KSwgMCAxcHggM3B4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBlYXNlLCBib3gtc2hhZG93IDAuMThzIGVhc2U7XG59XG4uaG9tZS1nYW1lLWNhcmQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI4cHggcmdiYSg1OCwgNDYsIDMzLCAwLjEyKSwgMCAycHggNnB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNyk7XG59XG4uaG9tZS1nYW1lLWNhcmQuaXMtdXBjb21pbmcge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaG9tZS1nYW1lLWNhcmRfX3RvcCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjhweCAxZnIgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCkgdmFyKC0tc3BhY2UtNCkgdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5ob21lLWdhbWUtaWNvbiB7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5ob21lLWdhbWUtY2FyZFtkYXRhLWdhbWU9d29yZGxlXSAuaG9tZS1nYW1lLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjEzKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjI1KTtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkW2RhdGEtZ2FtZT1zcGVsbGluZ19iZWVdIC5ob21lLWdhbWUtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4zKTtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkW2RhdGEtZ2FtZT1jb25uZWN0aW9uc10gLmhvbWUtZ2FtZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDExMSwgMTM4LCAxNjUsIDAuMjgpO1xufVxuXG4uaG9tZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXN1ZG9rdV0gLmhvbWUtZ2FtZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNTUsIDEyMywgODYsIDAuMTQpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjI3KTtcbn1cblxuLmhvbWUtZ2FtZS1pbmZvIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uaG9tZS1nYW1lLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5ob21lLWdhbWUtZGVzYyB7XG4gIG1hcmdpbjogMC4ycmVtIDAgMDtcbiAgZm9udC1zaXplOiAwLjg3cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uaG9tZS1nYW1lLXN0YXR1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiA1cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uaG9tZS1zdGF0dXMtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4yNnJlbSAwLjY1cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc5LCAxMjIsIDEwNCwgMC4xMik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwgMTIyLCAxMDQsIDAuMjgpO1xufVxuLmhvbWUtc3RhdHVzLWJhZGdlLmlzLXNvb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE1NSwgMTIzLCA4NiwgMC4xKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNTUsIDEyMywgODYsIDAuMjgpO1xufVxuXG4uaG9tZS1nYW1lLXhwIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzdhNWExNDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkLmlzLWNvbXBsZXRlZCAuaG9tZS1nYW1lLXRpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uaG9tZS1nYW1lLXN0YXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uaG9tZS1nYW1lLXN0YXQge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ob21lLWdhbWUtc3RhdF9fdmFsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmhvbWUtZ2FtZS1zdGF0X19sYmwge1xuICBmb250LXNpemU6IDAuNjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmhvbWUtZ2FtZS1zdGF0X19zZXAge1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLmhvbWUtZ2FtZS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCkgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5ob21lLWdhbWUtYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjlyZW0gMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjEycyBlYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaG9tZS1nYW1lLWJ0bjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTg1KTtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4uaG9tZS1nYW1lLWJ0bi5pcy1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uaG9tZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXdvcmRsZV0gLmhvbWUtZ2FtZS1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMzYTY0NTM7XG59XG5cbi5ob21lLWdhbWUtY2FyZFtkYXRhLWdhbWU9c3BlbGxpbmdfYmVlXSAuaG9tZS1nYW1lLWJ0bi5pcy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzliNmUyNjtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkW2RhdGEtZ2FtZT1jb25uZWN0aW9uc10gLmhvbWUtZ2FtZS1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM0NzY2ODU7XG59XG5cbi5ob21lLWdhbWUtY2FyZFtkYXRhLWdhbWU9c3Vkb2t1XSAuaG9tZS1nYW1lLWJ0bi5pcy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzhjNmU0YTtcbn1cblxuLmhvbWUtZ2FtZS1idG4uaXMtZ2hvc3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjkzcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uaG9tZS1nYW1lLWJ0bi5pcy1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgZm9udC1zaXplOiAwLjkzcmVtO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgLmhvbWUtZ2FtZS1jYXJkIHtcbiAgICBhbmltYXRpb246IGhvbWUtY2FyZC1yaXNlIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIGJvdGg7XG4gIH1cbiAgLmhvbWUtZ2FtZS1jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjA5cztcbiAgfVxuICAuaG9tZS1nYW1lLWNhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMThzO1xuICB9XG4gIC5ob21lLWdhbWUtY2FyZDpudGgtY2hpbGQoNCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4yN3M7XG4gIH1cbiAgLmhvbWUtaGVyby10aXRsZSB7XG4gICAgYW5pbWF0aW9uOiBob21lLWNhcmQtcmlzZSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgYm90aDtcbiAgfVxuICAuaG9tZS1oZXJvLXN1YiB7XG4gICAgYW5pbWF0aW9uOiBob21lLWNhcmQtcmlzZSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgMC4wNnMgYm90aDtcbiAgfVxufVxuQGtleWZyYW1lcyBob21lLWNhcmQtcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuLmhvbWUtcGFnZSAuYXBwLWNvbnRhaW5lciwgLmhvbWUtcGFnZSAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA2ODBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5ob21lLWdhbWUtY2FyZF9fdG9wIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS0zKTtcbiAgfVxuICAuaG9tZS1nYW1lLWljb24ge1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBmb250LXNpemU6IDIuM3JlbTtcbiAgfVxuICAuaG9tZS1nYW1lLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxuICAuaG9tZS1nYW1lLWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTUpIHZhcigtLXNwYWNlLTUpO1xuICB9XG59XG4ud29yZGxlLXBhZ2Uge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KSAwIHZhcigtLXNwYWNlLTcpO1xufVxuXG4ud29yZGxlLXBhbmVsIHtcbiAgbWF4LXdpZHRoOiA3MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xufVxuXG4uZ2FtZS1tZXNzYWdlIHtcbiAgbWluLWhlaWdodDogMzZweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ud29yZGxlLWJvYXJkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc3BhY2UtNCk7XG4gIG1heC13aWR0aDogNDIwcHg7XG59XG5cbi53b3JkbGUtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ud29yZGxlLXRpbGUge1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuLndvcmRsZS10aWxlLmlzLWZpbGxlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cbi53b3JkbGUtdGlsZS5maWxsZWQtYm94IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuLndvcmRsZS10aWxlLmNvcnJlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jb3JyZWN0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvcnJlY3QtdGV4dCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuLndvcmRsZS10aWxlLnByZXNlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmVzZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByZXNlbnQtdGV4dCk7XG4gIGJvcmRlci1jb2xvcjogI2IyOGE0NDtcbn1cbi53b3JkbGUtdGlsZS5hYnNlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hYnNlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWJzZW50LXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFic2VudC1ib3JkZXIpO1xufVxuLndvcmRsZS10aWxlLmFuaW1hdGluZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG59XG4ud29yZGxlLXRpbGUucmV2ZWFsIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDApO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLndvcmRsZS10aWxlIHtcbiAgICB3aWR0aDogNTRweDtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbn1cbi53b3JkbGUta2V5Ym9hcmQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS01KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmtleWJvYXJkLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ua2V5LWJ1dHRvbiB7XG4gIGZsZXg6IDE7XG4gIG1heC13aWR0aDogNTJweDtcbiAgcGFkZGluZzogMC44NXJlbSAwLjNyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWtleSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5rZXktYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1rZXktaG92ZXIpO1xufVxuLmtleS1idXR0b24uY29ycmVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNvcnJlY3QpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItY29ycmVjdC10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG59XG4ua2V5LWJ1dHRvbi5wcmVzZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJlc2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmVzZW50LXRleHQpO1xuICBib3JkZXItY29sb3I6ICNiMjhhNDQ7XG59XG4ua2V5LWJ1dHRvbi5hYnNlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hYnNlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWJzZW50LXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFic2VudC1ib3JkZXIpO1xufVxuXG4ua2V5LWJ1dHRvbi0td2lkZSB7XG4gIGZsZXg6IDEuNDtcbiAgbWF4LXdpZHRoOiA4NHB4O1xufVxuXG4ud29yZGxlLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi53b3JkbGUtbWV0YS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnhwLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS01KTtcbn1cblxuLnhwLWJyZWFrZG93bi1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnhwLWJyZWFrZG93bi1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmMmVjO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ueHAtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ueHAtdmFsdWUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi54cC10b3RhbCB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi54cC1wcm9ncmVzcy1kaXNwbGF5IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi54cC1sZXZlbC1tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm1vZGFsLXhwIC54cC1icmVha2Rvd24tZ3JpZCB7XG4gIG1heC1oZWlnaHQ6IDYwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uZ2FtZS1tb2RhbCAubW9kYWxfX2RpYWxvZyB7XG4gIHdpZHRoOiBtaW4oNzIwcHgsIDkydncpO1xufVxuLmdhbWUtbW9kYWwgLm1vZGFsX19ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmdhbWUtbW9kYWxfX2hlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjZlZmU2LCAjZmRmYWY2KTtcbn1cblxuLmdhbWUtbW9kYWxfX3RpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJlc3VsdC1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG59XG5cbi5yZXN1bHQtc3VidGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uY29tcGxldGVkLXJlc3VsdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnRhcmdldC13b3JkLWRpc3BsYXkge1xuICBmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgNHZ3LCAycmVtKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdW1tYXJ5LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE0MHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnN1bW1hcnktY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN1bW1hcnktbGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnN1bW1hcnktdmFsdWUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjM1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuXG4ua2V5Ym9hcmQtaGludCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2UtNykgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT13b3JkbGVdIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMCUgMTAlLCByZ2JhKDYzLCAxMDcsIDkxLCAwLjE2KSwgdHJhbnNwYXJlbnQgNTAlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4MCUgMjUlLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xKSwgdHJhbnNwYXJlbnQgNDUlKSwgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KSwgdHJhbnNwYXJlbnQgNjAlKSwgdmFyKC0tY29sb3ItYmcpO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT1zcGVsbGluZ19iZWVdIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyNSUgMTIlLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCksIHRyYW5zcGFyZW50IDUwJSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNzglIDIyJSwgcmdiYSgxNTUsIDEyMywgODYsIDAuMSksIHRyYW5zcGFyZW50IDQ1JSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSksIHRyYW5zcGFyZW50IDYwJSksIHZhcigtLWNvbG9yLWJnKTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9Y29ubmVjdGlvbnNdIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMiUgMTAlLCByZ2JhKDExMSwgMTM4LCAxNjUsIDAuMTYpLCB0cmFuc3BhcmVudCA1MCUpLCByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDgyJSAyMCUsIHJnYmEoNjMsIDEwNywgOTEsIDAuMDgpLCB0cmFuc3BhcmVudCA0NSUpLCBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpLCB0cmFuc3BhcmVudCA2MCUpLCB2YXIoLS1jb2xvci1iZyk7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPXN1ZG9rdV0ge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAxMiUsIHJnYmEoMTU1LCAxMjMsIDg2LCAwLjE2KSwgdHJhbnNwYXJlbnQgNTAlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4MCUgMTglLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xKSwgdHJhbnNwYXJlbnQgNDUlKSwgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KSwgdHJhbnNwYXJlbnQgNjAlKSwgdmFyKC0tY29sb3ItYmcpO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlIC5hcHAtY29udGFpbmVyLCAuY2hhbGxlbmdlcy1wYWdlIC5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDY4MHB4O1xufVxuXG4uY2hhbGxlbmdlcy1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KSAwIHZhcigtLXNwYWNlLTYpO1xufVxuXG4uY2hhbGxlbmdlcy1pbnRybyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5jaGFsbGVuZ2VzLWljb24td3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmNoYWxsZW5nZXMtaWNvbiB7XG4gIHdpZHRoOiA3MnB4O1xuICBoZWlnaHQ6IDcycHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMi4zcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9d29yZGxlXSAuY2hhbGxlbmdlcy1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2MywgMTA3LCA5MSwgMC4yNSk7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPXNwZWxsaW5nX2JlZV0gLmNoYWxsZW5nZXMtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4zKTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9Y29ubmVjdGlvbnNdIC5jaGFsbGVuZ2VzLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDExMSwgMTM4LCAxNjUsIDAuMTUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTExLCAxMzgsIDE2NSwgMC4yOCk7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPXN1ZG9rdV0gLmNoYWxsZW5nZXMtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1NSwgMTIzLCA4NiwgMC4yNyk7XG59XG5cbi5jaGFsbGVuZ2VzLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDIuNHJlbSwgOHZ3LCAzLjJyZW0pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cblxuLmNoYWxsZW5nZXMtc3VidGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY2hhbGxlbmdlcy1zZWN0aW9uLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjIyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5jaGFsbGVuZ2VzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hcmNoaXZlLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDcpLCAwIDFweCAzcHggcmdiYSg1OCwgNDYsIDMzLCAwLjA1KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMThzIGVhc2UsIGJveC1zaGFkb3cgMC4xOHMgZWFzZTtcbn1cbi5hcmNoaXZlLWNhcmQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI4cHggcmdiYSg1OCwgNDYsIDMzLCAwLjEyKSwgMCAycHggNnB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNyk7XG59XG5cbi5hcmNoaXZlLWNhcmRfX3RvcCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hcmNoaXZlLWRhdGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogMC4zNXJlbTtcbn1cblxuLmRhdGUtZGF5IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uZGF0ZS1tb250aCB7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYXJjaGl2ZS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uYXJjaGl2ZS13ZWVrZGF5IHtcbiAgZm9udC1zaXplOiAwLjkycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5hcmNoaXZlLXBpbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4xOHJlbSAwLjU1cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE1NSwgMTIzLCA4NiwgMC4xMik7XG4gIGNvbG9yOiAjNmY1MjM1O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1NSwgMTIzLCA4NiwgMC4yNSk7XG59XG5cbi5hcmNoaXZlLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjc4cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5hcmNoaXZlLWJhZGdlLmlzLXdvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNzksIDEyMiwgMTA0LCAwLjE0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc5LCAxMjIsIDEwNCwgMC4zKTtcbn1cbi5hcmNoaXZlLWJhZGdlLmlzLWxvc3Qge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4NCwgOTEsIDg2LCAwLjEyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTg0LCA5MSwgODYsIDAuMjUpO1xufVxuLmFyY2hpdmUtYmFkZ2UuaXMtcGVuZGluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjEyKTtcbiAgY29sb3I6ICM3YTVhMTQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk0LCAxNjAsIDc3LCAwLjI1KTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuLmFyY2hpdmUtYmFkZ2UuaXMtbG9ja2VkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLmFyY2hpdmUtY2FyZF9fYWN0aW9ucyB7XG4gIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtNCkgdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hcmNoaXZlLWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC42NXJlbSAxcmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTJzIGVhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hcmNoaXZlLWJ0bjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTg1KTtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4uYXJjaGl2ZS1idG4uaXMtcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9d29yZGxlXSAuYXJjaGl2ZS1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMzYTY0NTM7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPXNwZWxsaW5nX2JlZV0gLmFyY2hpdmUtYnRuLmlzLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjOWI2ZTI2O1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT1jb25uZWN0aW9uc10gLmFyY2hpdmUtYnRuLmlzLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNDc2Njg1O1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT1zdWRva3VdIC5hcmNoaXZlLWJ0bi5pcy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzhjNmU0YTtcbn1cblxuLmFyY2hpdmUtYnRuLmlzLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5wYWdpbmF0aW9uLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5wYWdpbmF0aW9uLXBhZ2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG59XG5cbi5wYWdpbmF0aW9uLXBhZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7XG59XG4ucGFnaW5hdGlvbi1wYWdlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi5wYWdpbmF0aW9uLXBhZ2UuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoNTgsIDQ2LCAzMywgMC4xMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5wYWdpbmF0aW9uLWRvdHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnBhZ2luYXRpb24tYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNDVyZW0gMC44NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuLnBhZ2luYXRpb24tYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLmNoYWxsZW5nZXMtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2hhbGxlbmdlcy1iYWNrLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdyZW0gMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG4uY2hhbGxlbmdlcy1iYWNrLWJ0bjpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDU4LCA0NiwgMzMsIDAuMSk7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAuYXJjaGl2ZS1jYXJkIHtcbiAgICBhbmltYXRpb246IGNoYWxsZW5nZXMtY2FyZC1yaXNlIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIGJvdGg7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4wNHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4wOHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoNCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4xMnM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoNSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNnM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoNikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCg3KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI0cztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCg4KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI4cztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCg5KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjMycztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCgxMCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4zNnM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMTEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMTIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNDRzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDEzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjQ4cztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCgxNCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC41MnM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMTUpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNTZzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDE2KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjZzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDE3KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjY0cztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCgxOCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC42OHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMTkpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNzJzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDIwKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjc2cztcbiAgfVxuICAuY2hhbGxlbmdlcy1pbnRybyB7XG4gICAgYW5pbWF0aW9uOiBjaGFsbGVuZ2VzLWNhcmQtcmlzZSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgYm90aDtcbiAgfVxufVxuQGtleWZyYW1lcyBjaGFsbGVuZ2VzLWNhcmQtcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5jaGFsbGVuZ2VzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4uc3BlbGxpbmctYmVlLXBhZ2Uge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KSAwIHZhcigtLXNwYWNlLTcpO1xufVxuXG4uc3BlbGxpbmctYmVlLXBhbmVsIHtcbiAgbWF4LXdpZHRoOiA3NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYmVlLXNjb3JlLXN0cmlwIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZmNmNSAwJSwgI2Y4ZjFkZiAxMDAlKTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi5iZWUtc2NvcmUtbGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogMC40cmVtO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmJlZS1zY29yZS1sZWZ0IHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5iZWUtc2NvcmUtcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1yYW5rLW5hbWUge1xuICBmb250LXNpemU6IDAuODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNjU0ODEwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMTg1LCA1OSwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDIsIDE4NSwgNTksIDAuMzgpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcGFkZGluZzogMC4ycmVtIDAuNXJlbTtcbn1cblxuLmJlZS1yYW5rLXByb2dyZXNzLXRyYWNrIHtcbiAgd2lkdGg6IDYycHg7XG4gIGhlaWdodDogNnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSg0MiwgMzMsIDIwLCAwLjE0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJlZS1yYW5rLXByb2dyZXNzLWZpbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMCU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2YyYjkzYiAwJSwgI2Y3ZDA3MCAxMDAlKTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMjIwbXMgZWFzZTtcbn1cblxuLmJlZS13b3JkLWNhcHN1bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmY5ZWM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMGRmYjg7XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDE0cHggcmdiYSg1OSwgNDQsIDEyLCAwLjA4KTtcbn1cblxuLmJlZS1jdXJyZW50LXdvcmQge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiAjMzMyNDBmO1xuICBtaW4taGVpZ2h0OiAyLjJyZW07XG59XG5cbi5iZWUtZmVlZGJhY2stbGluZSB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWluLWhlaWdodDogMS4xcmVtO1xuICBmb250LXNpemU6IDAuODZyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmJlZS1mZWVkYmFjay1saW5lLm1lc3NhZ2Utd2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uYmVlLWZlZWRiYWNrLWxpbmUubWVzc2FnZS1zdWNjZXNzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4uYmVlLWZlZWRiYWNrLWxpbmUubWVzc2FnZS1pbmZvIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLXNjb3JlLWZsb2F0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDEycHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBmb250LXdlaWdodDogODAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJlZS1zY29yZS1mbG9hdC5pcy12aXNpYmxlIHtcbiAgYW5pbWF0aW9uOiBiZWUtc2NvcmUtZmxvYXQtdXAgNTIwbXMgZWFzZS1vdXQgZm9yd2FyZHM7XG59XG5cbi5iZWUtd29yZC1jYXBzdWxlLmlzLWdsb3cge1xuICBhbmltYXRpb246IGJlZS1jYXBzdWxlLWdsb3cgMzYwbXMgZWFzZS1vdXQ7XG59XG5cbi5iZWUtd29yZC1jYXBzdWxlLmlzLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBiZWUtY2Fwc3VsZS1zaGFrZSAzNjBtcyBlYXNlLWluLW91dDtcbn1cblxuLmJlZS1ob25leWNvbWIge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMSk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCA3cHggMTJweCByZ2JhKDYyLCA0NiwgMTUsIDAuMTQpKTtcbn1cblxuLmJlZS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1sZXR0ZXIge1xuICB3aWR0aDogOThweDtcbiAgaGVpZ2h0OiA4NnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmNmUzOWE7XG4gIGNvbG9yOiAjMzYyYzE0O1xuICBmb250LXNpemU6IDEuNzhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDI1JSA2JSwgNzUlIDYlLCAxMDAlIDUwJSwgNzUlIDk0JSwgMjUlIDk0JSwgMCA1MCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuLmJlZS1sZXR0ZXI6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmJlZS1sZXR0ZXIuaXMtY2VudGVyIHtcbiAgYmFja2dyb3VuZDogI2YyYjkzYjtcbn1cblxuLmJlZS1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYmVlLWljb24tYnRuIHtcbiAgbWluLXdpZHRoOiA0NHB4O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5iZWUtZm91bmQtdHJpZ2dlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmFmNmVlO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuOXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJlZS1mb3VuZC10cmlnZ2VyLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtZm91bmQtY291bnQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtZm91bmQtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1mb3VuZC13b3JkIHtcbiAgcGFkZGluZzogMC4zcmVtIDAuNnJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjVkNjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBkY2EyO1xufVxuXG4uYmVlLWJvdHRvbS1zaGVldCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDU1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJlZS1zaGVldC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyMiwgMTYsIDksIDAuMzYpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIGVhc2U7XG59XG5cbi5iZWUtc2hlZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDQlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIyMG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiAxOHB4IDE4cHggMCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIG1heC1oZWlnaHQ6IDcydmg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYmVlLWJvdHRvbS1zaGVldC5pcy1vcGVuIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5iZWUtYm90dG9tLXNoZWV0LmlzLW9wZW4gLmJlZS1zaGVldC1iYWNrZHJvcCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5iZWUtYm90dG9tLXNoZWV0LmlzLW9wZW4gLmJlZS1zaGVldCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmJlZS1zaGVldCBoMyB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYmVlLXNoZWV0LWhhbmRsZSB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYmVlLXNoZWV0LXNjb3JlLWxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDAuNHJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtc2hlZXQtc2NvcmUtbGluZSBzdHJvbmcge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uYmVlLXNoZWV0LXJhbmstbGluZSB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMikgMCB2YXIoLS1zcGFjZS0zKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLXBvaW50cy1icmVha2Rvd24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmJlZS1icmVha2Rvd24tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjdyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmJlZS1icmVha2Rvd24tcm93IHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmJlZS1yYW5rLWxhZGRlciB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1yYW5rLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogMC41NXJlbSAwLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5iZWUtc2hlZXQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1tb2RhbCAubW9kYWxfX2RpYWxvZyB7XG4gIG1heC13aWR0aDogNDYwcHg7XG59XG5cbi5iZWUtc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYmVlLXN1bW1hcnktbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtc3VtbWFyeS12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYmVlLXN0YXRzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE2MHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5iZWUtc3RhdC1jYXJkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1zdGF0LW51bWJlciB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJlY2VudC1nYW1lcy1saXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnJlY2VudC1nYW1lLWNhcmQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnJlY2VudC1nYW1lLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5yZWNlbnQtZ2FtZS1kYXRlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucmVjZW50LWdhbWUtbGFiZWwge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTEpIDAgMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnJlY2VudC1nYW1lLW1vZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5tb2RlLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMTIpO1xuICBjb2xvcjogIzNiNmM1YTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4yNSk7XG59XG5cbi5tb2RlLWxpbmsge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1vZGUtbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucmVjZW50LWdhbWUtc3RhdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJlY2VudC1nYW1lLXN0YXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuMnJlbTtcbn1cblxuLnJlY2VudC1nYW1lLXN0YXQgLnN0YXQtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbn1cblxuLnJlY2VudC1nYW1lLXN0YXQgLnN0YXQtdmFsdWUge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnNwZWxsaW5nLWJlZS1wYW5lbCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIH1cbiAgLmJlZS1sZXR0ZXIge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBmb250LXNpemU6IDEuNDVyZW07XG4gIH1cbiAgLmJlZS1jb250cm9scyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmJlZS1jdXJyZW50LXdvcmQge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJlZS1zY29yZS1mbG9hdC11cCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmVlLWNhcHN1bGUtZ2xvdyB7XG4gIDAlIHtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNHB4IHJnYmEoNTksIDQ0LCAxMiwgMC4wOCk7XG4gIH1cbiAgNTAlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA2cHggcmdiYSg3OSwgMTIyLCAxMDQsIDAuMTYpLCAwIDEwcHggMjRweCByZ2JhKDc5LCAxMjIsIDEwNCwgMC4xNik7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDU5LCA0NCwgMTIsIDAuMDgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJlZS1jYXBzdWxlLXNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gIH1cbn1cbi5jb25uZWN0aW9ucy1wYWdlIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgMCB2YXIoLS1zcGFjZS02KTtcbn1cbi5jb25uZWN0aW9ucy1wYWdlLmlzLW5hdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDQ0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkgKyB2YXIoLS1zcGFjZS0yKSk7XG59XG5cbi5jb25uZWN0aW9ucy1wYW5lbCB7XG4gIG1heC13aWR0aDogODIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uY29ubmVjdGlvbnMtdG9hc3QtbGFuZSB7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jb25uZWN0aW9ucy1tZXNzYWdlIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg2cmVtO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSwgb3BhY2l0eSAwLjE1cyBlYXNlO1xufVxuXG4uY29ubmVjdGlvbnMtbWVzc2FnZS5tZXNzYWdlLXdhcm5pbmcsXG4uY29ubmVjdGlvbnMtbWVzc2FnZS5tZXNzYWdlLXN1Y2Nlc3MsXG4uY29ubmVjdGlvbnMtbWVzc2FnZS5tZXNzYWdlLWVycm9yLFxuLmNvbm5lY3Rpb25zLW1lc3NhZ2UubWVzc2FnZS1pbmZvIHtcbiAgcGFkZGluZzogMC40cmVtIDAuNzVyZW07XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmNvbm5lY3Rpb25zLW1lc3NhZ2UubWVzc2FnZS13YXJuaW5nIHtcbiAgY29sb3I6ICM4ZDRhMTA7XG4gIGJhY2tncm91bmQ6ICNmZmYxZDk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZmQ0YWE7XG59XG5cbi5jb25uZWN0aW9ucy1tZXNzYWdlLm1lc3NhZ2Utc3VjY2VzcyB7XG4gIGNvbG9yOiAjMjQ1ZDRhO1xuICBiYWNrZ3JvdW5kOiAjZTlmNmVmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmRkZmNmO1xufVxuXG4uY29ubmVjdGlvbnMtbWVzc2FnZS5tZXNzYWdlLWVycm9yIHtcbiAgY29sb3I6ICM4NzJmMmM7XG4gIGJhY2tncm91bmQ6ICNmZWU5ZTg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZmMwYmQ7XG59XG5cbi5jb25uZWN0aW9ucy1tZXNzYWdlLm1lc3NhZ2UtaW5mbyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgYmFja2dyb3VuZDogI2YzZjBlYTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmNvbm5lY3Rpb25zLXNvbHZlZC1hcmVhIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cbi5jb25uZWN0aW9ucy1zb2x2ZWQtYXJlYTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb25uZWN0aW9ucy1hdHRlbXB0cy1kb3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC40NXJlbTtcbn1cblxuLmNvbm5lY3Rpb25zLWRvdCB7XG4gIHdpZHRoOiA5cHg7XG4gIGhlaWdodDogOXB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLCB0cmFuc2Zvcm0gMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjI1cyBlYXNlO1xufVxuLmNvbm5lY3Rpb25zLWRvdC5pcy1maWxsZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDE5NCwgMTYwLCA3NywgMC4zKTtcbn1cbi5jb25uZWN0aW9ucy1kb3QuaXMtZW1wdHkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBvcGFjaXR5OiAwLjY7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44NSk7XG59XG5cbi5jb25uZWN0aW9ucy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICBnYXA6IDAuNnJlbTtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGUge1xuICBtaW4taGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nOiAwLjY1cmVtIDAuMzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJvcmRlcjogMS41cHggc29saWQgI2U0ZDljYjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZmZmZiAwJSwgI2Y5ZjVlZiAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSBpbnNldCwgMCAycHggNHB4IHJnYmEoNDQsIDMxLCAxOCwgMC4wNiksIDAgNHB4IDhweCByZ2JhKDQ0LCAzMSwgMTgsIDAuMDQpO1xuICBmb250LXNpemU6IGNsYW1wKDAuNnJlbSwgMXJlbSAtIHZhcigtLWNoYXItY291bnQsIDYpICogMC4wMjZyZW0sIDAuOXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMmEyMzFhO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBoeXBoZW5zOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpLCBib3gtc2hhZG93IDAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7XG59XG5cbi5jb25uZWN0aW9ucy10aWxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDBjMWFlO1xuICBib3gtc2hhZG93OiAwIDFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIGluc2V0LCAwIDNweCA4cHggcmdiYSg0NCwgMzEsIDE4LCAwLjA5KSwgMCA1cHggMTJweCByZ2JhKDQ0LCAzMSwgMTgsIDAuMDUpO1xufVxuXG4uY29ubmVjdGlvbnMtdGlsZTphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuICBib3JkZXItY29sb3I6ICNjNWFmOTI7XG59XG5cbi5jb25uZWN0aW9ucy10aWxlOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgxOTQsIDE2MCwgNzcsIDAuNDgpO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4uY29ubmVjdGlvbnMtdGlsZS5pcy1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmNWU2YzggMCUsICNlYmRhYmMgMTAwJSk7XG4gIGJvcmRlci1jb2xvcjogI2M0YTQ2MDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMi41cHggcmdiYSgxOTQsIDE2MCwgNzcsIDAuMjUpLCAwIDFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0LCAwIDRweCAxMnB4IHJnYmEoNDQsIDMxLCAxOCwgMC4xMik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIGNvbG9yOiAjM2EyYTE0O1xufVxuXG4uY29ubmVjdGlvbnMtdGlsZS5pcy1lbnRlcmluZyB7XG4gIGFuaW1hdGlvbjogY29ubmVjdGlvbnMtdGlsZS1pbiAwLjNzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSBib3RoO1xufVxuXG4uY29ubmVjdGlvbnMtdGlsZS5pcy1zaGFraW5nIHtcbiAgYW5pbWF0aW9uOiBjb25uZWN0aW9ucy1zaGFrZSAwLjRzIGVhc2U7XG59XG5cbi5jb25uZWN0aW9ucy10aWxlLmlzLXB1bHNpbmcge1xuICBhbmltYXRpb246IGNvbm5lY3Rpb25zLXB1bHNlIDAuMzJzIGVhc2U7XG59XG5cbi5jb25uZWN0aW9ucy1zdGlja3ktYmFyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDhweCk7XG4gIHotaW5kZXg6IDE1O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMjQzLCAyMzgsIDAuOTIpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBib3gtc2hhZG93OiAwIC0ycHggMTZweCByZ2JhKDQyLCAzMiwgMjAsIDAuMDUpLCAwIDhweCAyNHB4IHJnYmEoNDIsIDMyLCAyMCwgMC4xKTtcbiAgcGFkZGluZzogMC41NXJlbTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0NHB4IDFmciA0NHB4O1xuICBnYXA6IDAuNTVyZW07XG59XG5cbi5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4sIC5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4tc3VjY2VzcywgLmNvbm5lY3Rpb25zLXN0aWNreS1iYXIgLmJ0bi13YXJuaW5nLCAuY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLWRhbmdlciwgLmNvbm5lY3Rpb25zLXN0aWNreS1iYXIgLmJ0bi1pbmZvLCAuY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLW91dGxpbmUtcHJpbWFyeSxcbi5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4uY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLW91dGxpbmUtc3VjY2Vzcyxcbi5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4tb3V0bGluZS1kYW5nZXIsXG4uY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLW91dGxpbmUtd2FybmluZyxcbi5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4tb3V0bGluZS1pbmZvIHtcbiAgbWluLWhlaWdodDogNDRweDtcbn1cblxuLmNvbm5lY3Rpb25zLXN0aWNreS1iYXIgLmJ0bi1wcmltYXJ5Om5vdChbZGlzYWJsZWRdKSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSg2MywgMTA3LCA5MSwgMC4zKTtcbn1cblxuLmNvbm5lY3Rpb25zLWljb24tYnRuIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIG1pbi13aWR0aDogNDRweDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY29ubmVjdGlvbnMtY2xlYXItYnRuIHtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgbWluLXdpZHRoOiA0NHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jb25uZWN0aW9ucy1jbGVhci1idG46Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDYzLCAxMDcsIDkxLCAwLjM1KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uY29ubmVjdGlvbnMtc29sdmVkLFxuLmNvbm5lY3Rpb25zLXJldmVhbC1yb3cge1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAwLjg1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoMzUsIDI0LCAxNCwgMC4wNik7XG59XG5cbi5jb25uZWN0aW9ucy1zb2x2ZWQge1xuICBhbmltYXRpb246IGNvbm5lY3Rpb25zLXNvbHZlZC1pbiAwLjM1cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgYm90aDtcbn1cblxuLmNvbm5lY3Rpb25zLXNvbHZlZC1oZWFkZXIsXG4uY29ubmVjdGlvbnMtcmV2ZWFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogMC40NXJlbTtcbn1cblxuLmNvbm5lY3Rpb25zLWNhdGVnb3J5IHtcbiAgZm9udC1zaXplOiAwLjg2cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29ubmVjdGlvbnMtZGlmZmljdWx0eS1waWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4zNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuXG4uY29ubmVjdGlvbnMtZGlmZmljdWx0eS1waWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmNvbm5lY3Rpb25zLXdvcmRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNHJlbTtcbn1cblxuLmNvbm5lY3Rpb25zLXdvcmQtY2hpcCB7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBwYWRkaW5nOiAwLjJyZW0gMC40NXJlbTtcbiAgZm9udC1zaXplOiAwLjc0cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGNvbG9yOiAjM2EzMDI0O1xufVxuXG4uY29ubmVjdGlvbnMtcmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmNvbm5lY3Rpb25zLXJldmVhbC5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmRpZmZpY3VsdHkteWVsbG93IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNDcsIDIyMywgMTMyLCAwLjQ1KSAwJSwgcmdiYSgyNDAsIDIxMCwgMTAwLCAwLjMpIDEwMCUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjQ1KTtcbn1cblxuLmNvbm5lY3Rpb25zLWRpZmZpY3VsdHkteWVsbG93IHtcbiAgY29sb3I6ICM3ZTY0MGY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyMjMsIDEzMiwgMC41KTtcbn1cblxuLmRpZmZpY3VsdHktZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE2OCwgMjA1LCAxODUsIDAuNDUpIDAlLCByZ2JhKDE0MCwgMTkwLCAxNjUsIDAuMykgMTAwJSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg3OSwgMTIyLCAxMDQsIDAuNCk7XG59XG5cbi5jb25uZWN0aW9ucy1kaWZmaWN1bHR5LWdyZWVuIHtcbiAgY29sb3I6ICMyNDVhNDU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTY4LCAyMDUsIDE4NSwgMC41KTtcbn1cblxuLmRpZmZpY3VsdHktYmx1ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTYwLCAxODYsIDIxNSwgMC40NSkgMCUsIHJnYmEoMTQwLCAxNzAsIDIwNSwgMC4zKSAxMDAlKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDExMSwgMTM4LCAxNjUsIDAuNCk7XG59XG5cbi5jb25uZWN0aW9ucy1kaWZmaWN1bHR5LWJsdWUge1xuICBjb2xvcjogIzI0NGY3OTtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjAsIDE4NiwgMjE1LCAwLjUpO1xufVxuXG4uZGlmZmljdWx0eS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE5NiwgMTc1LCAyMTQsIDAuNDUpIDAlLCByZ2JhKDE4MCwgMTU1LCAyMDAsIDAuMykgMTAwJSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMzAsIDEwNiwgMTYyLCAwLjQpO1xufVxuXG4uY29ubmVjdGlvbnMtZGlmZmljdWx0eS1wdXJwbGUge1xuICBjb2xvcjogIzViM2Y3ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgxOTYsIDE3NSwgMjE0LCAwLjU1KTtcbn1cblxuQGtleWZyYW1lcyBjb25uZWN0aW9ucy10aWxlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHRyYW5zbGF0ZVkoOHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjb25uZWN0aW9ucy1zb2x2ZWQtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgc2NhbGUoMC45Nik7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY29ubmVjdGlvbnMtc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZSgwKTtcbiAgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgcm90YXRlKDAuNWRlZyk7XG4gIH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0wLjVkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDAuM2RlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY29ubmVjdGlvbnMtcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuY29ubmVjdGlvbnMtcGFnZSAuYXBwLWNvbnRhaW5lciwgLmNvbm5lY3Rpb25zLXBhZ2UgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICB9XG4gIC5jb25uZWN0aW9ucy1ncmlkIHtcbiAgICBnYXA6IDAuNDVyZW07XG4gIH1cbiAgLmNvbm5lY3Rpb25zLXRpbGUge1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogMC41NXJlbSAwLjI1cmVtO1xuICB9XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1wbGF5IHtcbiAgbWluLWhlaWdodDogY2FsYygxMDBzdmggLSAxMzBweCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbiAgZ2FwOiAwLjVyZW07XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1tZXNzYWdlIHtcbiAgbWluLWhlaWdodDogMS4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1tZXNzYWdlLm1lc3NhZ2Utd2FybmluZyB7XG4gIGNvbG9yOiAjOGQ0YTEwO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtbWVzc2FnZS5tZXNzYWdlLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzI0NWQ0YTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LW1lc3NhZ2UubWVzc2FnZS1lcnJvciB7XG4gIGNvbG9yOiAjOWYyYjI5O1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtbWVzc2FnZS5tZXNzYWdlLWluZm8ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1ib2FyZC13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1ib2FyZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDksIDFmcik7XG4gIHdpZHRoOiBtaW4oMTAwJSwgbWluKDkydncsIDYyc3ZoKSk7XG4gIG1heC13aWR0aDogNjIwcHg7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjYjdiZmM5O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMzIsIDI3LCAyMCwgMC4wNik7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlOWVmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAzLjh2dywgMS40NXJlbSk7XG4gIGNvbG9yOiAjMzU1MDdhO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGJveC1zaGFkb3cgMTIwbXMgZWFzZTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGxbZGF0YS1jb2w9XCIyXCJdLFxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbFtkYXRhLWNvbD1cIjVcIl0ge1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjYzJjYWQ1O1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbFtkYXRhLXJvdz1cIjJcIl0sXG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsW2RhdGEtcm93PVwiNVwiXSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYzJjYWQ1O1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbC5pcy1naXZlbiB7XG4gIGJhY2tncm91bmQ6ICNmN2Y5ZmM7XG4gIGNvbG9yOiAjMWYyOTM3O1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtZ2l2ZW4tdmFsdWUge1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogIzFmMjkzNztcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtcmVsYXRlZCB7XG4gIGJhY2tncm91bmQ6ICNmNGY4ZmY7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsLmlzLXJlbGF0ZWQtYm94IHtcbiAgYmFja2dyb3VuZDogI2VkZjNmZTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtc2FtZS1udW1iZXIge1xuICBiYWNrZ3JvdW5kOiAjZThmMGZmO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbC5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZGVlYmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggIzRjNzhiYTtcbiAgei1pbmRleDogMjtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtZ2l2ZW4uaXMtY29uZmxpY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmVlYWVjO1xuICBjb2xvcjogI2I2MzAzNDtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtY29uZmxpY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmMGYxO1xuICBjb2xvcjogI2I2MzAzNDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMTgyLCA0OCwgNTIsIDAuMzIpO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbC5pcy1jb25mbGljdC1zaGFrZSB7XG4gIGFuaW1hdGlvbjogc3Vkb2t1LWNlbGwtc2hha2UgMjYwbXMgZWFzZTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNjUwO1xuICBjb2xvcjogIzM1NTA3YTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNhcmV0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbC5pcy1jb25mbGljdCBpbnB1dCB7XG4gIGNvbG9yOiAjYjYzMDM0O1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3Utbm90ZS1sYXllciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDJweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMywgMWZyKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1ub3RlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC40OHJlbSwgMS43dncsIDAuNjRyZW0pO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM3Yjg3OTY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1ib3R0b20tY29udHJvbHMge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBib3R0b206IGNhbGMoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgNHB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDcsIDI0MywgMjM4LCAwLjk0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMC41NXJlbTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgzMiwgMjcsIDIwLCAwLjA4KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS10b29scy1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpIGF1dG87XG4gIGdhcDogMC40NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtdG9vbC1idG4ge1xuICBtaW4taGVpZ2h0OiA0NHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkZGU3O1xuICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzJkM2Q1NDtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBmb250LXdlaWdodDogNjUwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwLjNyZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA5MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2U7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS10b29sLWJ0biBpIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtdG9vbC1idG46aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0Yzc4YmE7XG4gIGJhY2tncm91bmQ6ICNlOGYwZmY7XG4gIGNvbG9yOiAjMjE0NjczO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtdG9vbC1idG4uaXMtYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGM3OGJhO1xuICBiYWNrZ3JvdW5kOiAjZThmMGZmO1xuICBjb2xvcjogIzIxNDY3Mztcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LXRvb2wtYnRuOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gIGJvcmRlci1jb2xvcjogIzllYWVjMjtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNoZWNrLWJ0biB7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmc6IDAgMC45cmVtO1xuICBmb250LXNpemU6IDAuODRyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1rZXlib2FyZCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuMzVyZW07XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1rZXlib2FyZC1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogMC4zNXJlbTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWtleS1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDllMGU5O1xuICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzIyMzU0ZDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjE4cmVtO1xuICBtaW4taGVpZ2h0OiA0NnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1rZXktYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y4ZmJmZjtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWtleS1idXR0b246YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbiAgYm9yZGVyLWNvbG9yOiAjOWVhZWMyO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3Uta2V5LWJ1dHRvbi5pcy1jb21wbGV0ZSB7XG4gIGJhY2tncm91bmQ6ICNlMWU4ZjI7XG4gIGJvcmRlci1jb2xvcjogI2I4YzRkNDtcbiAgY29sb3I6ICMxYjJlNDU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3Uta2V5LWJ1dHRvbi5pcy1wbGFjZWhvbGRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1ib2FyZC5pcy1yZWFkb25seSAuc3Vkb2t1LWNlbGwge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBjb2xvcjogIzExMTgyNztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc3Vkb2t1LXBhZ2UgLmFwcC1jb250YWluZXIsIC5zdWRva3UtcGFnZSAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gIH1cbiAgLnN1ZG9rdS1wYWdlIC5zdWRva3UtcGxheSB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDBzdmggLSAxMjBweCk7XG4gICAgZ2FwOiAwLjM1cmVtO1xuICB9XG4gIC5zdWRva3UtcGFnZSAuc3Vkb2t1LWJvYXJkIHtcbiAgICB3aWR0aDogbWluKDEwMCUsIG1pbig5MnZ3LCA2NHN2aCkpO1xuICB9XG4gIC5zdWRva3UtcGFnZSAuc3Vkb2t1LXRvb2xzLXJvdyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpIGF1dG87XG4gICAgZ2FwOiAwLjM1cmVtO1xuICB9XG4gIC5zdWRva3UtcGFnZSAuc3Vkb2t1LXRvb2wtYnRuIHtcbiAgICBmb250LXNpemU6IDAuNzRyZW07XG4gIH1cbn1cbmJvZHkudHVyYm8tbmF0aXZlLWJvZHkgLnN1ZG9rdS1wYWdlIC5zdWRva3UtcGxheSB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnN1ZG9rdS1wYWdlIC5zdWRva3UtYm9hcmQge1xuICAgIHdpZHRoOiBtaW4oNzJ2aCwgNjIwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN1ZG9rdS1jZWxsLXNoYWtlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLnN1ZG9rdS1wYWdlIC5zaGFyZS1jYXJkLS1zdWRva3UgLnNoYXJlLWNhcmRfX2JhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzBmNzY2ZSwgIzBmMTcyYSk7XG59XG5cbi5hcHAtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDIwMDtcbn1cblxuLmFwcC1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hcHAtbmF2X19sZWZ0LFxuLmFwcC1uYXZfX3JpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFwcC1uYXZfX2F1dGgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYXBwLWJyYW5kIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5hdi1iYWNrLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuLm5hdi1iYWNrLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLm5hdi1pY29uLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTtcbn1cbi5uYXYtaWNvbi1idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5uYXYtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5uYXYtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAwLjZyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG4ubmF2LWxpbmsuaXMtYWN0aXZlLCAubmF2LWxpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbn1cblxuLmhlbHAtbGluayB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGVscC1saW5rX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG59XG5cbi5uYXYtYXZhdGFyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXYtYXZhdGFyLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjc4cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG4ubmF2LWF2YXRhci1idG46aG92ZXIge1xuICBvcGFjaXR5OiAwLjg4O1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xufVxuLm5hdi1hdmF0YXItYnRuOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5uYXYtZHJvcGRvd25fX21lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgOHB4KTtcbiAgcmlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMjEwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc3Ryb25nKTtcbiAgei1pbmRleDogMzAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm5hdi1kcm9wZG93bl9fbWVudS5pcy1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5uYXYtZHJvcGRvd25fX2hlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xufVxuXG4ubmF2LWRyb3Bkb3duX19uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ubmF2LWRyb3Bkb3duX19oYW5kbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ubmF2LWRyb3Bkb3duX19pdGVtcyB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi5uYXYtZHJvcGRvd25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7XG59XG4ubmF2LWRyb3Bkb3duX19pdGVtIGkge1xuICB3aWR0aDogMTZweDtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLm5hdi1kcm9wZG93bl9faXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuLm5hdi1kcm9wZG93bl9faXRlbS5pcy1kYW5nZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cbi5uYXYtZHJvcGRvd25fX2l0ZW0uaXMtZGFuZ2VyIGkge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cbi5uYXYtZHJvcGRvd25fX2l0ZW0uaXMtZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxODQsIDkxLCA4NiwgMC4wOCk7XG59XG5cbi5uYXYtZHJvcGRvd25fX2RpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0yKSAwO1xufVxuXG4uYWRtaW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2UtNSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTUpO1xufVxuXG4uZGF0YS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbn1cblxuLmRhdGEtdGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xufVxuXG4uZGF0YS10YWJsZSB0aCxcbi5kYXRhLXRhYmxlIHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uZGF0YS10YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4uZGF0YS10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XG59XG5cbi5mb3JtLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI2MHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucGFnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wYWdlcl9fbGluayB7XG4gIHBhZGRpbmc6IDAuNDVyZW0gMC45cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG4ucGFnZXJfX2xpbmsuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hdXRoLWNhcmQge1xuICBtYXgtd2lkdGg6IDQ0MHB4O1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTYpIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xufVxuXG4uYXV0aC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mbGFzaC1zdGFjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiB2YXIoLS1zcGFjZS0zKTtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlLTMpO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1wYWdlLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuXG4uc2NoZWR1bGVkLXRhc2stcGFnZS1oZWFkZXIgcCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1hY3Rpb25zIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc2NoZWR1bGVkLXRhc2stc3VtbWFyeS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMjBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1jYXJkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1jYXJkX19oZWFkZXIsXG4uc2NoZWR1bGVkLXRhc2stY2FyZF9fZm9vdGVyLFxuLnNjaGVkdWxlZC10YXNrLWhpc3RvcnktaGVhZGVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc2NoZWR1bGVkLXRhc2stY2FyZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnNjaGVkdWxlZC10YXNrLWNhcmRfX2hlYWRlciBwLFxuLnNjaGVkdWxlZC10YXNrLWNhcmRfX2Zvb3RlciBzcGFuLFxuLnNjaGVkdWxlZC10YXNrLWhpc3RvcnktaGVhZGVyIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1jYXJkX19uYW1lLFxuLnNjaGVkdWxlZC10YXNrLWNvZGUge1xuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjg2cmVtO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLnNjaGVkdWxlZC10YXNrLWNhcmRfX25hbWUge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnNjaGVkdWxlZC10YXNrLW1ldHJpY3Mge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNjaGVkdWxlZC10YXNrLW1ldHJpY3MgZGl2IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnNjaGVkdWxlZC10YXNrLW1ldHJpY3MgZHQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1tZXRyaWNzIGRkIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnNjaGVkdWxlZC10YXNrLWNhcmRfX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDAuODZyZW07XG59XG5cbi5zY2hlZHVsZWQtdGFzay1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMS42NXJlbTtcbiAgcGFkZGluZzogMC4ycmVtIDAuNjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAwLjc2cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2NoZWR1bGVkLXRhc2stYmFkZ2UtLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc5LCAxMjIsIDEwNCwgMC4xNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg3OSwgMTIyLCAxMDQsIDAuMzUpO1xuICBjb2xvcjogIzJmNGMzZTtcbn1cblxuLnNjaGVkdWxlZC10YXNrLWJhZGdlLS1mYWlsdXJlLFxuLnNjaGVkdWxlZC10YXNrLWJhZGdlLS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4NCwgOTEsIDg2LCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE4NCwgOTEsIDg2LCAwLjM1KTtcbiAgY29sb3I6ICM2ZTJmMmI7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1iYWRnZS0tcnVubmluZyxcbi5zY2hlZHVsZWQtdGFzay1iYWRnZS0taW5mbyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTExLCAxMzgsIDE2NSwgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjM1KTtcbiAgY29sb3I6ICMzMTQyNTQ7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1iYWRnZS0td2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4zNSk7XG4gIGNvbG9yOiAjNWI0NTIxO1xufVxuXG4uc2NoZWR1bGVkLXRhc2stYmFkZ2UtLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnNjaGVkdWxlZC10YXNrLXRhYmxlLXdyYXAge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uc2NoZWR1bGVkLXRhc2staGlzdG9yeSB0aCxcbi5zY2hlZHVsZWQtdGFzay1oaXN0b3J5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnNjaGVkdWxlZC10YXNrLWVycm9yIHtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi5zY2hlZHVsZWQtdGFzay1tZXRhZGF0YSBzdW1tYXJ5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNjaGVkdWxlZC10YXNrLW1ldGFkYXRhIHByZSB7XG4gIG1heC13aWR0aDogMzYwcHg7XG4gIG1heC1oZWlnaHQ6IDI0MHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0yKSAwIDA7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1zaXplOiAwLjc4cmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnNjaGVkdWxlZC10YXNrLXBhZ2UtaGVhZGVyLFxuICAuc2NoZWR1bGVkLXRhc2stY2FyZF9faGVhZGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5zY2hlZHVsZWQtdGFzay1zdW1tYXJ5LWdyaWQsXG4gIC5zY2hlZHVsZWQtdGFzay1tZXRyaWNzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICB9XG59XG4uYWQtZ2F0ZS1wYWdlIHtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDcycHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS02KSAwO1xufVxuXG4uYWQtZ2F0ZS1wYW5lbCB7XG4gIHdpZHRoOiBtaW4oMTAwJSwgNjQwcHgpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5hZC1nYXRlLWtpY2tlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiAwLjc4cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkLWdhdGUtc2xvdCB7XG4gIG1pbi1oZWlnaHQ6IDI2MHB4O1xuICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg2MywgMTA3LCA5MSwgMC4wOCksIHJnYmEoMTU1LCAxMjMsIDg2LCAwLjA4KSksIHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5hZC1nYXRlLXNsb3RfX2xhYmVsIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XG59XG5cbi5hZC1nYXRlLXNsb3RfX2JvZHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmFkLWdhdGUtc2xvdF9fbWFyayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWQtZ2F0ZS1jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkLWdhdGUtZ2FtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hZC1nYXRlLWdhbWVfX2ljb24ge1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uYWQtZ2F0ZS1nYW1lIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjhyZW0sIDR2dywgMi40cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMSk7XG59XG5cbi5hZC1nYXRlLWdhbWUgcCB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYWQtZ2F0ZS10aW1lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYWQtZ2F0ZS10aW1lciBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uYWQtZ2F0ZS1wcm9ncmVzcyB7XG4gIGhlaWdodDogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmFkLWdhdGUtcHJvZ3Jlc3NfX2JhciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlO1xufVxuXG4uYWQtZ2F0ZS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFkLWdhdGUtY29udGludWU6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmFkLWdhdGUtcGFnZSB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgMDtcbiAgfVxuICAuYWQtZ2F0ZS1wYW5lbCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIH1cbiAgLmFkLWdhdGUtc2xvdCB7XG4gICAgbWluLWhlaWdodDogMjIwcHg7XG4gIH1cbiAgLmFkLWdhdGUtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmFkLWdhdGUtY29udGludWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uaGVscC1tb2RhbCAubW9kYWxfX2RpYWxvZyB7XG4gIHdpZHRoOiBtaW4oNjgwcHgsIDk1dncpO1xufVxuLmhlbHAtbW9kYWwgLm1vZGFsX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5oZWxwLWxlYWQge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5oZWxwLXN0ZXBzIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNCk7XG4gIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4uaGVscC1zdGVwcyBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5oZWxwLWV4YW1wbGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uaGVscC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uaGVscC1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uaGVscC13b3JkbGUtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDM2cHgsIDQ4cHgpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS02KTtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cblxuLmhlbHAtYmVlLWRlbW8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmhlbHAtYmVlLWRlbW8gLmJlZS1ob25leWNvbWIge1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uaGVscC1iZWUtZGVtbyAuYmVlLXJvdyB7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5oZWxwLWJlZS1kZW1vIC5iZWUtbGV0dGVyIHtcbiAgd2lkdGg6IDU0cHg7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4uaGVscC1iZWUtd29yZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG59XG5cbi5oZWxwLWhpZ2hsaWdodCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4uaGVscC1jb25uZWN0aW9ucy1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5oZWxwLWNvbm5lY3Rpb25zLXJvdyAuY29ubmVjdGlvbnMtdGlsZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBQV0Etc3BlY2lmaWMgc3R5bGVzICovXG4vKiBIaWRlIGJyb3dzZXIgVUkgZWxlbWVudHMgd2hlbiBydW5uaW5nIGFzIFBXQSAqL1xuQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIHtcbiAgYm9keSB7XG4gICAgLyogRW5zdXJlIGZ1bGwgc2NyZWVuIGV4cGVyaWVuY2UgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbiAgLyogSGlkZSBzY3JvbGxiYXJzIG9uIG1vYmlsZSAqL1xuICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gb24gYnV0dG9ucyAqL1xuICAuYnRuLCAuYnRuLXN1Y2Nlc3MsIC5idG4td2FybmluZywgLmJ0bi1kYW5nZXIsIC5idG4taW5mbywgLmJ0bi1vdXRsaW5lLXByaW1hcnksXG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4gIC5idG4tb3V0bGluZS1zdWNjZXNzLFxuICAuYnRuLW91dGxpbmUtZGFuZ2VyLFxuICAuYnRuLW91dGxpbmUtd2FybmluZyxcbiAgLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbi8qIE9mZmxpbmUgaW5kaWNhdG9yIHN0eWxlcyAqL1xuYm9keS5vZmZsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5ib2R5Lm9mZmxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiU2luIGNvbmV4acOzblwiO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZiNmI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLyogUFdBIG1vZGUgc3BlY2lmaWMgc3R5bGVzICovXG5ib2R5LnB3YS1tb2RlIHtcbiAgLyogQWRkIGFueSBQV0Etc3BlY2lmaWMgc3R5bGluZyAqL1xufVxuXG4vKiBCZXR0ZXIgdG91Y2ggdGFyZ2V0cyBmb3IgbW9iaWxlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmJ0biwgLmJ0bi1zdWNjZXNzLCAuYnRuLXdhcm5pbmcsIC5idG4tZGFuZ2VyLCAuYnRuLWluZm8sIC5idG4tb3V0bGluZS1wcmltYXJ5LFxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LFxuICAuYnRuLW91dGxpbmUtc3VjY2VzcyxcbiAgLmJ0bi1vdXRsaW5lLWRhbmdlcixcbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcsXG4gIC5idG4tb3V0bGluZS1pbmZvIHtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIG1pbi13aWR0aDogNDRweDtcbiAgfVxuICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxNnB4OyAvKiBQcmV2ZW50cyB6b29tIG9uIGlPUyAqL1xuICB9XG59XG4vKiBTYWZlIGFyZWEgaW5zZXRzIGZvciBub3RjaGVkIGRldmljZXMgKi9cbkBzdXBwb3J0cyAocGFkZGluZzogbWF4KDBweCkpIHtcbiAgYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXgoMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBtYXgoMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XG4gICAgcGFkZGluZy10b3A6IG1heCgwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7XG4gICAgcGFkZGluZy1ib3R0b206IG1heCgwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIH1cbn1cbi5wb2xpY3ktcGFnZSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpIDAgdmFyKC0tc3BhY2UtNyk7XG59XG5cbi5wb2xpY3ktY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wb2xpY3ktaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmJmN2YxIDAlLCAjZmZmIDEwMCUpO1xufVxuXG4ucG9saWN5LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnBvbGljeS1tZXRhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5wb2xpY3ktYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpO1xufVxuXG4ucG9saWN5LWNvbnRlbnQge1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4ucG9saWN5LWNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xufVxuLnBvbGljeS1jb250ZW50IGgyIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtMik7XG59XG4ucG9saWN5LWNvbnRlbnQgaDMge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTQpIDAgdmFyKC0tc3BhY2UtMik7XG59XG4ucG9saWN5LWNvbnRlbnQgdWwge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS01KTtcbn1cbi5wb2xpY3ktY29udGVudCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuLnBvbGljeS1jb250ZW50IHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wb2xpY3ktcGFnZSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS02KTtcbiAgfVxuICAucG9saWN5LWhlYWRlcixcbiAgLnBvbGljeS1ib2R5IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgfVxuICAucG9saWN5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gIH1cbn1cbi5wcm9maWxlLXBhZ2Uge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZS03KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG59XG5cbi5wcm9maWxlLWhlcm8ge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAwJSwgcmdiYSg3OSwgMTIyLCAxMDQsIDAuMiksIHRyYW5zcGFyZW50IDUwJSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODIlIDEwJSwgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMTgpLCB0cmFuc3BhcmVudCA0MiUpLCB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5wcm9maWxlLW5hdGl2ZS10b3BiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm5hdGl2ZS1zZXR0aW5ncy1idG4ge1xuICB3aWR0aDogMzhweDtcbiAgaGVpZ2h0OiAzOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSg1OCwgNDYsIDMzLCAwLjA4KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuLm5hdGl2ZS1zZXR0aW5ncy1idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xufVxuXG4ucHJvZmlsZS1pZGVudGl0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnByb2ZpbGUtYXZhdGFyIHtcbiAgd2lkdGg6IDg4cHg7XG4gIGhlaWdodDogODhweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSg2MywgMTA3LCA5MSwgMC4yOCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucHJvZmlsZS1uYW1lIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDV2dywgMi4xcmVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucHJvZmlsZS1oYW5kbGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wcm9maWxlLXJvdy1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNik7XG59XG4ucHJvZmlsZS1yb3ctY2FyZC5wcm9maWxlLXJvdy1jYXJkLS1zdGF0cyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucHJvZmlsZS1yb3ctY2VsbCB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ucHJvZmlsZS1yb3ctY2VsbC5pcy1saW5rIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjEycyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucHJvZmlsZS1yb3ctY2VsbC5pcy1saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xufVxuXG4ucHJvZmlsZS1yb3ctbnVtIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi5wcm9maWxlLXJvdy1udW0uaXMteHAge1xuICBjb2xvcjogIzdhNWExNDtcbn1cblxuLnByb2ZpbGUtcm93LWxibCB7XG4gIGZvbnQtc2l6ZTogMC42N3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucHJvZmlsZS1yb3ctc2VwIHtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wcm9maWxlLWFjdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucHJvZmlsZS1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTJzIGVhc2U7XG59XG4ucHJvZmlsZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5wcm9maWxlLWJ0bjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5wcm9maWxlLWJ0bi0tZm9sbG93aW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxODQsIDkxLCA4NiwgMC4xKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4ucHJvZmlsZS1idG4tLWZvbGxvd2luZzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTg0LCA5MSwgODYsIDAuMTgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cblxuLnByb2ZpbGUtc2VjdGlvbi1sYWJlbCB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS0zKTtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5wcm9maWxlLWdhbWVzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5wcm9maWxlLWdhbWUtaWNvbiB7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMjIpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXdvcmRsZV0gLnByb2ZpbGUtZ2FtZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2MywgMTA3LCA5MSwgMC4yNik7XG59XG5cbi5wcm9maWxlLWdhbWUtY2FyZFtkYXRhLWdhbWU9c3BlbGxpbmdfYmVlXSAucHJvZmlsZS1nYW1lLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMzIpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRbZGF0YS1nYW1lPWNvbm5lY3Rpb25zXSAucHJvZmlsZS1nYW1lLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCAxMDIsIDEzMywgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg3MSwgMTAyLCAxMzMsIDAuMjgpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXN1ZG9rdV0gLnByb2ZpbGUtZ2FtZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDAsIDExMCwgNzQsIDAuMTUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTQwLCAxMTAsIDc0LCAwLjI3KTtcbn1cblxuLnByb2ZpbGUtZ2FtZS1tZXRhIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucHJvZmlsZS1nYW1lLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnByb2ZpbGUtZ2FtZS1zdWIge1xuICBtYXJnaW46IDAuMnJlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9maWxlLWdhbWUtc3RhdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLXN0YXQge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDNweDtcbn1cblxuLnByb2ZpbGUtZ2FtZS1zdGF0X192YWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjU1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLXN0YXRfX3VuaXQge1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbn1cblxuLnByb2ZpbGUtZ2FtZS1zdGF0X19sYmwge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLXN0YXRfX3NlcCB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMzhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wcm9maWxlLWdhbWUtZW1wdHkge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSAwIHZhcigtLXNwYWNlLTEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnByb2ZpbGUtc2VnLWNvbnRyb2wge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNCkgMCAwO1xufVxuLnByb2ZpbGUtc2VnLWNvbnRyb2wgLnNlZy1jb250cm9sX19vcHRpb24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYmFzZSk7XG59XG5cbi5oaXN0b3J5LWZlZWQge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5oaXN0b3J5LWRheS1sYWJlbCB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNCkgMCB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG4uaGlzdG9yeS1kYXktbGFiZWw6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmhpc3RvcnktZGF5LWRhdGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmhpc3RvcnktZGF5LWdyb3VwIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDUpO1xufVxuXG4uaGlzdG9yeS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ4cHggMWZyIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cbi5oaXN0b3J5LXJvdzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmhpc3RvcnktaWNvbiB7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMTIpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYzLCAxMDcsIDkxLCAwLjIyKTtcbn1cbi5oaXN0b3J5LWljb25bZGF0YS1nYW1lPXdvcmRsZV0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjI2KTtcbn1cbi5oaXN0b3J5LWljb25bZGF0YS1nYW1lPXNwZWxsaW5nX2JlZV0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMzIpO1xufVxuLmhpc3RvcnktaWNvbltkYXRhLWdhbWU9Y29ubmVjdGlvbnNdIHtcbiAgYmFja2dyb3VuZDogcmdiYSg3MSwgMTAyLCAxMzMsIDAuMTYpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNzEsIDEwMiwgMTMzLCAwLjI4KTtcbn1cbi5oaXN0b3J5LWljb25bZGF0YS1nYW1lPXN1ZG9rdV0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0MCwgMTEwLCA3NCwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNDAsIDExMCwgNzQsIDAuMjcpO1xufVxuXG4uaGlzdG9yeS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmhpc3RvcnktZ2FtZS1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uaGlzdG9yeS1zdGF0LWxpbmUge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmhpc3RvcnktcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogM3B4O1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmhpc3RvcnkteHAge1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjN2E1YTE0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaGlzdG9yeS1yZXN1bHQge1xuICBmb250LXNpemU6IDAuNzRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaGlzdG9yeS1yZXN1bHQuaXMtd29uIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmhpc3RvcnktcmVzdWx0LmlzLXBlcmZlY3Qge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4uaGlzdG9yeS1yZXN1bHQuaXMtbG9zdCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmhpc3RvcnktZW1wdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTcpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uaGlzdG9yeS1lbXB0eV9faWNvbiB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uaGlzdG9yeS1lbXB0eV9fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpO1xufVxuXG4uaGlzdG9yeS1lbXB0eV9fc3ViIHtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIC5wcm9maWxlLWF2YXRhciB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC41cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgYm90aDtcbiAgfVxuICAucHJvZmlsZS1yb3ctY2FyZDpudGgtb2YtdHlwZSgxKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40OHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMDVzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtcm93LWNhcmQ6bnRoLW9mLXR5cGUoMikge1xuICAgIGFuaW1hdGlvbjogcHJvZmlsZS1yaXNlIDAuNDhzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSAwLjA5cyBib3RoO1xuICB9XG4gIC5wcm9maWxlLWFjdGlvbiB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40OHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMTNzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtZ2FtZS1jYXJkOm50aC1jaGlsZCgxKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMTZzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtZ2FtZS1jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMjNzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtZ2FtZS1jYXJkOm50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuM3MgYm90aDtcbiAgfVxuICAucHJvZmlsZS1nYW1lLWNhcmQ6bnRoLWNoaWxkKDQpIHtcbiAgICBhbmltYXRpb246IHByb2ZpbGUtcmlzZSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgMC4zN3MgYm90aDtcbiAgfVxufVxuQGtleWZyYW1lcyBwcm9maWxlLXJpc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbi5wcm9maWxlLXBhZ2UgLmFwcC1jb250YWluZXIsIC5wcm9maWxlLXBhZ2UgLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNjgwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NjBweCkge1xuICAucHJvZmlsZS1idG4ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gIH1cbiAgLnByb2ZpbGUtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnByb2ZpbGUtc2VnLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucHJvZmlsZS1nYW1lcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuICAucHJvZmlsZS1hdmF0YXIge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NXJlbTtcbiAgfVxufVxuLmZyaWVuZHMtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxNSUgMTAlLCByZ2JhKDYzLCAxMDcsIDkxLCAwLjIpLCB0cmFuc3BhcmVudCA0NSUpLCByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg1JSAxNSUsIHJnYmEoMTExLCAxMzgsIDE2NSwgMC4xOCksIHRyYW5zcGFyZW50IDM1JSksIHZhcigtLWNvbG9yLWJnKTtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDcwcHgpO1xufVxuXG4uZnJpZW5kcy1oZXJvIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNikgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLmZyaWVuZHMtaW50cm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuXG4uZnJpZW5kcy1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZyaWVuZHMtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmZyaWVuZHMtc3VidGl0bGUge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTIpIGF1dG8gMDtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZnJpZW5kcy1wYW5lbCxcbi5mcmllbmRzLWxpc3Qtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5mcmllbmRzLWxpc3Qtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uZnJpZW5kcy1zZWN0aW9uLWhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZyaWVuZHMtbGluay1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAuNDVyZW0gMC44cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmZyaWVuZHMtbGluay1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZyaWVuZHMtZm9ybSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZnJpZW5kcy1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZnJpZW5kcy1mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5mcmllbmRzLWZvcm0tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5mcmllbmRzLWlucHV0IHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgcGFkZGluZzogMC42NXJlbSAwLjhyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmZyaWVuZHMtc3VibWl0IHtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDAuNjVyZW0gMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZnJpZW5kcy1saXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5mcmllbmRzLWNhcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuZnJpZW5kcy1jYXJkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIH1cbn1cblxuLmZyaWVuZHMtY2FyZC1wcm9maWxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmZyaWVuZHMtbmFtZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZyaWVuZHMtdXNlcm5hbWUge1xuICBtYXJnaW46IDAuMXJlbSAwIDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmZyaWVuZHMtZW1haWwge1xuICBtYXJnaW46IDAuMnJlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZnJpZW5kcy1zdGF0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuZnJpZW5kcy1zdGF0cyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxufVxuXG4uZnJpZW5kcy1yZW1vdmUge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJhY2tncm91bmQ6ICNmOGViZTk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwLjU1cmVtIDAuOHJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZnJpZW5kcy1lbXB0eSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLmZyaWVuZHMtZW1wdHktdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5mcmllbmRzLWVtcHR5LWNvcHkge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTIpIDAgMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc3RhbmRpbmdzLXBhZ2Uge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZS03KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG59XG5cbi5zdGFuZGluZ3MtaGVybyB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTUlIDAlLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCksIHRyYW5zcGFyZW50IDU1JSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODUlIDEwJSwgcmdiYSg2MywgMTA3LCA5MSwgMC4xNCksIHRyYW5zcGFyZW50IDUwJSksIHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnN0YW5kaW5ncy1oZXJvX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnN0YW5kaW5ncy10aXRsZSB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTEpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA2dncsIDIuNnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnN0YW5kaW5ncy13ZWVrLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnN0YW5kaW5ncy1teS1wb3NpdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiAzcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhbmRpbmdzLW15LXBvc2l0aW9uX19yYW5rIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uc3RhbmRpbmdzLW15LXBvc2l0aW9uX194cCB7XG4gIGZvbnQtc2l6ZTogMC43N3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM3YTVhMTQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE4KTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDE5NCwgMTYwLCA3NywgMC40KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDAuMThyZW0gMC42cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc3RhbmRpbmdzLW15LXBvc2l0aW9uLS1lbXB0eSAuc3RhbmRpbmdzLW15LXBvc2l0aW9uX19yYW5rIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLnN0YW5kaW5ncy1teS1wb3NpdGlvbi0tZW1wdHkgLnN0YW5kaW5ncy1teS1wb3NpdGlvbl9feHAge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uc3RhbmRpbmdzLWZpbHRlcnMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMjQzLCAyMzgsIDAuODgpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDU4cHg7XG4gIHotaW5kZXg6IDUwO1xufVxuXG4uc2VnLWNvbnRyb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSg1OCwgNDYsIDMzLCAwLjA5KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDNweDtcbiAgZ2FwOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uc2VnLWNvbnRyb2xfX29wdGlvbiB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuMzVlbTtcbiAgcGFkZGluZzogMC40OHJlbSAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cbi5zZWctY29udHJvbF9fb3B0aW9uLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDU4LCA0NiwgMzMsIDAuMTQpLCAwIDAgMCAwLjVweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDYpO1xufVxuXG4uc2VnLWNvbnRyb2xfX2ljb24ge1xuICBmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmZpbHRlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuLmZpbHRlci1yb3cuZmlsdGVyLXJvdy0tc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuLmZpbHRlci1yb3cuZmlsdGVyLXJvdy0tc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5maWx0ZXItdGFiIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4zNWVtO1xuICBwYWRkaW5nOiAwLjQycmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuODdyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWx0ZXItdGFiOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4uZmlsdGVyLXRhYi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5maWx0ZXItdGFiX19pY29uIHtcbiAgZm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5zdGFuZGluZ3MtcG9kaXVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNikgdmFyKC0tc3BhY2UtNCkgMDtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5wb2RpdW0tc2xvdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDE7XG4gIG1heC13aWR0aDogMTMwcHg7XG4gIG1pbi13aWR0aDogOTBweDtcbn1cbi5wb2RpdW0tc2xvdC5pcy1maXJzdCB7XG4gIG9yZGVyOiAyO1xufVxuLnBvZGl1bS1zbG90LmlzLXNlY29uZCB7XG4gIG9yZGVyOiAxO1xufVxuLnBvZGl1bS1zbG90LmlzLXRoaXJkIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5wb2RpdW0tY3Jvd24ge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBhbmltYXRpb246IGNyb3duLWZsb2F0IDIuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgY3Jvd24tZmxvYXQge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG59XG4ucG9kaXVtLWF2YXRhciB7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG4ucG9kaXVtLWF2YXRhci5pcy1tZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnBvZGl1bS1zbG90LmlzLWZpcnN0IC5wb2RpdW0tYXZhdGFyIHtcbiAgd2lkdGg6IDYycHg7XG4gIGhlaWdodDogNjJweDtcbiAgZm9udC1zaXplOiAxLjA1cmVtO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtc2Vjb25kIC5wb2RpdW0tYXZhdGFyIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZm9udC1zaXplOiAwLjg3cmVtO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtdGhpcmQgLnBvZGl1bS1hdmF0YXIge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDAuNzhyZW07XG59XG5cbi5wb2RpdW0tc2xvdC5pcy1maXJzdCAucG9kaXVtLWF2YXRhciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmNWQ4NmIsICNjMmEwNGQpO1xuICBjb2xvcjogIzNhMmExNDtcbn1cblxuLnBvZGl1bS1zbG90LmlzLXNlY29uZCAucG9kaXVtLWF2YXRhciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkNGRkZTQsICM5ZWFhYjYpO1xuICBjb2xvcjogIzNhM2Y0NTtcbn1cblxuLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYXZhdGFyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2U4YzA5YiwgI2M5N2EzZik7XG4gIGNvbG9yOiAjM2EyYTE0O1xufVxuXG4ucG9kaXVtLW5hbWUge1xuICBtYXJnaW46IDAgMCAycHg7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wb2RpdW0teHAge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnBvZGl1bS1iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtZmlyc3QgLnBvZGl1bS1iYXIge1xuICBoZWlnaHQ6IDkwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMTk0LCAxNjAsIDc3LCAwLjI4KSwgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMDgpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMzgpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtc2Vjb25kIC5wb2RpdW0tYmFyIHtcbiAgaGVpZ2h0OiA2NHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDE1OCwgMTcwLCAxODIsIDAuMjIpLCByZ2JhKDE1OCwgMTcwLCAxODIsIDAuMDYpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNTgsIDE3MCwgMTgyLCAwLjMyKTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYmFyIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDIwMSwgMTIyLCA2MywgMC4xOCksIHJnYmEoMjAxLCAxMjIsIDYzLCAwLjA0KSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxMjIsIDYzLCAwLjI4KTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnBvZGl1bS1tZWRhbCB7XG4gIGZvbnQtc2l6ZTogMS4xNXJlbTtcbn1cblxuLnN0YW5kaW5ncy1saXN0IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNik7XG59XG5cbi5zdGFuZGluZ3Mtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0NnB4IDQwcHggMWZyIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjEycyBlYXNlO1xufVxuLnN0YW5kaW5ncy1yb3c6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uc3RhbmRpbmdzLXJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbn1cbi5zdGFuZGluZ3Mtcm93LmlzLW1lIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4wNSk7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZS00KSAtIDNweCk7XG59XG4uc3RhbmRpbmdzLXJvdy5pcy1tZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMDgpO1xufVxuXG4uc3RhbmRpbmdzLXJhbmstY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zdGFuZGluZ3MtbWVkYWwge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zdGFuZGluZ3MtcmFuay1udW0ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGFuZGluZ3MtYXZhdGFyIHtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogMzhweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4uc3RhbmRpbmdzLWF2YXRhci5yYW5rLTEge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjVkODZiLCAjYzJhMDRkKTtcbiAgY29sb3I6ICMzYTJhMTQ7XG59XG4uc3RhbmRpbmdzLWF2YXRhci5yYW5rLTIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZDRkZGU0LCAjOWVhYWI2KTtcbiAgY29sb3I6ICMzYTNmNDU7XG59XG4uc3RhbmRpbmdzLWF2YXRhci5yYW5rLTMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZThjMDliLCAjYzk3YTNmKTtcbiAgY29sb3I6ICMzYTJhMTQ7XG59XG5cbi5zdGFuZGluZ3MtaW5mbyB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnN0YW5kaW5ncy1wbGF5ZXItbmFtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnN0YW5kaW5ncy15b3UtdGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFweCA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuNjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMTQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMjgpO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0YW5kaW5ncy1wbGF5ZXItaGFuZGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NnJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnN0YW5kaW5ncy1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiAycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhbmRpbmdzLXhwLXZhbCB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzdhNWExNDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnN0YW5kaW5ncy1zZXNzaW9ucy12YWwge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnN0YW5kaW5ncy1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNykgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5zdGFuZGluZ3MtZW1wdHlfX2ljb24ge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uc3RhbmRpbmdzLWVtcHR5X190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnN0YW5kaW5ncy1lbXB0eV9fc3ViIHtcbiAgZm9udC1zaXplOiAwLjkzcmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIC5zdGFuZGluZ3MtcG9kaXVtIC5wb2RpdW0tc2xvdCB7XG4gICAgYW5pbWF0aW9uOiBzdGFuZGluZ3MtcmlzZSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSBib3RoO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy1zZWNvbmQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4wNnM7XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLWZpcnN0IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTNzO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy10aGlyZCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE5cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdyB7XG4gICAgYW5pbWF0aW9uOiBzdGFuZGluZ3MtcmlzZSAwLjM1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgYm90aDtcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4wNHM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMDhzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjEycztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoNCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNnM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDUpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDYpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMjRzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCg3KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI4cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoOCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4zMnM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDkpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMzZzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxMCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNDRzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC40OHM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDEzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjUycztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTQpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNTZzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxNSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTYpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNjRzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxNykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC42OHM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDE4KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjcycztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTkpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNzZzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgyMCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC44cztcbiAgfVxufVxuQGtleWZyYW1lcyBzdGFuZGluZ3MtcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zZWctY29udHJvbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAyODBweDtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICB9XG4gIC5zdGFuZGluZ3MtbGlzdCB7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnN0YW5kaW5ncy1wb2RpdW0ge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLWZpcnN0IC5wb2RpdW0tYXZhdGFyIHtcbiAgICB3aWR0aDogNzJweDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy1zZWNvbmQgLnBvZGl1bS1hdmF0YXIge1xuICAgIHdpZHRoOiA1OHB4O1xuICAgIGhlaWdodDogNThweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYXZhdGFyIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy1maXJzdCAucG9kaXVtLWJhciB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAucG9kaXVtLXNsb3QuaXMtc2Vjb25kIC5wb2RpdW0tYmFyIHtcbiAgICBoZWlnaHQ6IDc0cHg7XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYmFyIHtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc3RhbmRpbmdzLWZpbHRlcnMge1xuICAgIHRvcDogNjZweDtcbiAgfVxuICAuc3RhbmRpbmdzLXJvdyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MnB4IDQ0cHggMWZyIGF1dG87XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTtcbiAgfVxuICAuc3RhbmRpbmdzLXJvdy5pcy1tZSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLTUpIC0gM3B4KTtcbiAgfVxuICAuc3RhbmRpbmdzLWF2YXRhciB7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxuICAuc3RhbmRpbmdzLXBsYXllci1uYW1lIHtcbiAgICBmb250LXNpemU6IDAuOTdyZW07XG4gIH1cbn1cbiJdfQ== */