@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);
}

.share-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  min-height: 320px;
  padding: var(--space-6);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: var(--shadow-strong);
  isolation: isolate;
}

.share-card__backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.35), transparent 45%), radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.22), transparent 40%);
  z-index: -1;
}

.share-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.share-card__topline {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}

.share-card__result {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
}

.share-card__emoji {
  font-size: 1.8rem;
}

.share-card__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 3rem);
  line-height: 1;
  color: #fff;
}

.share-card__subtitle {
  margin: 0;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.86);
}

.share-metrics {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-3);
}

.share-metric {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  text-align: center;
}

.share-metric__label {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
}

.share-metric__value {
  display: block;
  margin-top: var(--space-1);
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: #fff;
}

.share-card--wordle {
  background: linear-gradient(145deg, #4c7a69 0%, #2f5848 45%, #1f3f34 100%);
}

.share-card--bee {
  background: linear-gradient(145deg, #d2a13e 0%, #bb7c2a 45%, #8f4d1a 100%);
}

.share-card--connections {
  background: linear-gradient(145deg, #5a6fb1 0%, #4d4f92 45%, #3b356c 100%);
}

.share-actions-panel {
  margin-top: var(--space-4);
}

.share-actions {
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  .share-card {
    min-height: 360px;
    padding: var(--space-5) var(--space-4);
  }
  .share-metrics {
    grid-template-columns: 1fr;
  }
  .share-actions {
    width: 100%;
    gap: var(--space-2);
  }
  .share-actions .btn, .share-actions .btn-outline-primary,
  .share-actions .btn-outline-secondary,
  .share-actions .btn-outline-success,
  .share-actions .btn-outline-danger,
  .share-actions .btn-outline-warning,
  .share-actions .btn-outline-info, .share-actions .btn-info, .share-actions .btn-danger, .share-actions .btn-warning, .share-actions .btn-success {
    flex: 1 1 100%;
    justify-content: center;
  }
}
.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 18% 12%, rgba(79, 122, 104, 0.2), transparent 45%), radial-gradient(circle at 85% 18%, rgba(194, 160, 77, 0.18), transparent 40%), linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent 55%), var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
  overflow: hidden;
}

.home-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 75%, rgba(63, 107, 91, 0.08), transparent 45%), radial-gradient(circle at 90% 60%, rgba(155, 123, 86, 0.12), transparent 45%);
  pointer-events: none;
}

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

.home-intro {
  display: grid;
  gap: var(--space-2);
  text-align: center;
  margin-bottom: var(--space-5);
}

.home-brand {
  align-self: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.75rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  font-weight: 700;
  color: #3b2f22;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(63, 107, 91, 0.2);
  box-shadow: var(--shadow-soft);
}

.home-title {
  margin: 0;
  font-size: 2.1rem;
  line-height: 1.1;
  font-weight: 600;
}

.home-subtitle {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
}

.games-grid {
  display: grid;
  gap: var(--space-4);
}

.game-tile {
  position: relative;
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: calc(var(--radius-lg) + 2px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.game-tile-top {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-3);
  align-items: center;
}

.game-tile-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 1.9rem;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.28);
}

.game-tile-text h2 {
  margin: 0;
  font-size: 1.35rem;
}

.game-tile-text p {
  margin: 0.25rem 0 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
}

.game-tile-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
}

.game-tile-date {
  font-weight: 600;
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

.game-tile-pill {
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(155, 123, 86, 0.15);
  border: 1px solid rgba(155, 123, 86, 0.35);
  color: #6f5235;
  font-weight: 700;
}

.game-tile-actions {
  display: grid;
  gap: var(--space-2);
}

.home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.75rem 1.1rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
}

.home-btn.is-primary {
  background: var(--color-primary);
  color: #f7f3ee;
  box-shadow: 0 10px 20px rgba(63, 107, 91, 0.2);
}

.home-btn.is-primary:hover {
  background: var(--color-primary-strong);
  color: #f7f3ee;
}

.home-btn.is-ghost {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(155, 123, 86, 0.3);
  color: #6f5235;
}

.home-btn-icon {
  font-size: 1rem;
}

.game-tile.is-upcoming {
  opacity: 0.7;
}

.game-tile:nth-child(1) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(220, 239, 232, 0.85));
  border-color: rgba(63, 107, 91, 0.25);
}

.game-tile:nth-child(1) .game-tile-icon {
  background: rgba(63, 107, 91, 0.16);
  border-color: rgba(63, 107, 91, 0.35);
}

.game-tile:nth-child(2) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(236, 227, 199, 0.78));
  border-color: rgba(194, 160, 77, 0.25);
}

.game-tile:nth-child(2) .game-tile-icon {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.35);
}

.game-tile:nth-child(3) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(215, 231, 244, 0.8));
  border-color: rgba(111, 138, 165, 0.3);
}

.game-tile:nth-child(3) .game-tile-icon {
  background: rgba(111, 138, 165, 0.18);
  border-color: rgba(111, 138, 165, 0.35);
}

.game-tile:nth-child(4) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(235, 220, 210, 0.82));
  border-color: rgba(155, 123, 86, 0.3);
}

.game-tile:nth-child(4) .game-tile-icon {
  background: rgba(155, 123, 86, 0.18);
  border-color: rgba(155, 123, 86, 0.35);
}

@media (min-width: 720px) {
  .home-intro {
    text-align: left;
  }
  .home-brand {
    margin: 0;
  }
  .games-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .game-tile-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .games-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: no-preference) {
  .game-tile {
    animation: home-rise 0.6s ease both;
  }
  .game-tile:nth-child(2) {
    animation-delay: 0.08s;
  }
  .game-tile:nth-child(3) {
    animation-delay: 0.16s;
  }
  .game-tile:nth-child(4) {
    animation-delay: 0.24s;
  }
}
@keyframes home-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.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 {
  padding: var(--space-6) 0 var(--space-7);
}
.challenges-page .challenges-header {
  margin-bottom: var(--space-5);
}
.challenges-page .challenges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-4);
}
.challenges-page .challenges-pagination {
  margin-top: var(--space-5);
}
.challenges-page .challenges-footer {
  margin-top: var(--space-5);
  display: flex;
  justify-content: center;
}
.challenges-page .archive-card {
  height: 100%;
  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);
}
.challenges-page .archive-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}
.challenges-page .archive-status-emoji {
  font-size: 1.1rem;
  line-height: 1;
}
.challenges-page .wordle-icon-grid-sm {
  display: grid;
  gap: 4px;
}
.challenges-page .icon-row {
  display: grid;
  grid-template-columns: repeat(3, 10px);
  gap: 4px;
}
.challenges-page .icon-letter-box-sm {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  border: 1px solid var(--color-border-light);
  background: var(--color-surface-alt);
}
.challenges-page .icon-letter-box-sm.correct {
  background: var(--color-correct);
  border-color: var(--color-primary-strong);
}
.challenges-page .icon-letter-box-sm.present {
  background: var(--color-present);
  border-color: #b28a44;
}
.challenges-page .icon-letter-box-sm.absent {
  background: var(--color-absent);
  border-color: var(--color-absent-border);
}
.challenges-page .archive-date {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.challenges-page .date-day {
  font-size: 1.4rem;
  font-weight: 700;
}
.challenges-page .date-month {
  font-size: 0.7rem;
  color: var(--color-text-muted);
}
.challenges-page .archive-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.challenges-page .archive-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}
.challenges-page .archive-weekday {
  font-weight: 600;
}
.challenges-page .completion-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(88, 151, 110, 0.18);
  color: #2f6b45;
  border: 1px solid rgba(88, 151, 110, 0.4);
}
.challenges-page .completion-badge.is-muted {
  background: rgba(155, 123, 86, 0.15);
  border-color: rgba(155, 123, 86, 0.35);
  color: #6f5235;
}
.challenges-page .recent-games-list {
  display: grid;
  gap: var(--space-3);
}
.challenges-page .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);
}
.challenges-page .recent-game-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}
.challenges-page .recent-game-date {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}
.challenges-page .recent-game-label {
  margin: var(--space-1) 0 0;
  font-weight: 600;
}
.challenges-page .recent-game-mode {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
}
.challenges-page .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);
}
.challenges-page .mode-link {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-primary-strong);
  text-decoration: none;
}
.challenges-page .mode-link:hover {
  text-decoration: underline;
}
.challenges-page .recent-game-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-3);
}
.challenges-page .recent-game-stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.challenges-page .recent-game-stat .stat-label {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.challenges-page .recent-game-stat .stat-value {
  font-weight: 600;
}

.spelling-bee-page {
  padding: var(--space-5) 0 var(--space-7);
}

.spelling-bee-panel {
  max-width: 880px;
  margin: 0 auto;
  padding: var(--space-5);
  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-header {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  align-items: center;
}

.bee-kicker {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.bee-title {
  font-size: 2.2rem;
  margin: var(--space-1) 0;
}

.bee-subtitle {
  color: var(--color-text-muted);
  margin: 0;
}

.bee-stats {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  background: var(--color-surface-alt);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
}

.bee-stat {
  display: grid;
  gap: var(--space-1);
}

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

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

.bee-stat-hint {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.bee-message {
  min-height: 32px;
  font-weight: 600;
  text-align: center;
}

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

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

.bee-current-word {
  font-size: 2rem;
  text-align: center;
  letter-spacing: 0.2em;
  font-weight: 700;
  padding: var(--space-2);
  background: var(--color-surface-alt);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
}

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

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

.bee-letter {
  width: 86px;
  height: 76px;
  border: none;
  background: #f6e39a;
  color: #362c14;
  font-size: 1.6rem;
  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-found {
  background: var(--color-surface-alt);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  border: 1px solid var(--color-border-light);
}

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

.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-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: 70px;
    height: 62px;
    font-size: 1.3rem;
  }
  .bee-controls {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.connections-page {
  padding: var(--space-5) 0 var(--space-7);
}

.connections-panel {
  max-width: 960px;
  margin: 0 auto;
  padding: var(--space-5);
  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);
}

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

.connections-kicker {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.connections-title {
  font-size: 2.2rem;
  margin: var(--space-1) 0;
}

.connections-attempts {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  display: grid;
  gap: var(--space-1);
  text-align: center;
}

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

.connections-attempts-value {
  font-size: 1.6rem;
  font-weight: 700;
}

.connections-message {
  min-height: 28px;
  font-weight: 600;
  text-align: center;
}

.connections-message.message-warning {
  color: var(--color-warning);
}

.connections-message.message-success {
  color: var(--color-success);
}

.connections-message.message-error {
  color: var(--color-danger);
}

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

.connections-tile {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface-alt);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.connections-tile:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}

.connections-tile.is-selected {
  background: #efe2c6;
  border-color: #c2a04d;
}

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

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

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

.connections-solved {
  border-radius: var(--radius-md);
  padding: var(--space-3);
  border: 1px solid transparent;
  background: var(--color-surface-alt);
}

.connections-solved-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.connections-category {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
}

.connections-difficulty {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

.connections-words {
  font-weight: 600;
  color: var(--color-text-muted);
}

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

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

.connections-reveal-row {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  background: var(--color-surface-alt);
}

.connections-reveal-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.difficulty-yellow {
  background: rgba(247, 223, 132, 0.4);
  border-color: rgba(194, 160, 77, 0.4);
}

.difficulty-green {
  background: rgba(168, 205, 185, 0.45);
  border-color: rgba(79, 122, 104, 0.4);
}

.difficulty-blue {
  background: rgba(160, 186, 215, 0.45);
  border-color: rgba(111, 138, 165, 0.5);
}

.difficulty-purple {
  background: rgba(196, 175, 214, 0.45);
  border-color: rgba(130, 106, 162, 0.5);
}

@keyframes connections-shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-4px);
  }
  50% {
    transform: translateX(4px);
  }
  75% {
    transform: translateX(-4px);
  }
  100% {
    transform: translateX(0);
  }
}
.sudoku-page .sudoku-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.sudoku-page .sudoku-kicker {
  display: block;
  color: var(--muted, #6b7280);
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}
.sudoku-page .sudoku-title {
  margin: 0;
  font-size: 1.8rem;
}
.sudoku-page .sudoku-difficulty-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.85rem;
  background: #eef2ff;
  color: #1f2937;
}
.sudoku-page .sudoku-difficulty-pill.is-hard {
  background: #fee2e2;
  color: #7f1d1d;
}
.sudoku-page .sudoku-difficulty-pill.is-easy {
  background: #dcfce7;
  color: #14532d;
}
.sudoku-page .sudoku-message {
  min-height: 1.5rem;
  margin-bottom: 0.75rem;
  font-weight: 600;
}
.sudoku-page .sudoku-message.message-warning {
  color: var(--color-warning);
}
.sudoku-page .sudoku-message.message-success {
  color: var(--color-success);
}
.sudoku-page .sudoku-message.message-error {
  color: #b91c1c;
}
.sudoku-page .sudoku-message.message-info {
  color: #1d4ed8;
}
.sudoku-page .sudoku-board-wrap {
  display: flex;
  justify-content: center;
  margin: 1rem 0;
  overflow-x: auto;
}
.sudoku-page .sudoku-board {
  display: grid;
  grid-template-columns: repeat(9, minmax(34px, 44px));
  grid-template-rows: repeat(9, minmax(34px, 44px));
  border: 2px solid #111827;
  background: #fff;
}
.sudoku-page .sudoku-cell {
  border: 1px solid #d1d5db;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
  color: #111827;
  background: #fff;
}
.sudoku-page .sudoku-cell[data-col="2"],
.sudoku-page .sudoku-cell[data-col="5"] {
  border-right: 2px solid #111827;
}
.sudoku-page .sudoku-cell[data-row="2"],
.sudoku-page .sudoku-cell[data-row="5"] {
  border-bottom: 2px solid #111827;
}
.sudoku-page .sudoku-cell.is-given {
  background: #f3f4f6;
  color: #111827;
}
.sudoku-page .sudoku-cell.is-active {
  background: #dbeafe;
  box-shadow: inset 0 0 0 2px #2563eb;
}
.sudoku-page .sudoku-cell.is-conflict {
  background: #fef2f2;
  color: #ef4444;
  box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.35);
}
.sudoku-page .sudoku-cell.is-given.is-conflict {
  background: #fee2e2;
  color: #dc2626;
}
.sudoku-page .sudoku-cell.is-active.is-conflict {
  background: #fee2e2;
  box-shadow: inset 0 0 0 2px rgba(239, 68, 68, 0.75);
}
.sudoku-page .sudoku-cell input {
  width: 100%;
  height: 100%;
  border: 0;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1d4ed8;
  background: transparent;
  outline: none;
  caret-color: transparent;
}
.sudoku-page .sudoku-cell.is-conflict input {
  color: #ef4444;
}
.sudoku-page .sudoku-keyboard {
  margin: 1rem auto;
  max-width: 340px;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.sudoku-page .sudoku-keyboard-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}
.sudoku-page .sudoku-key-button {
  border: 1px solid #d1d5db;
  border-radius: 0.65rem;
  background: #ffffff;
  color: #111827;
  font-weight: 700;
  font-size: 1.1rem;
  min-height: 2.8rem;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s ease, background-color 0.15s ease;
}
.sudoku-page .sudoku-key-button:hover {
  background: #f3f4f6;
}
.sudoku-page .sudoku-key-button:active {
  transform: translateY(1px);
}
.sudoku-page .sudoku-key-button--wide {
  grid-column: 1/-1;
  background: #fee2e2;
  color: #7f1d1d;
  font-size: 1rem;
}
.sudoku-page .sudoku-key-button.is-placeholder {
  visibility: hidden;
  pointer-events: none;
}
.sudoku-page .sudoku-actions-row {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.75rem;
}
.sudoku-page .sudoku-action-btn {
  min-height: 2.8rem;
}
.sudoku-page .sudoku-action-btn--icon {
  width: 2.8rem;
  min-width: 2.8rem;
  border: 1px solid #d1d5db;
  border-radius: 0.65rem;
  background: #ffffff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.1s ease, background-color 0.15s ease;
}
.sudoku-page .sudoku-action-btn--icon:hover {
  background: #f3f4f6;
}
.sudoku-page .sudoku-action-btn--icon:active {
  transform: translateY(1px);
}
.sudoku-page .sudoku-action-btn--check {
  flex: 1;
  max-width: 220px;
}
.sudoku-page .sudoku-board.is-readonly .sudoku-cell {
  background: #f9fafb;
  color: #111827;
}
.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: 20;
}

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

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

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

.nav-link {
  color: var(--color-text-muted);
  text-decoration: none;
  font-weight: 500;
  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: rgba(255, 255, 255, 0.06);
}

.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: rgba(255, 255, 255, 0.06);
}

.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;
}

.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 {
  position: relative;
  background: radial-gradient(circle at 18% 12%, rgba(79, 122, 104, 0.2), transparent 45%), radial-gradient(circle at 85% 18%, rgba(194, 160, 77, 0.18), transparent 40%), linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent 55%), var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
  overflow: hidden;
}

.profile-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 75%, rgba(63, 107, 91, 0.08), transparent 45%), radial-gradient(circle at 90% 60%, rgba(155, 123, 86, 0.12), transparent 45%);
  pointer-events: none;
}

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

.profile-intro {
  display: grid;
  gap: var(--space-2);
  text-align: center;
  margin-bottom: var(--space-5);
}

.profile-social-card {
  display: grid;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  padding: var(--space-4);
  border-radius: calc(var(--radius-lg) + 2px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.profile-social-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-3);
  align-items: center;
}

.profile-avatar {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  font-weight: 700;
  background: rgba(63, 107, 91, 0.14);
  border: 1px solid rgba(63, 107, 91, 0.35);
}

.profile-identity h1 {
  margin: 0;
  font-size: 1.4rem;
}

.profile-identity p {
  margin: 0.2rem 0 0;
  color: var(--color-text-muted);
}

.profile-social-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.profile-metric {
  display: grid;
  gap: 0.1rem;
  text-decoration: none;
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
}

.profile-metric strong {
  font-size: 1.15rem;
  line-height: 1;
}

.profile-metric span {
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

.profile-social-actions {
  display: flex;
  flex-wrap: wrap;
}

.profile-badge {
  align-self: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.7rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  font-weight: 700;
  color: #3b2f22;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(63, 107, 91, 0.2);
  box-shadow: var(--shadow-soft);
}

.profile-title {
  margin: 0;
  font-size: 2.1rem;
  line-height: 1.1;
  font-weight: 600;
}

.profile-subtitle {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
}

.profile-native-header {
  position: relative;
  height: 40px;
}

.native-settings-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--color-border-light);
  background: var(--color-surface);
  color: var(--color-text);
  display: grid;
  place-items: center;
  box-shadow: var(--shadow-soft);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.native-settings-button:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-strong);
}

.profile-native-subtitle {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--color-text-muted);
}

.profile-grid {
  display: grid;
  gap: var(--space-4);
}

.profile-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: calc(var(--radius-lg) + 2px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.profile-card-top {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-3);
  align-items: center;
}

.profile-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 1.9rem;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.28);
}

.profile-card-text h2 {
  margin: 0;
  font-size: 1.35rem;
}

.profile-card-text p {
  margin: 0.25rem 0 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
}

.profile-empty {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.7);
  border: 1px dashed rgba(63, 107, 91, 0.2);
}

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

.profile-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  background: var(--color-primary);
  color: #f7f3ee;
  width: -moz-fit-content;
  width: fit-content;
}

.profile-btn-secondary {
  background: #f8ebe9;
  color: var(--color-danger);
}

.profile-btn-secondary:hover {
  background: #f6dfdb;
  color: var(--color-danger);
}

.profile-btn:hover {
  background: var(--color-primary-strong);
  color: #f7f3ee;
}

.profile-stat-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(63, 107, 91, 0.12);
}

.stat-hero-block {
  display: grid;
  gap: 0.2rem;
}

.stat-hero-label {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.stat-hero-value {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
}

.stat-hero-unit {
  font-size: 1rem;
  color: var(--color-text-muted);
  margin-left: 0.1rem;
}

.profile-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: var(--space-4);
       column-gap: var(--space-4);
  row-gap: var(--space-4);
}

.profile-stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.profile-stat-label {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.profile-stat-value {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-text);
}

.profile-stat-value.is-large {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}

.profile-card:nth-child(1) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(220, 239, 232, 0.85));
  border-color: rgba(63, 107, 91, 0.25);
}

.profile-card:nth-child(1) .profile-icon {
  background: rgba(63, 107, 91, 0.16);
  border-color: rgba(63, 107, 91, 0.35);
}

.profile-card:nth-child(2) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(236, 227, 199, 0.78));
  border-color: rgba(194, 160, 77, 0.25);
}

.profile-card:nth-child(2) .profile-icon {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.35);
}

.profile-card:nth-child(3) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(215, 231, 244, 0.8));
  border-color: rgba(111, 138, 165, 0.3);
}

.profile-card:nth-child(3) .profile-icon {
  background: rgba(111, 138, 165, 0.18);
  border-color: rgba(111, 138, 165, 0.35);
}

@media (min-width: 720px) {
  .profile-intro {
    text-align: left;
  }
  .profile-badge {
    margin: 0;
  }
  .profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .profile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: no-preference) {
  .profile-card {
    animation: profile-rise 0.6s ease both;
  }
  .profile-card:nth-child(2) {
    animation-delay: 0.08s;
  }
  .profile-card:nth-child(3) {
    animation-delay: 0.16s;
  }
}
@keyframes profile-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.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 .standings-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}

.standings-page .standings-filter-group {
  min-width: 180px;
}

.standings-page .standings-filter-group label {
  display: block;
  font-size: 0.85rem;
  margin-bottom: 6px;
  color: var(--text-muted);
}

.standings-table-wrap {
  overflow-x: auto;
}

.standings-table {
  width: 100%;
  border-collapse: collapse;
}

.standings-table th,
.standings-table td {
  padding: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  text-align: left;
  white-space: nowrap;
}

.standings-player-name {
  display: block;
  font-weight: 600;
}

.standings-player-username {
  display: block;
  font-size: 0.85rem;
  color: var(--text-muted);
}

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