@charset "UTF-8";
:root {
  --pink: #e11d48;
  --pink-light: #fb7185;
  --bg: #0b0b0f;
  --card: #111827;
  --text: #f9fafb;
  --muted: #9ca3af;
  --border: rgba(255,255,255,0.08);
}

/* RESET */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: Inter, system-ui, sans-serif;
  background: radial-gradient(circle at top left, #2b0f1a, #050507 55%);
  color: var(--text);
  min-height: 100vh;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
}

/* Botão Voltar (topo esquerdo) — âncora com aparência de botão */
.advogado-back-nav {
  margin: -24px 0 28px;
}

a.advogado-back-btn,
a.advogado-back-btn:visited,
a.advogado-back-btn:hover,
a.advogado-back-btn:active,
a.advogado-back-btn:focus,
a.advogado-back-btn:focus-visible {
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-underline-offset: 0;
}

.advogado-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.55rem 1.1rem 0.55rem 0.85rem;
  margin-left: -0.5rem;
  cursor: pointer;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, #111827, #0b0b0f);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  -webkit-font-smoothing: antialiased;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

a.advogado-back-btn .advogado-back-btn__text,
a.advogado-back-btn:visited .advogado-back-btn__text {
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.advogado-back-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  color: #fff !important;
}

.advogado-back-btn__icon i,
.advogado-back-btn__icon i::before {
  color: inherit !important;
  font-size: 1.05rem;
}

a.advogado-back-btn:hover {
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  background: linear-gradient(180deg, #1e293b, #111827);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  transform: translateX(-1px);
}

a.advogado-back-btn:active {
  background: linear-gradient(180deg, #0f172a, #0b0b0f);
  transform: translateX(0);
}

a.advogado-back-btn:focus-visible {
  outline: 2px solid var(--pink-light);
  outline-offset: 3px;
  background: linear-gradient(180deg, #1e293b, #111827);
}

/* =========================
   HERO
========================= */
.hero {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 64px;
  align-items: center;
  margin-bottom: 80px;
}

.hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 20px;
}

.hero h1 span {
  color: var(--pink);
}

.hero p {
  color: var(--muted);
  font-size: 1.05rem;
  max-width: 520px;
  margin-bottom: 36px;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

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

.hero-photo img,
.hero-photo .hero-photo__placeholder {
  max-width: 360px;
  width: 100%;
  border-radius: 28px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.6);
  display: block;
  margin: 0 auto;
}

.hero-photo .hero-photo__placeholder {
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}

/* BOTÕES */
.btn {
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.btn-primary {
  background: linear-gradient(135deg, var(--pink), var(--pink-light));
  color: #fff;
  box-shadow: 0 0 30px rgba(225, 29, 72, 0.45);
}

.btn-outline {
  border: 2px solid var(--pink);
  color: var(--pink);
  background: transparent;
}

/* =========================
   INFO GRID
========================= */
.info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 90px;
}

.info-card {
  background: linear-gradient(180deg, #111827, #0b0b0f);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 26px 22px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
}

.info-card i {
  font-size: 22px;
  color: var(--pink);
  margin-bottom: 12px;
}

.info-card strong {
  display: block;
  font-size: 1.3rem;
  margin-bottom: 4px;
}

.info-card span {
  font-size: 0.8rem;
  color: var(--muted);
}

/* =========================
   SEÇÕES / TAGS
========================= */
.section {
  margin-bottom: 90px;
}

.section h2 {
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 18px;
  text-align: center;
}

.section h2 span {
  color: var(--pink);
}

.section-muted {
  text-align: center;
  color: var(--muted);
  font-size: 0.95rem;
  margin-top: 8px;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 28px;
}

.tag {
  background: rgba(225, 29, 72, 0.12);
  color: var(--pink-light);
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid rgba(225, 29, 72, 0.25);
}

/* =========================
   CONTATO
========================= */
.contact {
  background: linear-gradient(180deg, #0f172a, #020617);
  border-radius: 28px;
  padding: 48px 32px;
  text-align: center;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7);
}

.contact h3 {
  font-size: 1.8rem;
  font-weight: 800;
  margin-bottom: 14px;
}

.contact p {
  color: var(--muted);
  margin-bottom: 28px;
}

/* =========================
   MODAL
========================= */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  align-items: center;
  justify-content: center;
  z-index: 999;
}

.modal.active {
  display: flex;
}

.modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: none;
  color: #fff;
  font-size: 26px;
  cursor: pointer;
}

.state-link--muted {
  color: var(--muted);
  cursor: default;
}

body.modal-map-open {
  overflow: hidden;
}

#modal-map.modal-map {
  padding: 12px;
  background: radial-gradient(ellipse 120% 80% at 50% 0%, rgba(225, 29, 72, 0.28), rgba(15, 23, 42, 0.92));
  backdrop-filter: blur(14px);
  align-items: center;
  justify-content: center;
}

@media (min-width: 640px) {
  #modal-map.modal-map {
    padding: clamp(16px, 3vw, 32px);
  }
}
#modal-map.modal-map.active .modal-map-dialog {
  animation: modalMapDialogIn 0.38s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes modalMapDialogIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.modal-map-dialog {
  position: relative;
  width: min(1320px, 100vw - 24px);
  height: min(920px, 100vh - 24px);
  max-height: calc(100vh - 24px);
  display: flex;
  flex-direction: column;
  border-radius: clamp(18px, 2vw, 28px);
  overflow: hidden;
  background: #0f172a;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 4px 24px rgba(0, 0, 0, 0.35), 0 32px 80px rgba(0, 0, 0, 0.55), 0 0 80px rgba(225, 29, 72, 0.12);
}

@media (max-width: 639px) {
  .modal-map-dialog {
    width: calc(100vw - 16px);
    height: calc(100vh - 16px);
    max-height: none;
    border-radius: 18px;
  }
}
.modal-map-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(12px, 2vw, 24px);
  padding: clamp(18px, 2.5vw, 28px) clamp(18px, 2.5vw, 32px);
  background: linear-gradient(180deg, #111827 0%, #0b0b0f 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.modal-map-header-main {
  min-width: 0;
  text-align: left;
}

.modal-map-eyebrow {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pink-light);
  display: flex;
  align-items: center;
  gap: 8px;
}

.modal-map-title {
  margin: 0 0 8px;
  font-size: clamp(1.45rem, 3.2vw, 2.15rem);
  font-weight: 800;
  line-height: 1.15;
  color: #f8fafc;
  letter-spacing: -0.02em;
}

.modal-map-title span {
  color: var(--pink);
}

.modal-map-subtitle {
  margin: 0;
  font-size: clamp(0.95rem, 1.6vw, 1.1rem);
  font-weight: 600;
  color: #94a3b8;
  line-height: 1.4;
}

.modal-map-close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: #f1f5f9;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.modal-map-close:hover {
  background: rgba(225, 29, 72, 0.22);
  border-color: rgba(251, 113, 133, 0.55);
  box-shadow: 0 0 28px rgba(225, 29, 72, 0.25);
}

.modal-map-close:active {
  transform: scale(0.98);
}

.modal-map-close-x {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 400;
  margin-top: -2px;
}

.modal-map-close-text {
  font-size: 0.82rem;
  letter-spacing: 0.03em;
}

.modal-map-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(12px, 1.8vw, 20px) clamp(14px, 2vw, 28px) clamp(14px, 2vw, 24px);
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
}

.modal-map-ratio {
  position: relative;
  flex: 1;
  width: 100%;
  min-height: min(52vh, 560px);
  border-radius: clamp(14px, 1.5vw, 22px);
  overflow: hidden;
  background: #e2e8f0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08), 0 20px 50px rgba(0, 0, 0, 0.45);
}

@media (max-width: 639px) {
  .modal-map-ratio {
    min-height: 42vh;
  }
}
.modal-map-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.modal-map-footer {
  flex-shrink: 0;
  padding: clamp(16px, 2vw, 22px) clamp(18px, 2.5vw, 32px) clamp(18px, 2.5vw, 28px);
  text-align: center;
  background: linear-gradient(180deg, #0b0b0f 0%, #020617 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.modal-map-external {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 32px;
  border-radius: 999px;
  font-size: clamp(0.9rem, 1.4vw, 1rem);
  font-weight: 700;
  text-decoration: none;
  color: #fff !important;
  background: linear-gradient(135deg, var(--pink), var(--pink-light));
  box-shadow: 0 0 32px rgba(225, 29, 72, 0.45);
  border: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.modal-map-external:hover {
  color: #fff !important;
  opacity: 0.95;
  transform: translateY(-2px);
  box-shadow: 0 0 40px rgba(225, 29, 72, 0.55);
  text-decoration: none;
}

.modal-map-external:active {
  transform: translateY(0);
}

.modal-map-external i {
  font-size: 0.85rem;
  opacity: 0.95;
}

/* =========================
   CARTÃO DE VISITA (FINAL)
========================= */
.cartao {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 2fr;
  width: 560px;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--pink), #6a0572);
  color: #fff;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.7);
}

/* QR CODE ESQUERDA */
.cartao-left {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qrcode-box {
  background: #fff;
  padding: 12px;
  border-radius: 12px;
}

/* INFO DIREITA */
.cartao-right {
  padding: 26px 32px;
}

.cartao-right h3 {
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 4px;
}

.cartao-right .cargo {
  font-size: 0.85rem;
  opacity: 0.85;
  margin-bottom: 18px;
}

.contatos {
  list-style: none;
  margin-bottom: 16px;
}

.contatos li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.85rem;
  margin-bottom: 8px;
  cursor: pointer;
}

.contatos i {
  width: 18px;
  text-align: center;
}

/* TAGS DO CARTÃO */
.cartao-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cartao-tags span {
  font-size: 0.65rem;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.25);
}

/* CONTAINER DO CARTÃO + AÇÕES */
.cartao-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* AÇÕES SEMPRE ABAIXO */
.acoes {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  justify-content: center;
  width: 100%;
}

/* ===== FLUXO PREMIUM ===== */
.flow-pro {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 26px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.flow-pro-step {
  width: 190px;
  background: linear-gradient(180deg, #111827, #0b0b0f);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 26px 22px;
  text-align: center;
  opacity: 0.35;
  transform: scale(0.92);
  transition: 0.5s ease;
  position: relative;
}

.flow-pro-step.active {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 0 0 rgba(225, 29, 72, 0);
  animation: pulseGlow 1.6s infinite;
}

.flow-pro-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pink), var(--pink-light));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  color: #fff;
  font-size: 20px;
}

.flow-pro-step strong {
  display: block;
  margin-bottom: 6px;
  font-size: 0.95rem;
}

.flow-pro-step span {
  font-size: 0.75rem;
  color: var(--muted);
}

/* LINHA */
.flow-pro-line {
  width: 52px;
  height: 2px;
  background: linear-gradient(to right, var(--pink), transparent);
  margin-top: 52px;
  opacity: 0.25;
  transition: 0.5s ease;
}

.flow-pro-line.active {
  opacity: 1;
}

.state-link {
  color: #ffffff; /* branco */
  text-decoration: none; /* remove sublinhado */
  font-weight: 800; /* mantém destaque */
}

.state-link:hover,
.state-link:focus {
  color: #ffffff; /* não muda no hover */
  text-decoration: none;
}

/* ANIMAÇÃO DE DESTAQUE */
@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 rgba(225, 29, 72, 0);
  }
  50% {
    box-shadow: 0 0 30px rgba(225, 29, 72, 0.45);
  }
  100% {
    box-shadow: 0 0 0 rgba(225, 29, 72, 0);
  }
}
/* MOBILE */
@media (max-width: 900px) {
  .flow-pro {
    flex-direction: column;
    align-items: center;
  }
  .flow-pro-line {
    width: 2px;
    height: 34px;
    background: linear-gradient(to bottom, var(--pink), transparent);
    margin: 10px 0;
  }
}
/* =========================
   RESPONSIVO
========================= */
@media (max-width: 992px) {
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .cartao {
    grid-template-columns: 1fr;
    width: 92%;
  }
  .cartao-left {
    padding: 18px;
  }
  .info-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================
   IMPRESSÃO / PDF (cartão)
========================= */
@media print {
  @page {
    margin: 12mm;
    size: auto;
  }
  .advogado-back-nav {
    display: none !important;
  }
  html,
  body {
    background: #fff !important;
    color: #000 !important;
  }
  /* Página só do cartão (modal aberto a partir do perfil) */
  body.advogado-print-cartao .container > *:not(#modal) {
    display: none !important;
  }
  body.advogado-print-cartao #modal {
    position: static !important;
    display: block !important;
    background: #fff !important;
    box-shadow: none !important;
    inset: auto !important;
    padding: 0 !important;
  }
  body.advogado-print-cartao #modal .modal-close,
  body.advogado-print-cartao #modal .acoes,
  body.advogado-print-cartao #modal .advogado-cartao-toolbar {
    display: none !important;
    visibility: hidden !important;
  }
  body.advogado-print-cartao #cartao {
    box-shadow: none !important;
    transform: none !important;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    page-break-inside: avoid;
  }
  /* Página /cartao/:item (só o cartão no yield) */
  body.advogado-cartao-only .cartao-wrapper > .acoes,
  body.advogado-cartao-only .modal-close {
    display: none !important;
  }
  body.advogado-cartao-only .container {
    max-width: none !important;
    padding: 0 !important;
  }
}
/* =========================================================
   VARIÁVEIS
========================================================= */
:root {
  --primary: #e63a5a;
  --secondary: #5b4a8f;
  --brand: #7b003b;
  --bg-cream: #fff6e8;
  --bg-gradient: linear-gradient(
          180deg,
          #fff6e8 0%,
          #ffd1da 55%,
          #f26a84 100%
  );
  --text-main: #1f2937;
  --text-muted: #4b5563;
  --border: #e5e7eb;
  --white: #ffffff;
}

/* =========================================================
   PAGE
========================================================= */
:root {
  --pink:#e83a5f;
  --pink-dark:#c92b4c;
  --purple:#5b4b8a;
  --bg:#fff4ee;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:rgba(0,0,0,.08);
  --radius:22px;
}

.cadastroPage {
  background: linear-gradient(180deg, #fff4ee 0%, #ffd6df 60%, #ff9db0 100%);
}

/* HEADER */
.headerCadastro {
  text-align: center;
  margin-bottom: 70px;
}

.headerCadastro h1 {
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  font-weight: 900;
  color: var(--pink-dark);
  margin-bottom: 12px;
}

/* GRID */
.options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 32px;
}

.option-card {
  background: var(--card);
  border-radius: var(--radius);
  padding: 34px 30px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.3s ease;
}

.option-card:hover {
  transform: translateY(-6px);
}

.option-card h3 {
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.option-card p {
  font-size: 0.95rem;
  color: var(--muted);
  line-height: 1.4;
  margin-bottom: 26px;
}

.btn {
  display: inline-block;
  text-align: center;
  padding: 14px 26px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 800;
  text-decoration: none;
  color: #fff;
  transition: 0.25s ease;
}

.btn-pink {
  background: var(--pink);
}

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

.btn:hover {
  filter: brightness(1.05);
}

/* =========================================================
   RESET / BASE
========================================================= */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text-main);
  background: var(--white);
}

.text-pink {
  color: #e63a5a;
}

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

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* =========================================================
   TOPBAR
========================================================= */
.topbar {
  background: var(--bg-cream);
  font-size: 0.85rem;
}

.topbar-inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  padding: 10px 0;
}

.topbar a {
  text-decoration: none;
  color: var(--text-main);
}

/* =========================================================
   HEADER
========================================================= */
.header {
  background: var(--bg-cream);
  border-bottom: 1px solid #f1e6d6;
}

.header-inner {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand {
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--brand);
  font-size: 0.95rem;
}

.header .navbar-logo {
  height: 50px;
  width: auto;
  max-width: min(260px, 56vw);
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

/* Login — logo em tamanho natural (o tema .app-brand-logo.demo força 34×24px; não usar demo aqui) */
.authentication-wrapper.authentication-cover .auth-cover-brand.app-brand {
  overflow: visible;
}

.authentication-wrapper.authentication-cover .auth-cover-brand .app-brand-logo--auth-cover {
  overflow: visible;
  width: auto;
  height: auto;
  min-height: 0;
  display: block;
}

.auth-cover-brand-logo {
  width: auto;
  height: auto;
  max-width: min(960px, 92vw);
  max-height: none;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
  display: block;
}

.authentication-wrapper.authentication-cover .authentication-inner .auth-cover-bg .auth-login-lawyers-illustration {
  width: auto;
  height: auto;
  max-height: min(58vh, 420px);
  max-width: min(78%, 520px);
  -o-object-fit: contain;
     object-fit: contain;
}

.nav {
  display: flex;
  gap: 18px;
}

.nav a {
  text-decoration: none;
  font-weight: 500;
  color: var(--text-main);
  white-space: nowrap;
}

/* =========================================================
   BOTÕES
========================================================= */
.btn-primary,
.btn-secondary {
  border-radius: 999px;
  padding: 12px 22px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}

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

.btn-secondary {
  background: var(--secondary);
  color: #fff;
}

/* Menu topo — CTAs sólidos (Entrar roxo, Cadastrar vermelho), mesmo peso visual */
.header .header-nav-cta.btn {
  min-width: 7.5rem;
  border-width: 0;
  box-shadow: none;
}

.header .header-nav-cta.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.header .header-nav-cta.btn-primary:hover,
.header .header-nav-cta.btn-primary:focus {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  filter: brightness(1.06);
}

.header .header-nav-cta.btn-secondary {
  background: var(--secondary);
  border-color: var(--secondary);
  color: #fff;
}

.header .header-nav-cta.btn-secondary:hover,
.header .header-nav-cta.btn-secondary:focus {
  background: var(--secondary);
  border-color: var(--secondary);
  color: #fff;
  filter: brightness(1.06);
}

.full {
  width: 100%;
}

/* =========================================================
   HERO
========================================================= */
.hero-gradient {
  position: relative;
  background: var(--bg-gradient);
  /*padding: 96px 0 120px;*/
  padding: 96px 0 0px;
  overflow: hidden;
}

.hero-main {
  #position: relative;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 60px;
  align-items: stretch;
  min-height: 520px;
}

.hero-left {
  z-index: 2;
}

.hero-left h1 {
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--primary);
  margin-bottom: 22px;
  word-break: break-word;
}

.hero-sub {
  font-size: 1.05rem;
  color: var(--text-muted);
  margin-bottom: 36px;
  max-width: 540px;
}

.hero-cards {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding: 0px 0 120px;
}

.hero-card {
  background: #fff;
  padding: 28px;
  border-radius: 24px;
  width: 280px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.hero-card.secondary {
  background: #f7f4ff;
}

.hero-card h3 {
  margin-bottom: 10px;
}

.hero-card p {
  margin-bottom: 14px;
  color: var(--text-muted);
}

.hero-card input {
  width: 100%;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  margin-bottom: 12px;
}

/* === IMAGEM DO HERO — coluna direita, encostada à direita (alinhada à faixa dos cards/botões) === */
.hero-right {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  pointer-events: none;
}

.hero-image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 520px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right bottom;
     object-position: right bottom;
  margin-left: auto;
}

/* LINK "SAIBA MAIS" / TERMOS DE USO */
.link-saiba-mais {
  color: var(--secondary); /* mesma cor do botão secondary */
  text-decoration: none; /* remove sublinhado */
  font-weight: 600;
  margin-left: 4px;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.link-saiba-mais:hover {
  color: #4a3c78; /* roxo um pouco mais escuro no hover */
  opacity: 0.9;
  text-decoration: none;
}

/* =========================
   ESPECIALIDADES
   ========================= */
.specialties-section {
  padding: 64px 0;
  background-color: #f9fafb;
}

.section-title {
  font-weight: 700;
  margin-bottom: 20px;
  color: #111827;
}

.chart-box {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.specialty-item {
  margin-bottom: 18px;
}

.specialty-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: 6px;
  color: #374151;
}

.percent {
  color: #6b7280;
}

.progress {
  height: 10px;
  border-radius: 999px;
  background-color: #e5e7eb;
}

.progress-bar {
  background-color: #e63a5a;
  border-radius: 999px;
}

/* =========================
   AJUSTES DE ESPAÇAMENTO
   ========================= */
.chart-box,
.specialties-box {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.specialty-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  color: #374151;
}

.percent {
  color: #6b7280;
}

.progress {
  height: 10px;
  border-radius: 999px;
  background-color: #e5e7eb;
}

.progress-bar {
  background-color: #e63a5a;
  border-radius: 999px;
}

/* =========================================================
   PLANOS
========================================================= */
.plans-section {
  background: var(--bg-cream);
  padding: 96px 0;
}

.plans-section-correspondente {
  padding: 60px 0 !important;
}

/* Currículo público /curriculum/:id — botão Voltar (âncora estilizada) */
.curriculum-cv a.curriculum-cv__back-btn,
.curriculum-cv a.curriculum-cv__back-btn:visited,
.curriculum-cv a.curriculum-cv__back-btn:hover,
.curriculum-cv a.curriculum-cv__back-btn:active,
.curriculum-cv a.curriculum-cv__back-btn:focus,
.curriculum-cv a.curriculum-cv__back-btn:focus-visible {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.55rem 1.15rem 0.55rem 0.9rem;
  cursor: pointer;
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-underline-offset: 0;
  font-weight: 600;
  font-size: 0.9375rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #111827, #0b0b0f);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.curriculum-cv a.curriculum-cv__back-btn:hover,
.curriculum-cv a.curriculum-cv__back-btn:focus-visible {
  background: linear-gradient(180deg, #1e293b, #111827);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}

.curriculum-cv a.curriculum-cv__back-btn:focus-visible {
  outline: 2px solid #fb7185;
  outline-offset: 3px;
}

.curriculum-cv a.curriculum-cv__back-btn:active {
  transform: translateY(1px);
}

.curriculum-cv a.curriculum-cv__back-btn .curriculum-cv__back-btn__text {
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.curriculum-cv a.curriculum-cv__back-btn .curriculum-cv__back-btn__icon,
.curriculum-cv a.curriculum-cv__back-btn .curriculum-cv__back-btn__icon i,
.curriculum-cv a.curriculum-cv__back-btn .curriculum-cv__back-btn__icon i::before {
  color: #fff !important;
  text-decoration: none !important;
}

.curriculum-cv a.curriculum-cv__back-btn .curriculum-cv__back-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.curriculum-cv .curriculum-cv__header {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.curriculum-cv .curriculum-cv__kicker {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7280;
}

.curriculum-cv .curriculum-cv__name {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: #111827;
  line-height: 1.2;
}

/* Foto do currículo — formato 3:4 (retrato), cantos suaves tipo foto documento */
.curriculum-cv .curriculum-cv__photo-frame {
  padding: 5px;
  border-radius: 1.5rem;
  background: linear-gradient(145deg, #e63a5a 0%, #5b4a8f 52%, #10b981 100%);
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.12), 0 4px 8px rgba(230, 58, 90, 0.08);
  flex-shrink: 0;
}

.curriculum-cv .curriculum-cv__photo-frame .curriculum-cv__photo {
  display: block;
  width: 180px;
  height: auto;
  aspect-ratio: 3/4;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 15%;
     object-position: center 15%;
  border-radius: 1.125rem;
  border: none;
  box-shadow: none;
}

@media (min-width: 768px) {
  .curriculum-cv .curriculum-cv__photo-frame .curriculum-cv__photo {
    width: 210px;
  }
  .curriculum-cv .curriculum-cv__photo-frame {
    padding: 6px;
    border-radius: 1.65rem;
  }
  .curriculum-cv .curriculum-cv__photo-frame .curriculum-cv__photo {
    border-radius: 1.25rem;
  }
}
@media (min-width: 992px) {
  .curriculum-cv .curriculum-cv__photo-frame .curriculum-cv__photo {
    width: 240px;
  }
}
.curriculum-cv .curriculum-cv__photo--illustration {
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #f3f4f6;
}

.curriculum-directory-table__avatar--illustration {
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
}

.curriculum-cv .curriculum-cv__photo-placeholder {
  width: 180px;
  aspect-ratio: 3/4;
  min-width: 120px;
  font-size: 2rem;
  border: 3px solid #e5e7eb;
  border-radius: 1.125rem;
}

.curriculum-cv .curriculum-cv__about p:last-child {
  margin-bottom: 0;
}

.curriculum-cv .curriculum-cv__about {
  font-size: 0.98rem;
  line-height: 1.65;
}

.curriculum-cv .curriculum-cv__contact-list strong {
  color: #111827;
}

.curriculum-cv .map-container {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}

.curriculum-cv .curriculum-cv__header--hero {
  position: relative;
  background: linear-gradient(135deg, #ffffff 0%, #f9fafb 55%, #fff5f7 100%);
  border: 1px solid rgba(230, 58, 90, 0.12);
}

.curriculum-cv .curriculum-cv__header--hero::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #e63a5a, #5b4a8f, #10b981);
  border-radius: 1rem 1rem 0 0;
}

@media (min-width: 992px) {
  .curriculum-cv .curriculum-cv__sidebar-sticky {
    position: sticky;
    top: 1.25rem;
    align-self: flex-start;
  }
}
.curriculum-cv .curriculum-cv__address-lines {
  line-height: 1.6;
  white-space: pre-line;
}

.curriculum-cv .curriculum-cv__empty-hint {
  background: #fafafa;
}

.curriculum-cv .curriculum-records-show--public {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.curriculum-cv .curriculum-record-show--card {
  padding: 1.1rem 1.15rem 1.15rem 1.25rem;
  border-radius: 12px;
  border: 1px solid #eef0f3;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  border-left: 3px solid #e63a5a;
}

.curriculum-cv .curriculum-record-show--card .curriculum-record-show__kind {
  letter-spacing: 0.04em;
}

/* Listas em cards (currículo / correspondente) */
.plans-section-correspondente ul.list-simple,
.profile-card ul.list-simple {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.plans-section-correspondente ul.list-simple li,
.profile-card ul.list-simple li {
  padding: 0.35rem 0;
  border-bottom: 1px solid #f3f4f6;
}

.plans-section-correspondente ul.list-simple li:last-child,
.profile-card ul.list-simple li:last-child {
  border-bottom: none;
}

.plans-section-correspondente ul.list-columns,
.profile-card ul.list-columns {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .plans-section-correspondente ul.list-columns,
  .profile-card ul.list-columns {
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }
}
.plans-section-correspondente ul.list-columns li,
.profile-card ul.list-columns li {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  padding: 0.25rem 0;
}

.plans-hint {
  text-align: center;
  font-size: 0.95rem;
  color: #374151;
  margin-bottom: 46px;
}

.plans-hint a {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
}

.plans-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.plan-card {
  background: #fff;
  border-radius: 24px;
  padding: 34px 28px 36px;
  position: relative;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
}

.plan-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  border-radius: 24px 24px 0 0;
}

.plan-digital .plan-top {
  background: #7b003b;
}

.plan-starter .plan-top {
  background: #e63a5a;
}

.plan-basic .plan-top {
  background: #1f8f63;
}

.plan-plus .plan-top {
  background: #42aefa;
}

.plan-card h3 {
  margin-top: 22px;
  font-size: 1.6rem;
}

.plan-desc {
  font-size: 0.95rem;
  color: var(--text-muted);
  margin: 14px 0 22px;
}

.plan-label {
  font-size: 0.7rem;
  font-weight: 600;
  color: #6b7280;
}

.plan-price {
  font-size: 1.8rem;
  font-weight: 800;
  margin: 10px 0 22px;
}

.plan-price small {
  font-size: 0.85rem;
  font-weight: 500;
}

.plan-btn {
  background: var(--secondary);
  color: #fff;
  border-radius: 999px;
  padding: 14px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 26px;
}

.login-btn {
  background: var(--secondary);
  color: #fff;
  border-radius: 999px;
  padding: 14px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  /*margin-bottom: 26px;*/
}

/* =========================================================
   SERVIÇOS DISPONÍVEIS – CSS COMPLETO
========================================================= */
.services-section {
  background-color: rgb(216, 56, 94);
  padding: 90px 0;
}

/* HEADER */
.services-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 56px;
}

.services-header h2 {
  font-size: 2.4rem;
  font-weight: 800;
  margin-bottom: 12px;
  color: #ffffff;
}

.services-header p {
  font-size: 1.05rem;
  color: #ffe4ec;
}

/* GRID */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* COLUNA */
.services-column {
  background: #ffffff;
  border-radius: 20px;
  padding: 26px 22px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.15);
}

/* LISTA */
.services-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.services-list li {
  padding: 14px 0;
  border-bottom: 1px solid #e5e7eb;
  font-weight: 500;
  font-size: 0.95rem;
  color: #1f2937;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.services-list li:last-child {
  border-bottom: none;
}

/* ÍCONE SETA */
.services-list li::after {
  content: "››";
  font-weight: 700;
  color: rgb(216, 56, 94);
}

/* HOVER */
.services-list li:hover {
  color: rgb(216, 56, 94);
}

/* =========================================================
   HIGHLIGHT SECTION COM VÍDEO
========================================================= */
.highlight-section {
  background: #fff6e8;
  padding: 90px 0;
}

.highlight-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
}

/* TEXTO */
.highlight-text {
  max-width: 560px;
}

.highlight-eyebrow {
  display: block;
  font-size: 0.8rem;
  letter-spacing: 2px;
  font-weight: 600;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 14px;
}

.highlight-text h2 {
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 18px;
}

.highlight-text p {
  font-size: 1.05rem;
  color: #4b5563;
  margin-bottom: 32px;
}

/* VÍDEO */
.highlight-media {
  display: flex;
  justify-content: flex-end;
}

.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 16/9;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
  background: #000;
}

.video-wrapper iframe,
.video-wrapper video {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* =========================================================
   RESPONSIVO
========================================================= */
@media (max-width: 992px) {
  .highlight-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .highlight-text {
    margin: 0 auto;
  }
  .highlight-media {
    justify-content: center;
    margin-top: 32px;
  }
}
/* SEARCH – CORRESPONDENTES */
select.search-input {
  padding-right: 48px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px;
}

.search-box {
  margin-top: 28px;
  position: relative;
  width: 100%;
  /*max-width: 900px;*/
}

.search-input {
  width: 100%;
  height: 56px;
  padding: 0 56px 0 20px;
  border-radius: 14px;
  border: none;
  outline: none;
  font-size: 1rem;
  background-color: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.search-input::-moz-placeholder {
  color: #9ca3af;
}

.search-input::placeholder {
  color: #9ca3af;
}

.search-btn {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  color: #374151;
}

.correspondente-public-search .search-box--leading-icon .search-box__leading-icon {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  color: #9ca3af;
  font-size: 1.05rem;
  line-height: 1;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.correspondente-public-search .search-input--leading-icon {
  padding-left: 52px;
  padding-right: 128px;
}

.correspondente-public-search .search-box .search-btn {
  top: 0;
  right: 0;
  transform: none;
  height: 100%;
  min-width: 118px;
  border-radius: 0 14px 14px 0;
  background: #e5e7eb;
  color: #374151;
  font-size: 0.92rem;
  font-weight: 600;
  padding: 0 16px;
}

.correspondente-public-search .search-box .search-btn:hover,
.correspondente-public-search .search-box .search-btn:focus-visible {
  background: #d1d5db;
}

.correspondente-public-search .search-box .search-btn:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(107, 114, 128, 0.35);
}

/* Filtro lateral /correspondente — botão compacto, marca rgb(216, 56, 94) */
.correspondente-sidebar-filters .correspondente-filters__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.5rem;
}

.correspondente-sidebar-filters .correspondente-filters__submit,
.correspondente-sidebar-filters .correspondente-filters__clear {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  flex: 1 1 0;
  min-width: 0;
  min-height: 2.5rem;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.4rem 0.75rem;
  border-radius: 8px;
  text-align: center;
}

.correspondente-sidebar-filters .correspondente-filters__clear:only-child {
  flex: 1 1 auto;
}

.correspondente-sidebar-filters .correspondente-filters__submit {
  --correspondente-filter-accent: rgb(216, 56, 94);
  border: 1px solid var(--correspondente-filter-accent);
  color: var(--correspondente-filter-accent);
  background-color: transparent;
  cursor: pointer;
}

.correspondente-sidebar-filters .correspondente-filters__submit i {
  font-size: 0.88rem;
  opacity: 0.95;
  flex-shrink: 0;
}

.correspondente-sidebar-filters .correspondente-filters__submit:hover,
.correspondente-sidebar-filters .correspondente-filters__submit:focus-visible {
  color: var(--correspondente-filter-accent);
  border-color: var(--correspondente-filter-accent);
  background-color: rgba(216, 56, 94, 0.08);
}

.correspondente-sidebar-filters .correspondente-filters__submit:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(216, 56, 94, 0.25);
  outline: none;
}

.correspondente-sidebar-filters .correspondente-filters__clear {
  border: 1px solid #e5e7eb;
  color: #4b5563;
  background-color: #f3f4f6;
  text-decoration: none;
}

.correspondente-sidebar-filters .correspondente-filters__clear i {
  font-size: 0.88rem;
  flex-shrink: 0;
  color: #6b7280;
}

.correspondente-sidebar-filters .correspondente-filters__clear:hover,
.correspondente-sidebar-filters .correspondente-filters__clear:focus-visible {
  color: #374151;
  border-color: #d1d5db;
  background-color: #e5e7eb;
}

.correspondente-sidebar-filters .correspondente-filters__clear:hover i,
.correspondente-sidebar-filters .correspondente-filters__clear:focus-visible i {
  color: #4b5563;
}

.correspondente-sidebar-filters .correspondente-filters__clear:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(107, 114, 128, 0.25);
  outline: none;
}

/* FUNDO IGUAL AO EXEMPLO */
.services-section {
  padding: 80px 0;
}

.services-header h2 {
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 800;
  margin-bottom: 8px;
}

.services-header p {
  color: #e5e7eb;
  font-size: 1.1rem;
  margin-bottom: 24px;
}

/* BANNER ROTATIVO - /vagas */
/* Sobrescreve o fundo rosa de .services-section só nesta página */
section.services-section.vagas-banner-section {
  background-color: #ffffff;
  background-image: none;
  padding-top: 56px;
  padding-bottom: 24px;
}

.vagas-banner-rotator {
  position: relative;
  width: 100%;
  height: 320px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.22);
}

.vagas-banner-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: vagas-banner-rotate 18s infinite;
  background-size: cover;
  background-position: center;
}

.vagas-banner-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.78) 0%, rgba(15, 23, 42, 0.45) 45%, rgba(15, 23, 42, 0.2) 100%);
}

.vagas-banner-slide--1 {
  background-image: url("https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=1600&q=80");
  animation-delay: 0s;
}

.vagas-banner-slide--2 {
  background-image: url("https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&w=1600&q=80");
  animation-delay: 6s;
}

.vagas-banner-slide--3 {
  background-image: url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1600&q=80");
  animation-delay: 12s;
}

.vagas-banner-overlay {
  position: relative;
  z-index: 1;
  display: flex;
  height: 100%;
  width: min(680px, 100%);
  flex-direction: column;
  justify-content: center;
  padding: 28px 34px;
  color: #fff;
}

.vagas-banner-overlay h2 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.01em;
}

.vagas-banner-overlay p {
  margin: 0;
  color: rgba(229, 231, 235, 0.95);
  font-size: clamp(0.95rem, 1.5vw, 1.12rem);
}

@keyframes vagas-banner-rotate {
  0% {
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  38% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* RESPONSIVO */
@media (max-width: 768px) {
  .search-input {
    height: 52px;
    font-size: 0.95rem;
  }
  .services-header h2 {
    font-size: 1.7rem;
  }
  .services-header p {
    font-size: 1rem;
  }
  .vagas-banner-rotator {
    height: 250px;
  }
  .vagas-banner-overlay {
    padding: 20px;
  }
}
@media (max-width: 480px) {
  .highlight-text h2 {
    font-size: 2rem;
  }
}
/* =========================
   FLUXO VERTICAL
   ========================= */
.flow-vertical {
  max-width: 720px;
  margin: 0 auto;
}

.flow-step {
  background: #ffffff;
  border-radius: 20px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.flow-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e63a5a, #5b4a8f);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 28px;
}

.flow-step h4 {
  font-weight: 700;
  margin-bottom: 10px;
  color: #111827;
}

.flow-step p {
  color: #4b5563;
  font-size: 0.95rem;
}

.flow-line {
  width: 2px;
  height: 40px;
  background: linear-gradient(to bottom, #e63a5a, transparent);
  margin: 0 auto;
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .flow-step {
    padding: 24px 16px;
  }
}
/* =========================
   TIMELINE BASE
   ========================= */
.flow-timeline {
  position: relative;
  max-width: 860px;
  margin: 80px auto;
  padding: 20px 0;
}

/* LINHA CENTRAL ANIMADA */
.flow-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: repeating-linear-gradient(to bottom, #e63a5a 0px, #e63a5a 6px, transparent 6px, transparent 14px);
  animation: flowMove 1.2s linear infinite;
  transform: translateX(-50%);
}

@keyframes flowMove {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 20px;
  }
}
/* =========================
   ITEM
   ========================= */
.flow-item {
  position: relative;
  width: 50%;
  margin-bottom: 48px;
}

.flow-item.left {
  left: 0;
  padding-right: 50px;
  text-align: right;
}

.flow-item.right {
  left: 50%;
  padding-left: 50px;
  text-align: left;
}

/* =========================
   CAIXA
   ========================= */
.flow-step {
  display: inline-block;
  max-width: 260px;
  background: #fff;
  padding: 18px 20px 20px;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
  position: relative;
}

/* ÍCONE */
.flow-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e63a5a, #5b4a8f);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  margin-bottom: 10px;
}

/* TEXTO */
.flow-step h5 {
  font-weight: 700;
  margin-bottom: 6px;
  font-size: 0.95rem;
  color: #111827;
}

.flow-step p {
  font-size: 0.88rem;
  color: #4b5563;
}

/* =========================
   CONECTOR ENTRE CAIXAS
   ========================= */
.flow-item::after {
  content: "";
  position: absolute;
  top: 28px;
  width: 14px;
  height: 14px;
  background: #e63a5a;
  border-radius: 50%;
  z-index: 2;
  box-shadow: 0 0 0 6px rgba(230, 58, 90, 0.15);
}

.flow-item.left::after {
  right: -7px;
}

.flow-item.right::after {
  left: -7px;
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 768px) {
  .flow-timeline::before {
    left: 14px;
  }
  .flow-item,
  .flow-item.left,
  .flow-item.right {
    width: 100%;
    left: 0;
    padding-left: 48px;
    padding-right: 0;
    text-align: left;
  }
  .flow-item::after {
    left: 7px;
    right: auto;
  }
}
/* =========================================================
   RESPONSIVO
========================================================= */
@media (max-width: 1100px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .services-section {
    padding: 70px 0;
  }
  .services-header h2 {
    font-size: 2rem;
  }
  .services-header p {
    font-size: 1rem;
  }
  .services-grid {
    grid-template-columns: 1fr;
  }
  .services-column {
    padding: 22px 20px;
  }
  .services-list li {
    font-size: 0.95rem;
  }
}
@media (max-width: 420px) {
  .services-header h2 {
    font-size: 1.8rem;
  }
  .services-header p {
    font-size: 0.95rem;
  }
}
/* =========================================================
   FLUXO CURRÍCULO – GRID 2 POR LINHA COM CÍRCULO ANIMADO
========================================================= */
.curriculo-info {
  background: #ffffff;
}

.flow-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 900px;
  margin: 0 auto;
}

.flow-card {
  position: relative;
  background: #ffffff;
  border-radius: 20px;
  padding: 36px 28px 32px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  text-align: center;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.flow-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.14);
}

/* CÍRCULO NUMERADO */
.flow-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #16a34a, #166534);
  color: #ffffff;
  font-weight: 800;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  position: relative;
  z-index: 2;
}

/* ANIMAÇÃO DE PULSO */
.flow-circle::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  background: rgba(22, 163, 74, 0.25);
  animation: pulse 2.4s ease-out infinite;
  z-index: -1;
}

@keyframes pulse {
  0% {
    transform: scale(0.7);
    opacity: 0.9;
  }
  70% {
    transform: scale(1.4);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.flow-card h5 {
  font-weight: 700;
  margin-bottom: 10px;
  color: #111827;
}

.flow-card p {
  font-size: 0.95rem;
  color: #4b5563;
  line-height: 1.5;
}

/* ANIMAÇÃO AO APARECER (JS) */
.flow-card.is-visible {
  animation: fadeUp 0.6s ease forwards;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* RESPONSIVO */
@media (max-width: 768px) {
  .flow-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   LINHAS INTERLIGADAS – FLUXO CURRÍCULO (ANIMADAS)
========================================================= */
.flow-grid {
  position: relative;
}

/* LINHA HORIZONTAL ENTRE CARDS DA MESMA LINHA */
.flow-card::after {
  content: "";
  position: absolute;
  top: 44px;
  right: -32px;
  width: 32px;
  height: 2px;
  background: repeating-linear-gradient(to right, #16a34a 0px, #16a34a 6px, transparent 6px, transparent 14px);
  animation: lineMoveX 1.2s linear infinite;
}

/* REMOVE LINHA DO CARD DA DIREITA */
.flow-card:nth-child(2n)::after {
  display: none;
}

/* LINHA VERTICAL ENTRE LINHAS */
.flow-card::before {
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 32px;
  background: repeating-linear-gradient(to bottom, #16a34a 0px, #16a34a 6px, transparent 6px, transparent 14px);
  animation: lineMoveY 1.2s linear infinite;
}

/* REMOVE LINHA VERTICAL DOS ÚLTIMOS DOIS */
.flow-card:nth-last-child(-n+2)::before {
  display: none;
}

/* ANIMAÇÕES */
@keyframes lineMoveX {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 20px 0;
  }
}
@keyframes lineMoveY {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 20px;
  }
}
/* RESPONSIVO – REMOVE LINHAS NO MOBILE */
@media (max-width: 768px) {
  .flow-card::after,
  .flow-card::before {
    display: none;
  }
}
/* =========================
   TABELA PERSONALIZADA
   ========================= */
.table-custom {
  border-collapse: separate;
  border-spacing: 0 12px; /* espaço entre linhas */
}

.table-custom thead th {
  background-color: #f3f4f6;
  font-weight: 600;
  color: #374151;
  border: none;
  padding: 14px 16px;
}

.table-custom tbody tr {
  background-color: #ffffff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.table-custom tbody tr:nth-child(even) {
  background-color: #f9fafb;
}

.table-custom tbody tr:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}

.table-custom td {
  border: none;
  padding: 18px 16px;
  vertical-align: middle;
  color: #111827;
}

.table-custom td:first-child {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}

.table-custom td:last-child {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* Avatar */
.table-custom img {
  -o-object-fit: cover;
     object-fit: cover;
  border: 2px solid #e5e7eb;
}

/* Home — tabela de vagas: botões rosa da marca, tamanho confortável, raio alinhado ao card (12px) */
.table-custom .btn-primary,
.table-custom .btn.btn-sm.btn-primary {
  border-radius: 12px;
  color: #fff;
  font-weight: 600;
  background-color: var(--primary);
  border: 1px solid var(--primary);
  padding: 0.4rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.table-custom .btn-primary:hover,
.table-custom .btn.btn-sm.btn-primary:hover {
  background-color: #c72f4b;
  border-color: #c72f4b;
  color: #fff;
}

/* /correspondente - limites de texto por linha na tabela */
.plans-section-correspondente .correspondente-table__location,
.plans-section-correspondente .correspondente-table__atuacao {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  white-space: normal;
  word-break: break-word;
}

.plans-section-correspondente .correspondente-table__location {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.plans-section-correspondente .correspondente-table__atuacao {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* #job (busca + tabela na home): mesma cor da marca */
#job .btn-primary {
  border-radius: 12px;
  color: #fff !important;
  font-weight: 600;
  background-color: var(--primary) !important;
  border: 1px solid var(--primary) !important;
}

#job .btn-primary:hover {
  background-color: #c72f4b !important;
  border-color: #c72f4b !important;
  color: #fff !important;
}

#job .search-box .btn-primary {
  height: 56px !important;
  min-height: 56px;
  font-size: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Filtro “Vagas jurídicas”: ocupa 100% da largura do container (bordas alinhadas ao conteúdo) */
#job .search-box--jobs-filter {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  justify-content: flex-start;
}

#job .search-box--jobs-filter .search-box--jobs-filter__q {
  flex: 2 1 200px;
  min-width: 0;
  width: 100%;
  padding-right: 20px;
}

#job .search-box--jobs-filter .search-box--jobs-filter__select {
  flex: 1 1 160px;
  min-width: 0;
  width: 100%;
  max-width: none;
}

#job .search-box--jobs-filter .search-box--jobs-filter__submit {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
}

#job .search-box--jobs-filter .search-box--jobs-filter__clear {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 56px;
  min-width: 56px;
  height: 56px !important;
  min-height: 56px;
  padding: 0;
  white-space: nowrap;
  border-radius: 12px;
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid #9ca3af;
  color: #9ca3af;
}

#job .search-box--jobs-filter .search-box--jobs-filter__clear:hover {
  background-color: rgba(156, 163, 175, 0.12);
  border-color: #9ca3af;
  color: #9ca3af;
}

/* Página da vaga: primário + outline em azul, compactos nos “Ver vaga” */
.job-show-page .btn-primary {
  border-radius: 12px;
  color: #fff !important;
  font-weight: 600;
  background-color: #2563eb !important;
  border: 1px solid #2563eb !important;
}

.job-show-page .btn-primary:hover {
  background-color: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #fff !important;
}

.job-show-page .btn-lg.btn-primary {
  font-size: 0.95rem;
  padding: 0.5rem 1rem;
}

.job-show-page .btn-outline-primary {
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  color: #2563eb !important;
  background-color: #fff !important;
  border: 1px solid #2563eb !important;
}

.job-show-page .btn-outline-primary:hover {
  background-color: #2563eb !important;
  border-color: #2563eb !important;
  color: #fff !important;
}

/* Vagas semelhantes: carrossel (sem barra de rolagem), setas nas laterais */
.job-related-carousel {
  position: relative;
  padding: 0 2.75rem;
}

.job-related-carousel__viewport {
  overflow: hidden;
  width: 100%;
}

.job-related-carousel__track {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  will-change: transform;
  /* largura de cada item vem do JS: 3 por linha na viewport */
}

.job-related-carousel__item {
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 0 0.15rem;
  min-width: 0;
}

.job-related-carousel__card-wrap {
  width: 100%;
  max-width: none;
}

.job-related-carousel__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.4);
  background: #fff;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.job-related-carousel__arrow:hover {
  background: #2563eb;
  color: #fff;
  border-color: #2563eb;
}

.job-related-carousel__arrow--prev {
  left: 0;
}

.job-related-carousel__arrow--next {
  right: 0;
}

.job-related-carousel.job-related-carousel--single .job-related-carousel__arrow {
  display: none;
}

@media (max-width: 576px) {
  .job-related-carousel {
    padding: 0 2.25rem;
  }
  .job-related-carousel__arrow {
    width: 2.125rem;
    height: 2.125rem;
  }
}
.text-oab {
  color: #e63a5a;
  font-weight: 600;
  background: rgba(230, 58, 90, 0.1);
  padding: 4px 10px;
  border-radius: 999px;
  display: inline-block;
}

/* Responsivo */
@media (max-width: 768px) {
  .table-custom thead {
    display: none;
  }
  .table-custom tbody tr {
    display: block;
    margin-bottom: 16px;
  }
  .table-custom td {
    display: block;
    text-align: left;
    padding: 10px 14px;
  }
}
/* RESPONSIVO */
@media (max-width: 900px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   FOOTER
========================================================= */
.footer {
  background: #111827;
  color: #fff;
  text-align: center;
  padding: 26px 0;
  font-size: 0.9rem;
}

/* =========================================================
   RESPONSIVO
========================================================= */
@media (min-width: 1200px) {
  .hero-image {
    max-height: 560px;
  }
}
@media (max-width: 1100px) {
  .hero-main {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hero-sub {
    margin-left: auto;
    margin-right: auto;
  }
  .hero-cards {
    justify-content: center;
  }
  .hero-right {
    position: relative;
    height: auto;
    margin-top: 36px;
    width: 100%;
    justify-content: flex-end;
  }
  .hero-image {
    max-height: 420px;
  }
  .plans-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  .nav {
    display: none;
  }
}
@media (max-width: 768px) {
  .hero-image {
    max-height: 360px;
  }
  .hero-left h1 {
    font-size: 2.1rem;
  }
  .hero-sub {
    font-size: 1rem;
  }
}
/* Mobile: imagem centralizada; cards Correspondente + Vagas em linha */
@media (max-width: 576px) {
  .hero-right {
    justify-content: center;
  }
  .hero-cards {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    padding: 0 0 72px;
  }
  .hero-card {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: none;
    padding: 14px 12px;
    border-radius: 18px;
  }
  .hero-card h3 {
    font-size: 0.95rem;
    margin-bottom: 6px;
    line-height: 1.25;
  }
  .hero-card p {
    font-size: 0.78rem;
    line-height: 1.35;
    margin-bottom: 10px;
  }
  .hero-card .full {
    width: 100%;
    padding: 9px 10px;
    font-size: 0.75rem;
    line-height: 1.25;
    border-radius: 10px;
  }
}
@media (max-width: 480px) {
  .hero-left h1 {
    font-size: 1.8rem;
  }
  .hero-image {
    max-height: 300px;
  }
  .plans-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   CADASTRO (sign up) — alinhado ao portal
========================================================= */
/* Validação: borda vermelha no input + texto de erro em vermelho (Bootstrap / Simple Form) */
.signup-card .form-control.is-invalid,
.signup-card .form-select.is-invalid,
.signup-devise-form .form-control.is-invalid,
.signup-devise-form .form-select.is-invalid,
.signup-devise-form .form-check-input.is-invalid {
  border: 1px solid #dc3545 !important;
  border-color: #dc3545 !important;
}

.signup-card .form-control.is-invalid:focus,
.signup-card .form-select.is-invalid:focus,
.signup-devise-form .form-control.is-invalid:focus,
.signup-devise-form .form-select.is-invalid:focus,
.signup-devise-form .form-check-input.is-invalid:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.22);
}

.signup-card .invalid-feedback,
.signup-devise-form .invalid-feedback {
  display: block;
  width: 100%;
  margin-top: 0.35rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #dc3545 !important;
}

/* asterisco / “required” no rótulo (Simple Form) */
.signup-card .form-label abbr,
.signup-devise-form .form-label abbr {
  color: #dc3545 !important;
  text-decoration: none;
  border-bottom: none;
}

/* Login / outras telas Devise no layout `login` (carrega `application.css`) */
.authentication-inner .form-control.is-invalid,
.authentication-inner .form-select.is-invalid,
.authentication-inner .form-check-input.is-invalid {
  border: 1px solid #dc3545 !important;
  border-color: #dc3545 !important;
}

.authentication-inner .form-control.is-invalid:focus,
.authentication-inner .form-select.is-invalid:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.22);
}

.authentication-inner .invalid-feedback {
  display: block;
  color: #dc3545 !important;
  font-weight: 500;
  font-size: 0.875rem;
}

.authentication-inner .form-label abbr {
  color: #dc3545 !important;
  text-decoration: none;
  border-bottom: none;
}

/* Login / recuperação — Devise (layouts/login/application) */
.auth-login-column {
  padding-top: 1.5rem;
}

@media (min-width: 992px) {
  .auth-login-column {
    padding-top: 2.5rem;
  }
}
.auth-login-page .auth-login-header h1 {
  letter-spacing: -0.02em;
  color: #566a7f;
}

.auth-login-form .form-control-lg {
  border-radius: 0.5rem;
}

.auth-login-form .btn-lg {
  border-radius: 0.5rem;
}

.auth-login-footer {
  border-color: rgba(67, 89, 113, 0.12) !important;
}

.signup-page {
  min-height: 72vh;
  padding-bottom: 4rem;
}

.signup-hero {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2rem;
  padding-top: 1rem;
}

.signup-hero h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: var(--pink-dark);
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}

.signup-hero .signup-lead {
  font-size: 1.05rem;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}

.signup-card {
  background: var(--card);
  border-radius: var(--radius);
  padding: 2rem 2rem 2.25rem;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.12);
  max-width: 640px;
  margin: 0 auto;
}

@media (max-width: 576px) {
  .signup-card {
    padding: 1.5rem 1.25rem;
  }
}
.signup-section-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pink-dark);
  margin: 1.75rem 0 1rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--border);
}

.signup-section-label:first-of-type {
  margin-top: 0;
}

/* Wizard por etapas (cadastro) */
.signup-wizard-progress {
  margin-bottom: 1.5rem;
}

.signup-wizard-meta {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.35rem;
}

.signup-wizard-heading {
  font-size: clamp(1.2rem, 3vw, 1.45rem);
  font-weight: 800;
  color: var(--pink-dark);
  margin: 0 0 1rem;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.signup-wizard-track {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.signup-wizard-track-item {
  font-size: 0.68rem;
  font-weight: 800;
  padding: 0.38rem 0.7rem;
  border-radius: 999px;
  background: #f3f4f6;
  color: var(--muted);
  border: 1px solid transparent;
  line-height: 1.2;
  max-width: 100%;
}

.signup-wizard-track-item span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 12rem;
}

.signup-wizard-track-item--active {
  background: #fff4ee;
  color: var(--pink-dark);
  border-color: var(--pink);
}

.signup-wizard-track-item--done {
  background: #ecfdf5;
  color: #047857;
  border-color: #a7f3d0;
}

.signup-devise-form.signup-wizard--ready .signup-section-label {
  display: none;
}

/* Só a etapa ativa aparece. Não usar o atributo [hidden] no JS: campos em etapas ocultas podem
   ser omitidos no envio do formulário ou ignorados na validação em alguns navegadores. */
.signup-devise-form.signup-wizard--ready:not(.signup-wizard--has-errors) .signup-step:not(.signup-step--active) {
  display: none !important;
}

/* Após erro de validação no servidor: todas as etapas visíveis para o usuário ver o que já enviou */
.signup-devise-form.signup-wizard--ready.signup-wizard--has-errors .signup-section-label {
  display: block;
  margin-bottom: 0.5rem;
}

.signup-devise-form.signup-wizard--ready.signup-wizard--has-errors .signup-step {
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border);
}

.signup-devise-form.signup-wizard--ready.signup-wizard--has-errors .signup-step:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

/* Turnstile fora das etapas com display:none — fica abaixo do bloco de passos, sempre montável pelo JS da Cloudflare */
.signup-turnstile-outer {
  border-top: 1px solid var(--border);
  margin-top: 0.5rem;
  padding-top: 0.75rem;
}

.signup-wizard-nav {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border);
}

.signup-wizard-nav .signup-wizard-prev {
  background-color: var(--border);
  border-color: var(--border);
  color: #374151;
}

.signup-wizard-nav .signup-wizard-prev:hover {
  background-color: #d1d5db;
  border-color: #d1d5db;
  color: #1f2937;
}

.signup-wizard-nav .signup-wizard-prev:focus-visible {
  border-color: var(--pink);
  box-shadow: 0 0 0 0.2rem rgba(236, 72, 153, 0.25);
}

.signup-wizard-nav-actions {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  align-items: stretch;
  min-width: min(100%, 16rem);
}

.signup-wizard-nav .signup-wizard-next,
.signup-wizard-nav .signup-wizard-submit {
  width: 100%;
}

@media (min-width: 480px) {
  .signup-wizard-nav-actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: auto;
  }
  .signup-wizard-nav .signup-wizard-next,
  .signup-wizard-nav .signup-wizard-submit {
    width: auto;
    min-width: 10rem;
  }
}
/* Sem JS: formulário único, sem barra de etapas */
.signup-devise-form:not(.signup-wizard--ready) .signup-wizard-progress {
  display: none !important;
}

.signup-devise-form:not(.signup-wizard--ready) .signup-wizard-prev,
.signup-devise-form:not(.signup-wizard--ready) .signup-wizard-next {
  display: none !important;
}

.signup-devise-form:not(.signup-wizard--ready) .signup-wizard-nav-actions {
  width: 100%;
  margin-left: 0;
}

.signup-devise-form:not(.signup-wizard--ready) .signup-wizard-submit {
  width: 100%;
}

.signup-term-panel {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1.1rem 1.15rem;
  background: rgba(255, 255, 255, 0.75);
  margin-bottom: 0.5rem;
}

.signup-term-panel .btn-term-read {
  border-radius: 999px;
  border: 2px solid var(--pink);
  color: var(--pink-dark);
  background: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.5rem 1.1rem;
  transition: background 0.2s ease, color 0.2s ease;
}

.signup-term-panel .btn-term-read:hover {
  background: var(--pink);
  color: #fff;
}

.signup-term-hint {
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.5;
}

.signup-muted {
  color: var(--muted);
  font-size: 0.95rem;
}

.signup-card .form-text {
  color: var(--muted);
  font-size: 0.875rem;
}

.signup-submit {
  margin-top: 0.5rem;
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}

.signup-footer-links {
  text-align: center;
  margin-top: 1.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.signup-footer-links a {
  color: var(--pink-dark);
  font-weight: 700;
  text-decoration: none;
}

.signup-footer-links a:hover {
  text-decoration: underline;
}

#registro-portal-term-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  border: none;
  border-radius: var(--radius);
  padding: 0;
  max-width: 38rem;
  width: min(92vw, 38rem);
  max-height: min(90vh, 720px);
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.25);
}

#registro-portal-term-dialog::backdrop {
  background: rgba(31, 41, 55, 0.45);
}

.signup-dialog-head {
  padding: 1.1rem 1.25rem;
  background: linear-gradient(135deg, #fff4ee 0%, #ffd6df 100%);
  border-bottom: 1px solid var(--border);
}

.signup-dialog-head h2 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--pink-dark);
  margin: 0;
}

.signup-dialog-body {
  padding: 1.25rem;
  max-height: 65vh;
  overflow-y: auto;
}

.signup-dialog-foot {
  padding: 1rem 1.25rem;
  border-top: 1px solid var(--border);
  background: #fafafa;
  text-align: right;
}

.signup-dialog-foot .btn-primary {
  border-radius: 999px;
  padding: 0.55rem 1.4rem;
  font-weight: 700;
}

/* /correspondente/:id — modais “Sobre” / termos acima do conteúdo da página */
.modal.correspondente-show-modal {
  z-index: 1060;
}

.correspondente-about-rich-text .trix-content {
  line-height: 1.65;
}

.correspondente-about-rich-text .trix-content :last-child {
  margin-bottom: 0;
}

/* Modal do termo registro_vagas — visual calmo (borda suave, overlay leve com blur) */
#registro-vagas-term-dialog.company-term-dialog,
#registro-correspondentes-term-dialog.company-term-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  max-width: 40rem;
  width: min(94vw, 40rem);
  max-height: min(88vh, 680px);
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.06), 0 24px 48px -12px rgba(15, 23, 42, 0.14);
  overflow: hidden;
  color: #334155;
}

#registro-vagas-term-dialog.company-term-dialog::backdrop,
#registro-correspondentes-term-dialog.company-term-dialog::backdrop {
  background: rgba(15, 23, 42, 0.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.company-term-dialog__header {
  padding: 1.25rem 1.35rem 1rem;
  background: linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.company-term-dialog__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #1e293b;
  line-height: 1.35;
}

.company-term-dialog__body {
  padding: 1.25rem 1.35rem;
  max-height: min(52vh, 420px);
  overflow-y: auto;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
  -webkit-overflow-scrolling: touch;
}

.company-term-dialog__body.trix-content {
  font-size: 0.9375rem;
}

.company-term-dialog__body.trix-content p {
  margin-bottom: 0.75rem;
}

.company-term-dialog__body.trix-content p:last-child {
  margin-bottom: 0;
}

.company-term-dialog__footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 1.35rem 1.1rem;
  background: #fafbfc;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.company-term-dialog__close {
  border-radius: 10px;
  padding: 0.5rem 1.15rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: #475569 !important;
  background: #fff !important;
  border: 1px solid rgba(148, 163, 184, 0.45) !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.company-term-dialog__close:hover {
  background: #f8fafc !important;
  border-color: rgba(100, 116, 139, 0.35) !important;
  color: #1e293b !important;
}

.company-term-dialog__close:focus-visible {
  outline: 2px solid rgba(59, 130, 246, 0.45);
  outline-offset: 2px;
}

/* Bloco do formulário: botão “Ler termo” mais discreto */
.company-registro-vagas-terms .btn[data-open-registro-vagas-dialog] {
  border-radius: 10px;
  font-weight: 500;
  border-color: rgba(148, 163, 184, 0.55);
  color: #475569;
  background: #fff;
}

.company-registro-vagas-terms .btn[data-open-registro-vagas-dialog]:hover {
  background: #f8fafc;
  border-color: rgba(100, 116, 139, 0.4);
  color: #1e293b;
}

.company-registro-correspondentes-terms .btn[data-open-registro-correspondentes-dialog] {
  border-radius: 10px;
  font-weight: 500;
  border-color: rgba(148, 163, 184, 0.55);
  color: #475569;
  background: #fff;
}

.company-registro-correspondentes-terms .btn[data-open-registro-correspondentes-dialog]:hover {
  background: #f8fafc;
  border-color: rgba(100, 116, 139, 0.4);
  color: #1e293b;
}

/*# sourceMappingURL=data:application/json;base64,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dUI7RUFDdkIsY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHdCQUF3QjtFQUN4Qiw0QkFBNEI7RUFDNUIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIsY0FBYztFQUNkLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYix5QkFBeUI7RUFDekIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLCtDQUErQztBQUNqRDs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQix5QkFBeUI7RUFDekIsMkJBQTJCO0VBQzNCLHNEQUFzRDtFQUN0RCw0RUFBNEU7QUFDOUU7O0FBRUE7RUFDRSw4QkFBOEI7RUFDOUIsa0RBQWtEO0VBQ2xELHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLDJDQUEyQztFQUMzQyxtQkFBbUI7QUFDckI7O0FBRUEseURBQXlEO0FBQ3pEO0VBQ0UsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQix1Q0FBdUM7RUFDdkMsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixzQ0FBc0M7RUFDdEMsY0FBYztBQUNoQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsdUNBQXVDO0VBQ3ZDLGNBQWM7RUFDZCxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsc0NBQXNDO0VBQ3RDLGNBQWM7QUFDaEIiLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuOnJvb3Qge1xuICAtLXBpbms6ICNlMTFkNDg7XG4gIC0tcGluay1saWdodDogI2ZiNzE4NTtcbiAgLS1iZzogIzBiMGIwZjtcbiAgLS1jYXJkOiAjMTExODI3O1xuICAtLXRleHQ6ICNmOWZhZmI7XG4gIC0tbXV0ZWQ6ICM5Y2EzYWY7XG4gIC0tYm9yZGVyOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpO1xufVxuXG4vKiBSRVNFVCAqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBJbnRlciwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCBsZWZ0LCAjMmIwZjFhLCAjMDUwNTA3IDU1JSk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0KTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDgwcHggMjRweDtcbn1cblxuLyogQm90w6NvIFZvbHRhciAodG9wbyBlc3F1ZXJkbykg4oCUIMOibmNvcmEgY29tIGFwYXLDqm5jaWEgZGUgYm90w6NvICovXG4uYWR2b2dhZG8tYmFjay1uYXYge1xuICBtYXJnaW46IC0yNHB4IDAgMjhweDtcbn1cblxuYS5hZHZvZ2Fkby1iYWNrLWJ0bixcbmEuYWR2b2dhZG8tYmFjay1idG46dmlzaXRlZCxcbmEuYWR2b2dhZG8tYmFjay1idG46aG92ZXIsXG5hLmFkdm9nYWRvLWJhY2stYnRuOmFjdGl2ZSxcbmEuYWR2b2dhZG8tYmFjay1idG46Zm9jdXMsXG5hLmFkdm9nYWRvLWJhY2stYnRuOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwO1xufVxuXG4uYWR2b2dhZG8tYmFjay1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDAuNXJlbTtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgcGFkZGluZzogMC41NXJlbSAxLjFyZW0gMC41NXJlbSAwLjg1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxMTE4MjcsICMwYjBiMGYpO1xuICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMThzIGVhc2UsIGJveC1zaGFkb3cgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbmEuYWR2b2dhZG8tYmFjay1idG4gLmFkdm9nYWRvLWJhY2stYnRuX190ZXh0LFxuYS5hZHZvZ2Fkby1iYWNrLWJ0bjp2aXNpdGVkIC5hZHZvZ2Fkby1iYWNrLWJ0bl9fdGV4dCB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYWR2b2dhZG8tYmFjay1idG5fX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYWR2b2dhZG8tYmFjay1idG5fX2ljb24gaSxcbi5hZHZvZ2Fkby1iYWNrLWJ0bl9faWNvbiBpOjpiZWZvcmUge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMDVyZW07XG59XG5cbmEuYWR2b2dhZG8tYmFjay1idG46aG92ZXIge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzFlMjkzYiwgIzExMTgyNyk7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7XG59XG5cbmEuYWR2b2dhZG8tYmFjay1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzBmMTcyYSwgIzBiMGIwZik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuYS5hZHZvZ2Fkby1iYWNrLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXBpbmstbGlnaHQpO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMWUyOTNiLCAjMTExODI3KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSEVST1xuPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhlcm8ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMWZyIDAuOWZyO1xuICBnYXA6IDY0cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG5cbi5oZXJvIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyLjJyZW0sIDR2dywgMy4ycmVtKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5oZXJvIGgxIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tcGluayk7XG59XG5cbi5oZXJvIHAge1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDM2cHg7XG59XG5cbi5oZXJvLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDE2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmhlcm8tcGhvdG8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZXJvLXBob3RvIGltZyxcbi5oZXJvLXBob3RvIC5oZXJvLXBob3RvX19wbGFjZWhvbGRlciB7XG4gIG1heC13aWR0aDogMzYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICBib3gtc2hhZG93OiAwIDI1cHggNzBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmhlcm8tcGhvdG8gLmhlcm8tcGhvdG9fX3BsYWNlaG9sZGVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBCT1TDlUVTICovXG4uYnRuIHtcbiAgcGFkZGluZzogMTRweCAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcGluayksIHZhcigtLXBpbmstbGlnaHQpKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMjI1LCAyOSwgNzIsIDAuNDUpO1xufVxuXG4uYnRuLW91dGxpbmUge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1waW5rKTtcbiAgY29sb3I6IHZhcigtLXBpbmspO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSU5GTyBHUklEXG49PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaW5mby1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgZ2FwOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiA5MHB4O1xufVxuXG4uaW5mby1jYXJkIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzExMTgyNywgIzBiMGIwZik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDI2cHggMjJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5pbmZvLWNhcmQgaSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6IHZhcigtLXBpbmspO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uaW5mby1jYXJkIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uaW5mby1jYXJkIHNwYW4ge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLW11dGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU0XDh8OVRVMgLyBUQUdTXG49PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7XG59XG5cbi5zZWN0aW9uIGgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWN0aW9uIGgyIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tcGluayk7XG59XG5cbi5zZWN0aW9uLW11dGVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnRhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDE0cHg7XG4gIG1hcmdpbi10b3A6IDI4cHg7XG59XG5cbi50YWcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIyNSwgMjksIDcyLCAwLjEyKTtcbiAgY29sb3I6IHZhcigtLXBpbmstbGlnaHQpO1xuICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjUsIDI5LCA3MiwgMC4yNSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTlRBVE9cbj09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWN0IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzBmMTcyYSwgIzAyMDYxNyk7XG4gIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gIHBhZGRpbmc6IDQ4cHggMzJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDMwcHggODBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbi5jb250YWN0IGgzIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG59XG5cbi5jb250YWN0IHAge1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNT0RBTFxuPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTtcbn1cblxuLm1vZGFsLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tb2RhbC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMnB4O1xuICByaWdodDogMTZweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zdGF0ZS1saW5rLS1tdXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuYm9keS5tb2RhbC1tYXAtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNtb2RhbC1tYXAubW9kYWwtbWFwIHtcbiAgcGFkZGluZzogMTJweDtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTIwJSA4MCUgYXQgNTAlIDAlLCByZ2JhKDIyNSwgMjksIDcyLCAwLjI4KSwgcmdiYSgxNSwgMjMsIDQyLCAwLjkyKSk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgI21vZGFsLW1hcC5tb2RhbC1tYXAge1xuICAgIHBhZGRpbmc6IGNsYW1wKDE2cHgsIDN2dywgMzJweCk7XG4gIH1cbn1cbiNtb2RhbC1tYXAubW9kYWwtbWFwLmFjdGl2ZSAubW9kYWwtbWFwLWRpYWxvZyB7XG4gIGFuaW1hdGlvbjogbW9kYWxNYXBEaWFsb2dJbiAwLjM4cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSkgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgbW9kYWxNYXBEaWFsb2dJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOTcpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgfVxufVxuLm1vZGFsLW1hcC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBtaW4oMTMyMHB4LCAxMDB2dyAtIDI0cHgpO1xuICBoZWlnaHQ6IG1pbig5MjBweCwgMTAwdmggLSAyNHB4KTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI0cHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3JkZXItcmFkaXVzOiBjbGFtcCgxOHB4LCAydncsIDI4cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSwgMCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMzUpLCAwIDMycHggODBweCByZ2JhKDAsIDAsIDAsIDAuNTUpLCAwIDAgODBweCByZ2JhKDIyNSwgMjksIDcyLCAwLjEyKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5tb2RhbC1tYXAtZGlhbG9nIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDE2cHgpO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE2cHgpO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgfVxufVxuLm1vZGFsLW1hcC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IGNsYW1wKDEycHgsIDJ2dywgMjRweCk7XG4gIHBhZGRpbmc6IGNsYW1wKDE4cHgsIDIuNXZ3LCAyOHB4KSBjbGFtcCgxOHB4LCAyLjV2dywgMzJweCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxMTE4MjcgMCUsICMwYjBiMGYgMTAwJSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLm1vZGFsLW1hcC1oZWFkZXItbWFpbiB7XG4gIG1pbi13aWR0aDogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm1vZGFsLW1hcC1leWVicm93IHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tcGluay1saWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xufVxuXG4ubW9kYWwtbWFwLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgOHB4O1xuICBmb250LXNpemU6IGNsYW1wKDEuNDVyZW0sIDMuMnZ3LCAyLjE1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGNvbG9yOiAjZjhmYWZjO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cblxuLm1vZGFsLW1hcC10aXRsZSBzcGFuIHtcbiAgY29sb3I6IHZhcigtLXBpbmspO1xufVxuXG4ubW9kYWwtbWFwLXN1YnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IGNsYW1wKDAuOTVyZW0sIDEuNnZ3LCAxLjFyZW0pO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzk0YTNiODtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLm1vZGFsLW1hcC1jbG9zZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuLm1vZGFsLW1hcC1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjI1LCAyOSwgNzIsIDAuMjIpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUxLCAxMTMsIDEzMywgMC41NSk7XG4gIGJveC1zaGFkb3c6IDAgMCAyOHB4IHJnYmEoMjI1LCAyOSwgNzIsIDAuMjUpO1xufVxuXG4ubW9kYWwtbWFwLWNsb3NlOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG59XG5cbi5tb2RhbC1tYXAtY2xvc2UteCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLm1vZGFsLW1hcC1jbG9zZS10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4ubW9kYWwtbWFwLWJvZHkge1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiBjbGFtcCgxMnB4LCAxLjh2dywgMjBweCkgY2xhbXAoMTRweCwgMnZ3LCAyOHB4KSBjbGFtcCgxNHB4LCAydncsIDI0cHgpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMWUyOTNiIDAlLCAjMGYxNzJhIDEwMCUpO1xufVxuXG4ubW9kYWwtbWFwLXJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogbWluKDUydmgsIDU2MHB4KTtcbiAgYm9yZGVyLXJhZGl1czogY2xhbXAoMTRweCwgMS41dncsIDIycHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAyMHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5tb2RhbC1tYXAtcmF0aW8ge1xuICAgIG1pbi1oZWlnaHQ6IDQydmg7XG4gIH1cbn1cbi5tb2RhbC1tYXAtaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubW9kYWwtbWFwLWZvb3RlciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nOiBjbGFtcCgxNnB4LCAydncsIDIycHgpIGNsYW1wKDE4cHgsIDIuNXZ3LCAzMnB4KSBjbGFtcCgxOHB4LCAyLjV2dywgMjhweCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzBiMGIwZiAwJSwgIzAyMDYxNyAxMDAlKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi5tb2RhbC1tYXAtZXh0ZXJuYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTRweCAzMnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjlyZW0sIDEuNHZ3LCAxcmVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1waW5rKSwgdmFyKC0tcGluay1saWdodCkpO1xuICBib3gtc2hhZG93OiAwIDAgMzJweCByZ2JhKDIyNSwgMjksIDcyLCAwLjQ1KTtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi5tb2RhbC1tYXAtZXh0ZXJuYWw6aG92ZXIge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjk1O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gIGJveC1zaGFkb3c6IDAgMCA0MHB4IHJnYmEoMjI1LCAyOSwgNzIsIDAuNTUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tb2RhbC1tYXAtZXh0ZXJuYWw6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4ubW9kYWwtbWFwLWV4dGVybmFsIGkge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIG9wYWNpdHk6IDAuOTU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENBUlTDg08gREUgVklTSVRBIChGSU5BTClcbj09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJ0YW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjtcbiAgd2lkdGg6IDU2MHB4O1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1waW5rKSwgIzZhMDU3Mik7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDMwcHggOTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbi8qIFFSIENPREUgRVNRVUVSREEgKi9cbi5jYXJ0YW8tbGVmdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucXJjb2RlLWJveCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi8qIElORk8gRElSRUlUQSAqL1xuLmNhcnRhby1yaWdodCB7XG4gIHBhZGRpbmc6IDI2cHggMzJweDtcbn1cblxuLmNhcnRhby1yaWdodCBoMyB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5jYXJ0YW8tcmlnaHQgLmNhcmdvIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBvcGFjaXR5OiAwLjg1O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuXG4uY29udGF0b3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uY29udGF0b3MgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb250YXRvcyBpIHtcbiAgd2lkdGg6IDE4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogVEFHUyBETyBDQVJUw4NPICovXG4uY2FydGFvLXRhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogOHB4O1xufVxuXG4uY2FydGFvLXRhZ3Mgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuXG4vKiBDT05UQUlORVIgRE8gQ0FSVMODTyArIEHDh8OVRVMgKi9cbi5jYXJ0YW8td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIEHDh8OVRVMgU0VNUFJFIEFCQUlYTyAqL1xuLmFjb2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qID09PT09IEZMVVhPIFBSRU1JVU0gPT09PT0gKi9cbi5mbG93LXBybyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAyNnB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mbG93LXByby1zdGVwIHtcbiAgd2lkdGg6IDE5MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMTExODI3LCAjMGIwYjBmKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogMjZweCAyMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45Mik7XG4gIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmxvdy1wcm8tc3RlcC5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBib3gtc2hhZG93OiAwIDAgMCByZ2JhKDIyNSwgMjksIDcyLCAwKTtcbiAgYW5pbWF0aW9uOiBwdWxzZUdsb3cgMS42cyBpbmZpbml0ZTtcbn1cblxuLmZsb3ctcHJvLWljb24ge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXBpbmspLCB2YXIoLS1waW5rLWxpZ2h0KSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAxNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4uZmxvdy1wcm8tc3RlcCBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi5mbG93LXByby1zdGVwIHNwYW4ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG59XG5cbi8qIExJTkhBICovXG4uZmxvdy1wcm8tbGluZSB7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1waW5rKSwgdHJhbnNwYXJlbnQpO1xuICBtYXJnaW4tdG9wOiA1MnB4O1xuICBvcGFjaXR5OiAwLjI1O1xuICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG59XG5cbi5mbG93LXByby1saW5lLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zdGF0ZS1saW5rIHtcbiAgY29sb3I6ICNmZmZmZmY7IC8qIGJyYW5jbyAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8qIHJlbW92ZSBzdWJsaW5oYWRvICovXG4gIGZvbnQtd2VpZ2h0OiA4MDA7IC8qIG1hbnTDqW0gZGVzdGFxdWUgKi9cbn1cblxuLnN0YXRlLWxpbms6aG92ZXIsXG4uc3RhdGUtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmZmZmOyAvKiBuw6NvIG11ZGEgbm8gaG92ZXIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBBTklNQcOHw4NPIERFIERFU1RBUVVFICovXG5Aa2V5ZnJhbWVzIHB1bHNlR2xvdyB7XG4gIDAlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCByZ2JhKDIyNSwgMjksIDcyLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMjI1LCAyOSwgNzIsIDAuNDUpO1xuICB9XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMjI1LCAyOSwgNzIsIDApO1xuICB9XG59XG4vKiBNT0JJTEUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuZmxvdy1wcm8ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuZmxvdy1wcm8tbGluZSB7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyKC0tcGluayksIHRyYW5zcGFyZW50KTtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkVTUE9OU0lWT1xuPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmluZm8tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5jYXJ0YW8ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIHdpZHRoOiA5MiU7XG4gIH1cbiAgLmNhcnRhby1sZWZ0IHtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICB9XG4gIC5pbmZvLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJTVBSRVNTw4NPIC8gUERGIChjYXJ0w6NvKVxuPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMTJtbTtcbiAgICBzaXplOiBhdXRvO1xuICB9XG4gIC5hZHZvZ2Fkby1iYWNrLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB9XG4gIC8qIFDDoWdpbmEgc8OzIGRvIGNhcnTDo28gKG1vZGFsIGFiZXJ0byBhIHBhcnRpciBkbyBwZXJmaWwpICovXG4gIGJvZHkuYWR2b2dhZG8tcHJpbnQtY2FydGFvIC5jb250YWluZXIgPiAqOm5vdCgjbW9kYWwpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYm9keS5hZHZvZ2Fkby1wcmludC1jYXJ0YW8gI21vZGFsIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGluc2V0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIGJvZHkuYWR2b2dhZG8tcHJpbnQtY2FydGFvICNtb2RhbCAubW9kYWwtY2xvc2UsXG4gIGJvZHkuYWR2b2dhZG8tcHJpbnQtY2FydGFvICNtb2RhbCAuYWNvZXMsXG4gIGJvZHkuYWR2b2dhZG8tcHJpbnQtY2FydGFvICNtb2RhbCAuYWR2b2dhZG8tY2FydGFvLXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxuICBib2R5LmFkdm9nYWRvLXByaW50LWNhcnRhbyAjY2FydGFvIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgLyogUMOhZ2luYSAvY2FydGFvLzppdGVtIChzw7MgbyBjYXJ0w6NvIG5vIHlpZWxkKSAqL1xuICBib2R5LmFkdm9nYWRvLWNhcnRhby1vbmx5IC5jYXJ0YW8td3JhcHBlciA+IC5hY29lcyxcbiAgYm9keS5hZHZvZ2Fkby1jYXJ0YW8tb25seSAubW9kYWwtY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBib2R5LmFkdm9nYWRvLWNhcnRhby1vbmx5IC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWQVJJw4FWRUlTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjpyb290IHtcbiAgLS1wcmltYXJ5OiAjZTYzYTVhO1xuICAtLXNlY29uZGFyeTogIzViNGE4ZjtcbiAgLS1icmFuZDogIzdiMDAzYjtcbiAgLS1iZy1jcmVhbTogI2ZmZjZlODtcbiAgLS1iZy1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIDE4MGRlZyxcbiAgICAgICAgICAjZmZmNmU4IDAlLFxuICAgICAgICAgICNmZmQxZGEgNTUlLFxuICAgICAgICAgICNmMjZhODQgMTAwJVxuICApO1xuICAtLXRleHQtbWFpbjogIzFmMjkzNztcbiAgLS10ZXh0LW11dGVkOiAjNGI1NTYzO1xuICAtLWJvcmRlcjogI2U1ZTdlYjtcbiAgLS13aGl0ZTogI2ZmZmZmZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQQUdFXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjpyb290IHtcbiAgLS1waW5rOiNlODNhNWY7XG4gIC0tcGluay1kYXJrOiNjOTJiNGM7XG4gIC0tcHVycGxlOiM1YjRiOGE7XG4gIC0tYmc6I2ZmZjRlZTtcbiAgLS1jYXJkOiNmZmZmZmY7XG4gIC0tdGV4dDojMWYyOTM3O1xuICAtLW11dGVkOiM2YjcyODA7XG4gIC0tYm9yZGVyOnJnYmEoMCwwLDAsLjA4KTtcbiAgLS1yYWRpdXM6MjJweDtcbn1cblxuLmNhZGFzdHJvUGFnZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmY0ZWUgMCUsICNmZmQ2ZGYgNjAlLCAjZmY5ZGIwIDEwMCUpO1xufVxuXG4vKiBIRUFERVIgKi9cbi5oZWFkZXJDYWRhc3RybyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDtcbn1cblxuLmhlYWRlckNhZGFzdHJvIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyLjRyZW0sIDR2dywgMy4ycmVtKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgY29sb3I6IHZhcigtLXBpbmstZGFyayk7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi8qIEdSSUQgKi9cbi5vcHRpb25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNjBweCwgMWZyKSk7XG4gIGdhcDogMzJweDtcbn1cblxuLm9wdGlvbi1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2FyZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHBhZGRpbmc6IDM0cHggMzBweDtcbiAgYm94LXNoYWRvdzogMCAyNXB4IDcwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2U7XG59XG5cbi5vcHRpb24tY2FyZDpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbn1cblxuLm9wdGlvbi1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5vcHRpb24tY2FyZCBwIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tYm90dG9tOiAyNnB4O1xufVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE0cHggMjZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZTtcbn1cblxuLmJ0bi1waW5rIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGluayk7XG59XG5cbi5idG4tcHVycGxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHVycGxlKTtcbn1cblxuLmJ0bjpob3ZlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA1KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNFVCAvIEJBU0Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBJbnRlciwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW1haW4pO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG59XG5cbi50ZXh0LXBpbmsge1xuICBjb2xvcjogI2U2M2E1YTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDI0cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVE9QQkFSXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50b3BiYXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jcmVhbSk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLnRvcGJhci1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMThweDtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuXG4udG9wYmFyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW1haW4pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhFQURFUlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY3JlYW0pO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZTZkNjtcbn1cblxuLmhlYWRlci1pbm5lciB7XG4gIGhlaWdodDogNzJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYnJhbmQge1xuICBmb250LXdlaWdodDogODAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tYnJhbmQpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi5oZWFkZXIgLm5hdmJhci1sb2dvIHtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBtaW4oMjYwcHgsIDU2dncpO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogTG9naW4g4oCUIGxvZ28gZW0gdGFtYW5obyBuYXR1cmFsIChvIHRlbWEgLmFwcC1icmFuZC1sb2dvLmRlbW8gZm9yw6dhIDM0w5cyNHB4OyBuw6NvIHVzYXIgZGVtbyBhcXVpKSAqL1xuLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIuYXV0aGVudGljYXRpb24tY292ZXIgLmF1dGgtY292ZXItYnJhbmQuYXBwLWJyYW5kIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5hdXRoZW50aWNhdGlvbi13cmFwcGVyLmF1dGhlbnRpY2F0aW9uLWNvdmVyIC5hdXRoLWNvdmVyLWJyYW5kIC5hcHAtYnJhbmQtbG9nby0tYXV0aC1jb3ZlciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmF1dGgtY292ZXItYnJhbmQtbG9nbyB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogbWluKDk2MHB4LCA5MnZ3KTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hdXRoZW50aWNhdGlvbi13cmFwcGVyLmF1dGhlbnRpY2F0aW9uLWNvdmVyIC5hdXRoZW50aWNhdGlvbi1pbm5lciAuYXV0aC1jb3Zlci1iZyAuYXV0aC1sb2dpbi1sYXd5ZXJzLWlsbHVzdHJhdGlvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG1pbig1OHZoLCA0MjBweCk7XG4gIG1heC13aWR0aDogbWluKDc4JSwgNTIwcHgpO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxOHB4O1xufVxuXG4ubmF2IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW1haW4pO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJPVMOVRVNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0bi1wcmltYXJ5LFxuLmJ0bi1zZWNvbmRhcnkge1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcGFkZGluZzogMTJweCAyMnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBNZW51IHRvcG8g4oCUIENUQXMgc8OzbGlkb3MgKEVudHJhciByb3hvLCBDYWRhc3RyYXIgdmVybWVsaG8pLCBtZXNtbyBwZXNvIHZpc3VhbCAqL1xuLmhlYWRlciAuaGVhZGVyLW5hdi1jdGEuYnRuIHtcbiAgbWluLXdpZHRoOiA3LjVyZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmhlYWRlciAuaGVhZGVyLW5hdi1jdGEuYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5oZWFkZXIgLmhlYWRlci1uYXYtY3RhLmJ0bi1wcmltYXJ5OmhvdmVyLFxuLmhlYWRlciAuaGVhZGVyLW5hdi1jdGEuYnRuLXByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA2KTtcbn1cblxuLmhlYWRlciAuaGVhZGVyLW5hdi1jdGEuYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5oZWFkZXIgLmhlYWRlci1uYXYtY3RhLmJ0bi1zZWNvbmRhcnk6aG92ZXIsXG4uaGVhZGVyIC5oZWFkZXItbmF2LWN0YS5idG4tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICBjb2xvcjogI2ZmZjtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMDYpO1xufVxuXG4uZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhFUk9cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhlcm8tZ3JhZGllbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWdyYWRpZW50KTtcbiAgLypwYWRkaW5nOiA5NnB4IDAgMTIwcHg7Ki9cbiAgcGFkZGluZzogOTZweCAwIDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhlcm8tbWFpbiB7XG4gICNwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4wNWZyIDAuOTVmcjtcbiAgZ2FwOiA2MHB4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWluLWhlaWdodDogNTIwcHg7XG59XG5cbi5oZXJvLWxlZnQge1xuICB6LWluZGV4OiAyO1xufVxuXG4uaGVyby1sZWZ0IGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA1dncsIDMuMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5oZXJvLXN1YiB7XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICBtYXgtd2lkdGg6IDU0MHB4O1xufVxuXG4uaGVyby1jYXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMjRweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAwcHggMCAxMjBweDtcbn1cblxuLmhlcm8tY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHdpZHRoOiAyODBweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uaGVyby1jYXJkLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNmN2Y0ZmY7XG59XG5cbi5oZXJvLWNhcmQgaDMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uaGVyby1jYXJkIHAge1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5oZXJvLWNhcmQgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTJweCAxNHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLyogPT09IElNQUdFTSBETyBIRVJPIOKAlCBjb2x1bmEgZGlyZWl0YSwgZW5jb3N0YWRhIMOgIGRpcmVpdGEgKGFsaW5oYWRhIMOgIGZhaXhhIGRvcyBjYXJkcy9ib3TDtWVzKSA9PT0gKi9cbi5oZXJvLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5oZXJvLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogNTIwcHg7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogTElOSyBcIlNBSUJBIE1BSVNcIiAvIFRFUk1PUyBERSBVU08gKi9cbi5saW5rLXNhaWJhLW1haXMge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTsgLyogbWVzbWEgY29yIGRvIGJvdMOjbyBzZWNvbmRhcnkgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiByZW1vdmUgc3VibGluaGFkbyAqL1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4ubGluay1zYWliYS1tYWlzOmhvdmVyIHtcbiAgY29sb3I6ICM0YTNjNzg7IC8qIHJveG8gdW0gcG91Y28gbWFpcyBlc2N1cm8gbm8gaG92ZXIgKi9cbiAgb3BhY2l0eTogMC45O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVTUEVDSUFMSURBREVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3BlY2lhbHRpZXMtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDY0cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcbn1cblxuLnNlY3Rpb24tdGl0bGUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjb2xvcjogIzExMTgyNztcbn1cblxuLmNoYXJ0LWJveCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5zcGVjaWFsdHktaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG5cbi5zcGVjaWFsdHktaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIGNvbG9yOiAjMzc0MTUxO1xufVxuXG4ucGVyY2VudCB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlN2ViO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2M2E1YTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFKVVNURVMgREUgRVNQQcOHQU1FTlRPXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hhcnQtYm94LFxuLnNwZWNpYWx0aWVzLWJveCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5zcGVjaWFsdHktaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzM3NDE1MTtcbn1cblxuLnBlcmNlbnQge1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTdlYjtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjNhNWE7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBMQU5PU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGxhbnMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWNyZWFtKTtcbiAgcGFkZGluZzogOTZweCAwO1xufVxuXG4ucGxhbnMtc2VjdGlvbi1jb3JyZXNwb25kZW50ZSB7XG4gIHBhZGRpbmc6IDYwcHggMCAhaW1wb3J0YW50O1xufVxuXG4vKiBDdXJyw61jdWxvIHDDumJsaWNvIC9jdXJyaWN1bHVtLzppZCDigJQgYm90w6NvIFZvbHRhciAow6JuY29yYSBlc3RpbGl6YWRhKSAqL1xuLmN1cnJpY3VsdW0tY3YgYS5jdXJyaWN1bHVtLWN2X19iYWNrLWJ0bixcbi5jdXJyaWN1bHVtLWN2IGEuY3VycmljdWx1bS1jdl9fYmFjay1idG46dmlzaXRlZCxcbi5jdXJyaWN1bHVtLWN2IGEuY3VycmljdWx1bS1jdl9fYmFjay1idG46aG92ZXIsXG4uY3VycmljdWx1bS1jdiBhLmN1cnJpY3VsdW0tY3ZfX2JhY2stYnRuOmFjdGl2ZSxcbi5jdXJyaWN1bHVtLWN2IGEuY3VycmljdWx1bS1jdl9fYmFjay1idG46Zm9jdXMsXG4uY3VycmljdWx1bS1jdiBhLmN1cnJpY3VsdW0tY3ZfX2JhY2stYnRuOmZvY3VzLXZpc2libGUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmc6IDAuNTVyZW0gMS4xNXJlbSAwLjU1cmVtIDAuOXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxMTE4MjcsICMwYjBiMGYpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcbn1cblxuLmN1cnJpY3VsdW0tY3YgYS5jdXJyaWN1bHVtLWN2X19iYWNrLWJ0bjpob3Zlcixcbi5jdXJyaWN1bHVtLWN2IGEuY3VycmljdWx1bS1jdl9fYmFjay1idG46Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxZTI5M2IsICMxMTE4MjcpO1xuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi5jdXJyaWN1bHVtLWN2IGEuY3VycmljdWx1bS1jdl9fYmFjay1idG46Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjZmI3MTg1O1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xufVxuXG4uY3VycmljdWx1bS1jdiBhLmN1cnJpY3VsdW0tY3ZfX2JhY2stYnRuOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuXG4uY3VycmljdWx1bS1jdiBhLmN1cnJpY3VsdW0tY3ZfX2JhY2stYnRuIC5jdXJyaWN1bHVtLWN2X19iYWNrLWJ0bl9fdGV4dCB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY3VycmljdWx1bS1jdiBhLmN1cnJpY3VsdW0tY3ZfX2JhY2stYnRuIC5jdXJyaWN1bHVtLWN2X19iYWNrLWJ0bl9faWNvbixcbi5jdXJyaWN1bHVtLWN2IGEuY3VycmljdWx1bS1jdl9fYmFjay1idG4gLmN1cnJpY3VsdW0tY3ZfX2JhY2stYnRuX19pY29uIGksXG4uY3VycmljdWx1bS1jdiBhLmN1cnJpY3VsdW0tY3ZfX2JhY2stYnRuIC5jdXJyaWN1bHVtLWN2X19iYWNrLWJ0bl9faWNvbiBpOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmN1cnJpY3VsdW0tY3YgYS5jdXJyaWN1bHVtLWN2X19iYWNrLWJ0biAuY3VycmljdWx1bS1jdl9fYmFjay1idG5fX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9faGVhZGVyIHtcbiAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9fa2lja2VyIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9fbmFtZSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAzdncsIDJyZW0pO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogIzExMTgyNztcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLyogRm90byBkbyBjdXJyw61jdWxvIOKAlCBmb3JtYXRvIDM6NCAocmV0cmF0byksIGNhbnRvcyBzdWF2ZXMgdGlwbyBmb3RvIGRvY3VtZW50byAqL1xuLmN1cnJpY3VsdW0tY3YgLmN1cnJpY3VsdW0tY3ZfX3Bob3RvLWZyYW1lIHtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsICNlNjNhNWEgMCUsICM1YjRhOGYgNTIlLCAjMTBiOTgxIDEwMCUpO1xuICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDE3LCAyNCwgMzksIDAuMTIpLCAwIDRweCA4cHggcmdiYSgyMzAsIDU4LCA5MCwgMC4wOCk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9fcGhvdG8tZnJhbWUgLmN1cnJpY3VsdW0tY3ZfX3Bob3RvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxODBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDMvNDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgMTUlO1xuICBib3JkZXItcmFkaXVzOiAxLjEyNXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmN1cnJpY3VsdW0tY3YgLmN1cnJpY3VsdW0tY3ZfX3Bob3RvLWZyYW1lIC5jdXJyaWN1bHVtLWN2X19waG90byB7XG4gICAgd2lkdGg6IDIxMHB4O1xuICB9XG4gIC5jdXJyaWN1bHVtLWN2IC5jdXJyaWN1bHVtLWN2X19waG90by1mcmFtZSB7XG4gICAgcGFkZGluZzogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNjVyZW07XG4gIH1cbiAgLmN1cnJpY3VsdW0tY3YgLmN1cnJpY3VsdW0tY3ZfX3Bob3RvLWZyYW1lIC5jdXJyaWN1bHVtLWN2X19waG90byB7XG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdXJyaWN1bHVtLWN2IC5jdXJyaWN1bHVtLWN2X19waG90by1mcmFtZSAuY3VycmljdWx1bS1jdl9fcGhvdG8ge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgfVxufVxuLmN1cnJpY3VsdW0tY3YgLmN1cnJpY3VsdW0tY3ZfX3Bob3RvLS1pbGx1c3RyYXRpb24ge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNjtcbn1cblxuLmN1cnJpY3VsdW0tZGlyZWN0b3J5LXRhYmxlX19hdmF0YXItLWlsbHVzdHJhdGlvbiB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmYWZiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9fcGhvdG8tcGxhY2Vob2xkZXIge1xuICB3aWR0aDogMTgwcHg7XG4gIGFzcGVjdC1yYXRpbzogMy80O1xuICBtaW4td2lkdGg6IDEyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGJvcmRlcjogM3B4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDEuMTI1cmVtO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9fYWJvdXQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1cnJpY3VsdW0tY3YgLmN1cnJpY3VsdW0tY3ZfX2Fib3V0IHtcbiAgZm9udC1zaXplOiAwLjk4cmVtO1xuICBsaW5lLWhlaWdodDogMS42NTtcbn1cblxuLmN1cnJpY3VsdW0tY3YgLmN1cnJpY3VsdW0tY3ZfX2NvbnRhY3QtbGlzdCBzdHJvbmcge1xuICBjb2xvcjogIzExMTgyNztcbn1cblxuLmN1cnJpY3VsdW0tY3YgLm1hcC1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9faGVhZGVyLS1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZmZmZmIDAlLCAjZjlmYWZiIDU1JSwgI2ZmZjVmNyAxMDAlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzAsIDU4LCA5MCwgMC4xMik7XG59XG5cbi5jdXJyaWN1bHVtLWN2IC5jdXJyaWN1bHVtLWN2X19oZWFkZXItLWhlcm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2U2M2E1YSwgIzViNGE4ZiwgIzEwYjk4MSk7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW0gMXJlbSAwIDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9fc2lkZWJhci1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAxLjI1cmVtO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbi5jdXJyaWN1bHVtLWN2IC5jdXJyaWN1bHVtLWN2X19hZGRyZXNzLWxpbmVzIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1jdl9fZW1wdHktaGludCB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG59XG5cbi5jdXJyaWN1bHVtLWN2IC5jdXJyaWN1bHVtLXJlY29yZHMtc2hvdy0tcHVibGljIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xufVxuXG4uY3VycmljdWx1bS1jdiAuY3VycmljdWx1bS1yZWNvcmQtc2hvdy0tY2FyZCB7XG4gIHBhZGRpbmc6IDEuMXJlbSAxLjE1cmVtIDEuMTVyZW0gMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZjBmMztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZmZmZiAwJSwgI2ZhZmJmYyAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wNCk7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2U2M2E1YTtcbn1cblxuLmN1cnJpY3VsdW0tY3YgLmN1cnJpY3VsdW0tcmVjb3JkLXNob3ctLWNhcmQgLmN1cnJpY3VsdW0tcmVjb3JkLXNob3dfX2tpbmQge1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xufVxuXG4vKiBMaXN0YXMgZW0gY2FyZHMgKGN1cnLDrWN1bG8gLyBjb3JyZXNwb25kZW50ZSkgKi9cbi5wbGFucy1zZWN0aW9uLWNvcnJlc3BvbmRlbnRlIHVsLmxpc3Qtc2ltcGxlLFxuLnByb2ZpbGUtY2FyZCB1bC5saXN0LXNpbXBsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBsYW5zLXNlY3Rpb24tY29ycmVzcG9uZGVudGUgdWwubGlzdC1zaW1wbGUgbGksXG4ucHJvZmlsZS1jYXJkIHVsLmxpc3Qtc2ltcGxlIGxpIHtcbiAgcGFkZGluZzogMC4zNXJlbSAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YzZjRmNjtcbn1cblxuLnBsYW5zLXNlY3Rpb24tY29ycmVzcG9uZGVudGUgdWwubGlzdC1zaW1wbGUgbGk6bGFzdC1jaGlsZCxcbi5wcm9maWxlLWNhcmQgdWwubGlzdC1zaW1wbGUgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5wbGFucy1zZWN0aW9uLWNvcnJlc3BvbmRlbnRlIHVsLmxpc3QtY29sdW1ucyxcbi5wcm9maWxlLWNhcmQgdWwubGlzdC1jb2x1bW5zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBsYW5zLXNlY3Rpb24tY29ycmVzcG9uZGVudGUgdWwubGlzdC1jb2x1bW5zLFxuICAucHJvZmlsZS1jYXJkIHVsLmxpc3QtY29sdW1ucyB7XG4gICAgY29sdW1uczogMjtcbiAgICBjb2x1bW4tZ2FwOiAxLjI1cmVtO1xuICB9XG59XG4ucGxhbnMtc2VjdGlvbi1jb3JyZXNwb25kZW50ZSB1bC5saXN0LWNvbHVtbnMgbGksXG4ucHJvZmlsZS1jYXJkIHVsLmxpc3QtY29sdW1ucyBsaSB7XG4gIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxuLnBsYW5zLWhpbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIG1hcmdpbi1ib3R0b206IDQ2cHg7XG59XG5cbi5wbGFucy1oaW50IGEge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBsYW5zLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDI4cHg7XG59XG5cbi5wbGFuLWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiAzNHB4IDI4cHggMzZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5wbGFuLXRvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHggMjRweCAwIDA7XG59XG5cbi5wbGFuLWRpZ2l0YWwgLnBsYW4tdG9wIHtcbiAgYmFja2dyb3VuZDogIzdiMDAzYjtcbn1cblxuLnBsYW4tc3RhcnRlciAucGxhbi10b3Age1xuICBiYWNrZ3JvdW5kOiAjZTYzYTVhO1xufVxuXG4ucGxhbi1iYXNpYyAucGxhbi10b3Age1xuICBiYWNrZ3JvdW5kOiAjMWY4ZjYzO1xufVxuXG4ucGxhbi1wbHVzIC5wbGFuLXRvcCB7XG4gIGJhY2tncm91bmQ6ICM0MmFlZmE7XG59XG5cbi5wbGFuLWNhcmQgaDMge1xuICBtYXJnaW4tdG9wOiAyMnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuLnBsYW4tZGVzYyB7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDE0cHggMCAyMnB4O1xufVxuXG4ucGxhbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLnBsYW4tcHJpY2Uge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luOiAxMHB4IDAgMjJweDtcbn1cblxuLnBsYW4tcHJpY2Ugc21hbGwge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wbGFuLWJ0biB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeSk7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcGFkZGluZzogMTRweDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG59XG5cbi5sb2dpbi1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnkpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDE0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKm1hcmdpbi1ib3R0b206IDI2cHg7Ki9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTRVJWScOHT1MgRElTUE9Ow41WRUlTIOKAkyBDU1MgQ09NUExFVE9cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlcnZpY2VzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE2LCA1NiwgOTQpO1xuICBwYWRkaW5nOiA5MHB4IDA7XG59XG5cbi8qIEhFQURFUiAqL1xuLnNlcnZpY2VzLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA4MjBweDtcbiAgbWFyZ2luOiAwIGF1dG8gNTZweDtcbn1cblxuLnNlcnZpY2VzLWhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnNlcnZpY2VzLWhlYWRlciBwIHtcbiAgZm9udC1zaXplOiAxLjA1cmVtO1xuICBjb2xvcjogI2ZmZTRlYztcbn1cblxuLyogR1JJRCAqL1xuLnNlcnZpY2VzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDMycHg7XG59XG5cbi8qIENPTFVOQSAqL1xuLnNlcnZpY2VzLWNvbHVtbiB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDI2cHggMjJweDtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDI2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogTElTVEEgKi9cbi5zZXJ2aWNlcy1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2VydmljZXMtbGlzdCBsaSB7XG4gIHBhZGRpbmc6IDE0cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNlcnZpY2VzLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIMONQ09ORSBTRVRBICovXG4uc2VydmljZXMtbGlzdCBsaTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKAuuKAulwiO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiKDIxNiwgNTYsIDk0KTtcbn1cblxuLyogSE9WRVIgKi9cbi5zZXJ2aWNlcy1saXN0IGxpOmhvdmVyIHtcbiAgY29sb3I6IHJnYigyMTYsIDU2LCA5NCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSElHSExJR0hUIFNFQ1RJT04gQ09NIFbDjURFT1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGlnaGxpZ2h0LXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmNmU4O1xuICBwYWRkaW5nOiA5MHB4IDA7XG59XG5cbi5oaWdobGlnaHQtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4xZnIgMC45ZnI7XG4gIGdhcDogNjBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogVEVYVE8gKi9cbi5oaWdobGlnaHQtdGV4dCB7XG4gIG1heC13aWR0aDogNTYwcHg7XG59XG5cbi5oaWdobGlnaHQtZXllYnJvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM2YjcyODA7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG59XG5cbi5oaWdobGlnaHQtdGV4dCBoMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLmhpZ2hsaWdodC10ZXh0IHAge1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGNvbG9yOiAjNGI1NTYzO1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4vKiBWw41ERU8gKi9cbi5oaWdobGlnaHQtbWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTYwcHg7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cblxuLnZpZGVvLXdyYXBwZXIgaWZyYW1lLFxuLnZpZGVvLXdyYXBwZXIgdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVk9cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5oaWdobGlnaHQtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5oaWdobGlnaHQtdGV4dCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmhpZ2hsaWdodC1tZWRpYSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuLyogU0VBUkNIIOKAkyBDT1JSRVNQT05ERU5URVMgKi9cbnNlbGVjdC5zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzZiNzI4MCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTZweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTRweDtcbn1cblxuLnNlYXJjaC1ib3gge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICAvKm1heC13aWR0aDogOTAwcHg7Ki9cbn1cblxuLnNlYXJjaC1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU2cHg7XG4gIHBhZGRpbmc6IDAgNTZweCAwIDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4uc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4uc2VhcmNoLWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxNnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMzNzQxNTE7XG59XG5cbi5jb3JyZXNwb25kZW50ZS1wdWJsaWMtc2VhcmNoIC5zZWFyY2gtYm94LS1sZWFkaW5nLWljb24gLnNlYXJjaC1ib3hfX2xlYWRpbmctaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTtcbiAgY29sb3I6ICM5Y2EzYWY7XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jb3JyZXNwb25kZW50ZS1wdWJsaWMtc2VhcmNoIC5zZWFyY2gtaW5wdXQtLWxlYWRpbmctaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogNTJweDtcbiAgcGFkZGluZy1yaWdodDogMTI4cHg7XG59XG5cbi5jb3JyZXNwb25kZW50ZS1wdWJsaWMtc2VhcmNoIC5zZWFyY2gtYm94IC5zZWFyY2gtYnRuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMTE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTRweCAxNHB4IDA7XG4gIGJhY2tncm91bmQ6ICNlNWU3ZWI7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDAgMTZweDtcbn1cblxuLmNvcnJlc3BvbmRlbnRlLXB1YmxpYy1zZWFyY2ggLnNlYXJjaC1ib3ggLnNlYXJjaC1idG46aG92ZXIsXG4uY29ycmVzcG9uZGVudGUtcHVibGljLXNlYXJjaCAuc2VhcmNoLWJveCAuc2VhcmNoLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZDogI2QxZDVkYjtcbn1cblxuLmNvcnJlc3BvbmRlbnRlLXB1YmxpYy1zZWFyY2ggLnNlYXJjaC1ib3ggLnNlYXJjaC1idG46Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCByZ2JhKDEwNywgMTE0LCAxMjgsIDAuMzUpO1xufVxuXG4vKiBGaWx0cm8gbGF0ZXJhbCAvY29ycmVzcG9uZGVudGUg4oCUIGJvdMOjbyBjb21wYWN0bywgbWFyY2EgcmdiKDIxNiwgNTYsIDk0KSAqL1xuLmNvcnJlc3BvbmRlbnRlLXNpZGViYXItZmlsdGVycyAuY29ycmVzcG9uZGVudGUtZmlsdGVyc19fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGdhcDogMC41cmVtO1xufVxuXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19zdWJtaXQsXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19jbGVhciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwLjY1cmVtO1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZzogMC40cmVtIDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19jbGVhcjpvbmx5LWNoaWxkIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5jb3JyZXNwb25kZW50ZS1zaWRlYmFyLWZpbHRlcnMgLmNvcnJlc3BvbmRlbnRlLWZpbHRlcnNfX3N1Ym1pdCB7XG4gIC0tY29ycmVzcG9uZGVudGUtZmlsdGVyLWFjY2VudDogcmdiKDIxNiwgNTYsIDk0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29ycmVzcG9uZGVudGUtZmlsdGVyLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jb3JyZXNwb25kZW50ZS1maWx0ZXItYWNjZW50KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvcnJlc3BvbmRlbnRlLXNpZGViYXItZmlsdGVycyAuY29ycmVzcG9uZGVudGUtZmlsdGVyc19fc3VibWl0IGkge1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIG9wYWNpdHk6IDAuOTU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19zdWJtaXQ6aG92ZXIsXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19zdWJtaXQ6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb3JyZXNwb25kZW50ZS1maWx0ZXItYWNjZW50KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb3JyZXNwb25kZW50ZS1maWx0ZXItYWNjZW50KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTYsIDU2LCA5NCwgMC4wOCk7XG59XG5cbi5jb3JyZXNwb25kZW50ZS1zaWRlYmFyLWZpbHRlcnMgLmNvcnJlc3BvbmRlbnRlLWZpbHRlcnNfX3N1Ym1pdDpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjE2LCA1NiwgOTQsIDAuMjUpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19jbGVhciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGNvbG9yOiAjNGI1NTYzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb3JyZXNwb25kZW50ZS1zaWRlYmFyLWZpbHRlcnMgLmNvcnJlc3BvbmRlbnRlLWZpbHRlcnNfX2NsZWFyIGkge1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLmNvcnJlc3BvbmRlbnRlLXNpZGViYXItZmlsdGVycyAuY29ycmVzcG9uZGVudGUtZmlsdGVyc19fY2xlYXI6aG92ZXIsXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19jbGVhcjpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGJvcmRlci1jb2xvcjogI2QxZDVkYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTdlYjtcbn1cblxuLmNvcnJlc3BvbmRlbnRlLXNpZGViYXItZmlsdGVycyAuY29ycmVzcG9uZGVudGUtZmlsdGVyc19fY2xlYXI6aG92ZXIgaSxcbi5jb3JyZXNwb25kZW50ZS1zaWRlYmFyLWZpbHRlcnMgLmNvcnJlc3BvbmRlbnRlLWZpbHRlcnNfX2NsZWFyOmZvY3VzLXZpc2libGUgaSB7XG4gIGNvbG9yOiAjNGI1NTYzO1xufVxuXG4uY29ycmVzcG9uZGVudGUtc2lkZWJhci1maWx0ZXJzIC5jb3JyZXNwb25kZW50ZS1maWx0ZXJzX19jbGVhcjpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA3LCAxMTQsIDEyOCwgMC4yNSk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEZVTkRPIElHVUFMIEFPIEVYRU1QTE8gKi9cbi5zZXJ2aWNlcy1zZWN0aW9uIHtcbiAgcGFkZGluZzogODBweCAwO1xufVxuXG4uc2VydmljZXMtaGVhZGVyIGgyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5zZXJ2aWNlcy1oZWFkZXIgcCB7XG4gIGNvbG9yOiAjZTVlN2ViO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLyogQkFOTkVSIFJPVEFUSVZPIC0gL3ZhZ2FzICovXG4vKiBTb2JyZXNjcmV2ZSBvIGZ1bmRvIHJvc2EgZGUgLnNlcnZpY2VzLXNlY3Rpb24gc8OzIG5lc3RhIHDDoWdpbmEgKi9cbnNlY3Rpb24uc2VydmljZXMtc2VjdGlvbi52YWdhcy1iYW5uZXItc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiA1NnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbn1cblxuLnZhZ2FzLWJhbm5lci1yb3RhdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgxNywgMjQsIDM5LCAwLjIyKTtcbn1cblxuLnZhZ2FzLWJhbm5lci1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogdmFnYXMtYmFubmVyLXJvdGF0ZSAxOHMgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLnZhZ2FzLWJhbm5lci1zbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDE1LCAyMywgNDIsIDAuNzgpIDAlLCByZ2JhKDE1LCAyMywgNDIsIDAuNDUpIDQ1JSwgcmdiYSgxNSwgMjMsIDQyLCAwLjIpIDEwMCUpO1xufVxuXG4udmFnYXMtYmFubmVyLXNsaWRlLS0xIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1ODk4Mjk1NDU4NTYtZDEwZDU1N2NmOTVmP2F1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTYwMCZxPTgwXCIpO1xuICBhbmltYXRpb24tZGVsYXk6IDBzO1xufVxuXG4udmFnYXMtYmFubmVyLXNsaWRlLS0yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NTAxMDE0OTkxNjMtYzg4NDhjNjZjYTg1P2F1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTYwMCZxPTgwXCIpO1xuICBhbmltYXRpb24tZGVsYXk6IDZzO1xufVxuXG4udmFnYXMtYmFubmVyLXNsaWRlLS0zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0ODY0MDYxNDY5MjYtYzYyN2E5MmFkMWFiP2F1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTYwMCZxPTgwXCIpO1xuICBhbmltYXRpb24tZGVsYXk6IDEycztcbn1cblxuLnZhZ2FzLWJhbm5lci1vdmVybGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBtaW4oNjgwcHgsIDEwMCUpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjhweCAzNHB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnZhZ2FzLWJhbm5lci1vdmVybGF5IGgyIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjM1cmVtLCAyLjR2dywgMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG5cbi52YWdhcy1iYW5uZXItb3ZlcmxheSBwIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogcmdiYSgyMjksIDIzMSwgMjM1LCAwLjk1KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjk1cmVtLCAxLjV2dywgMS4xMnJlbSk7XG59XG5cbkBrZXlmcmFtZXMgdmFnYXMtYmFubmVyLXJvdGF0ZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDglIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDMwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAzOCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLyogUkVTUE9OU0lWTyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogNTJweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gIH1cbiAgLnNlcnZpY2VzLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gIH1cbiAgLnNlcnZpY2VzLWhlYWRlciBwIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbiAgLnZhZ2FzLWJhbm5lci1yb3RhdG9yIHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICB9XG4gIC52YWdhcy1iYW5uZXItb3ZlcmxheSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5oaWdobGlnaHQtdGV4dCBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGTFVYTyBWRVJUSUNBTFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZsb3ctdmVydGljYWwge1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZsb3ctc3RlcCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDMycHggMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uZmxvdy1pY29uIHtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogNjRweDtcbiAgbWFyZ2luOiAwIGF1dG8gMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTYzYTVhLCAjNWI0YThmKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI4cHg7XG59XG5cbi5mbG93LXN0ZXAgaDQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzExMTgyNztcbn1cblxuLmZsb3ctc3RlcCBwIHtcbiAgY29sb3I6ICM0YjU1NjM7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLmZsb3ctbGluZSB7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2U2M2E1YSwgdHJhbnNwYXJlbnQpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogUkVTUE9OU0lWTyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5mbG93LXN0ZXAge1xuICAgIHBhZGRpbmc6IDI0cHggMTZweDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVElNRUxJTkUgQkFTRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZsb3ctdGltZWxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogODYwcHg7XG4gIG1hcmdpbjogODBweCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG5cbi8qIExJTkhBIENFTlRSQUwgQU5JTUFEQSAqL1xuLmZsb3ctdGltZWxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlNjNhNWEgMHB4LCAjZTYzYTVhIDZweCwgdHJhbnNwYXJlbnQgNnB4LCB0cmFuc3BhcmVudCAxNHB4KTtcbiAgYW5pbWF0aW9uOiBmbG93TW92ZSAxLjJzIGxpbmVhciBpbmZpbml0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5Aa2V5ZnJhbWVzIGZsb3dNb3ZlIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB9XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDIwcHg7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElURU1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mbG93LWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG59XG5cbi5mbG93LWl0ZW0ubGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZmxvdy1pdGVtLnJpZ2h0IHtcbiAgbGVmdDogNTAlO1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENBSVhBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZmxvdy1zdGVwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDI2MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAxOHB4IDIwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiDDjUNPTkUgKi9cbi5mbG93LWljb24ge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlNjNhNWEsICM1YjRhOGYpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLyogVEVYVE8gKi9cbi5mbG93LXN0ZXAgaDUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6ICMxMTE4Mjc7XG59XG5cbi5mbG93LXN0ZXAgcCB7XG4gIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgY29sb3I6ICM0YjU1NjM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTkVDVE9SIEVOVFJFIENBSVhBU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZsb3ctaXRlbTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjhweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYmFja2dyb3VuZDogI2U2M2E1YTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiAyO1xuICBib3gtc2hhZG93OiAwIDAgMCA2cHggcmdiYSgyMzAsIDU4LCA5MCwgMC4xNSk7XG59XG5cbi5mbG93LWl0ZW0ubGVmdDo6YWZ0ZXIge1xuICByaWdodDogLTdweDtcbn1cblxuLmZsb3ctaXRlbS5yaWdodDo6YWZ0ZXIge1xuICBsZWZ0OiAtN3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNT0JJTEVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZmxvdy10aW1lbGluZTo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNHB4O1xuICB9XG4gIC5mbG93LWl0ZW0sXG4gIC5mbG93LWl0ZW0ubGVmdCxcbiAgLmZsb3ctaXRlbS5yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5mbG93LWl0ZW06OmFmdGVyIHtcbiAgICBsZWZ0OiA3cHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkVTUE9OU0lWT1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIC5zZXJ2aWNlcy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNlcnZpY2VzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDcwcHggMDtcbiAgfVxuICAuc2VydmljZXMtaGVhZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgLnNlcnZpY2VzLWhlYWRlciBwIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbiAgLnNlcnZpY2VzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG4gIC5zZXJ2aWNlcy1jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDIycHggMjBweDtcbiAgfVxuICAuc2VydmljZXMtbGlzdCBsaSB7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgLnNlcnZpY2VzLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gIH1cbiAgLnNlcnZpY2VzLWhlYWRlciBwIHtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRkxVWE8gQ1VSUsONQ1VMTyDigJMgR1JJRCAyIFBPUiBMSU5IQSBDT00gQ8ONUkNVTE8gQU5JTUFET1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY3VycmljdWxvLWluZm8ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG4uZmxvdy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgZ2FwOiAzMnB4O1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZsb3ctY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogMzZweCAyOHB4IDMycHg7XG4gIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2UsIGJveC1zaGFkb3cgMC4yNXMgZWFzZTtcbn1cblxuLmZsb3ctY2FyZDpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDQ0cHggcmdiYSgwLCAwLCAwLCAwLjE0KTtcbn1cblxuLyogQ8ONUkNVTE8gTlVNRVJBRE8gKi9cbi5mbG93LWNpcmNsZSB7XG4gIHdpZHRoOiA1NnB4O1xuICBoZWlnaHQ6IDU2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzE2YTM0YSwgIzE2NjUzNCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvIDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLyogQU5JTUHDh8ODTyBERSBQVUxTTyAqL1xuLmZsb3ctY2lyY2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IC04cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMiwgMTYzLCA3NCwgMC4yNSk7XG4gIGFuaW1hdGlvbjogcHVsc2UgMi40cyBlYXNlLW91dCBpbmZpbml0ZTtcbiAgei1pbmRleDogLTE7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5mbG93LWNhcmQgaDUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzExMTgyNztcbn1cblxuLmZsb3ctY2FyZCBwIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBjb2xvcjogIzRiNTU2MztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogQU5JTUHDh8ODTyBBTyBBUEFSRUNFUiAoSlMpICovXG4uZmxvdy1jYXJkLmlzLXZpc2libGUge1xuICBhbmltYXRpb246IGZhZGVVcCAwLjZzIGVhc2UgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZmFkZVVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjRweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4vKiBSRVNQT05TSVZPICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmZsb3ctZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTElOSEFTIElOVEVSTElHQURBUyDigJMgRkxVWE8gQ1VSUsONQ1VMTyAoQU5JTUFEQVMpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mbG93LWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIExJTkhBIEhPUklaT05UQUwgRU5UUkUgQ0FSRFMgREEgTUVTTUEgTElOSEEgKi9cbi5mbG93LWNhcmQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ0cHg7XG4gIHJpZ2h0OiAtMzJweDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMTZhMzRhIDBweCwgIzE2YTM0YSA2cHgsIHRyYW5zcGFyZW50IDZweCwgdHJhbnNwYXJlbnQgMTRweCk7XG4gIGFuaW1hdGlvbjogbGluZU1vdmVYIDEuMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKiBSRU1PVkUgTElOSEEgRE8gQ0FSRCBEQSBESVJFSVRBICovXG4uZmxvdy1jYXJkOm50aC1jaGlsZCgybik6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTElOSEEgVkVSVElDQUwgRU5UUkUgTElOSEFTICovXG4uZmxvdy1jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMycHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMTZhMzRhIDBweCwgIzE2YTM0YSA2cHgsIHRyYW5zcGFyZW50IDZweCwgdHJhbnNwYXJlbnQgMTRweCk7XG4gIGFuaW1hdGlvbjogbGluZU1vdmVZIDEuMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKiBSRU1PVkUgTElOSEEgVkVSVElDQUwgRE9TIMOaTFRJTU9TIERPSVMgKi9cbi5mbG93LWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMik6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFOSU1Bw4fDlUVTICovXG5Aa2V5ZnJhbWVzIGxpbmVNb3ZlWCB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpbmVNb3ZlWSB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyMHB4O1xuICB9XG59XG4vKiBSRVNQT05TSVZPIOKAkyBSRU1PVkUgTElOSEFTIE5PIE1PQklMRSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5mbG93LWNhcmQ6OmFmdGVyLFxuICAuZmxvdy1jYXJkOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRBQkVMQSBQRVJTT05BTElaQURBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGFibGUtY3VzdG9tIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDAgMTJweDsgLyogZXNwYcOnbyBlbnRyZSBsaW5oYXMgKi9cbn1cblxuLnRhYmxlLWN1c3RvbSB0aGVhZCB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDE0cHggMTZweDtcbn1cblxuLnRhYmxlLWN1c3RvbSB0Ym9keSB0ciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLnRhYmxlLWN1c3RvbSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmYWZiO1xufVxuXG4udGFibGUtY3VzdG9tIHRib2R5IHRyOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiAwIDhweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnRhYmxlLWN1c3RvbSB0ZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMThweCAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb2xvcjogIzExMTgyNztcbn1cblxuLnRhYmxlLWN1c3RvbSB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEycHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEycHg7XG59XG5cbi50YWJsZS1jdXN0b20gdGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTJweDtcbn1cblxuLyogQXZhdGFyICovXG4udGFibGUtY3VzdG9tIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4vKiBIb21lIOKAlCB0YWJlbGEgZGUgdmFnYXM6IGJvdMO1ZXMgcm9zYSBkYSBtYXJjYSwgdGFtYW5obyBjb25mb3J0w6F2ZWwsIHJhaW8gYWxpbmhhZG8gYW8gY2FyZCAoMTJweCkgKi9cbi50YWJsZS1jdXN0b20gLmJ0bi1wcmltYXJ5LFxuLnRhYmxlLWN1c3RvbSAuYnRuLmJ0bi1zbS5idG4tcHJpbWFyeSB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeSk7XG4gIHBhZGRpbmc6IDAuNHJlbSAxcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udGFibGUtY3VzdG9tIC5idG4tcHJpbWFyeTpob3Zlcixcbi50YWJsZS1jdXN0b20gLmJ0bi5idG4tc20uYnRuLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzcyZjRiO1xuICBib3JkZXItY29sb3I6ICNjNzJmNGI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiAvY29ycmVzcG9uZGVudGUgLSBsaW1pdGVzIGRlIHRleHRvIHBvciBsaW5oYSBuYSB0YWJlbGEgKi9cbi5wbGFucy1zZWN0aW9uLWNvcnJlc3BvbmRlbnRlIC5jb3JyZXNwb25kZW50ZS10YWJsZV9fbG9jYXRpb24sXG4ucGxhbnMtc2VjdGlvbi1jb3JyZXNwb25kZW50ZSAuY29ycmVzcG9uZGVudGUtdGFibGVfX2F0dWFjYW8ge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5wbGFucy1zZWN0aW9uLWNvcnJlc3BvbmRlbnRlIC5jb3JyZXNwb25kZW50ZS10YWJsZV9fbG9jYXRpb24ge1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIGxpbmUtY2xhbXA6IDI7XG59XG5cbi5wbGFucy1zZWN0aW9uLWNvcnJlc3BvbmRlbnRlIC5jb3JyZXNwb25kZW50ZS10YWJsZV9fYXR1YWNhbyB7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgbGluZS1jbGFtcDogMjtcbn1cblxuLyogI2pvYiAoYnVzY2EgKyB0YWJlbGEgbmEgaG9tZSk6IG1lc21hIGNvciBkYSBtYXJjYSAqL1xuI2pvYiAuYnRuLXByaW1hcnkge1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4jam9iIC5idG4tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNzJmNGIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjYzcyZjRiICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbiNqb2IgLnNlYXJjaC1ib3ggLmJ0bi1wcmltYXJ5IHtcbiAgaGVpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDU2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuXG4vKiBGaWx0cm8g4oCcVmFnYXMganVyw61kaWNhc+KAnTogb2N1cGEgMTAwJSBkYSBsYXJndXJhIGRvIGNvbnRhaW5lciAoYm9yZGFzIGFsaW5oYWRhcyBhbyBjb250ZcO6ZG8pICovXG4jam9iIC5zZWFyY2gtYm94LS1qb2JzLWZpbHRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGdhcDogMTJweDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4jam9iIC5zZWFyY2gtYm94LS1qb2JzLWZpbHRlciAuc2VhcmNoLWJveC0tam9icy1maWx0ZXJfX3Ege1xuICBmbGV4OiAyIDEgMjAwcHg7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbiNqb2IgLnNlYXJjaC1ib3gtLWpvYnMtZmlsdGVyIC5zZWFyY2gtYm94LS1qb2JzLWZpbHRlcl9fc2VsZWN0IHtcbiAgZmxleDogMSAxIDE2MHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbiNqb2IgLnNlYXJjaC1ib3gtLWpvYnMtZmlsdGVyIC5zZWFyY2gtYm94LS1qb2JzLWZpbHRlcl9fc3VibWl0IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbiNqb2IgLnNlYXJjaC1ib3gtLWpvYnMtZmlsdGVyIC5zZWFyY2gtYm94LS1qb2JzLWZpbHRlcl9fY2xlYXIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNTZweDtcbiAgbWluLXdpZHRoOiA1NnB4O1xuICBoZWlnaHQ6IDU2cHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogNTZweDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzljYTNhZjtcbiAgY29sb3I6ICM5Y2EzYWY7XG59XG5cbiNqb2IgLnNlYXJjaC1ib3gtLWpvYnMtZmlsdGVyIC5zZWFyY2gtYm94LS1qb2JzLWZpbHRlcl9fY2xlYXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NiwgMTYzLCAxNzUsIDAuMTIpO1xuICBib3JkZXItY29sb3I6ICM5Y2EzYWY7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4vKiBQw6FnaW5hIGRhIHZhZ2E6IHByaW3DoXJpbyArIG91dGxpbmUgZW0gYXp1bCwgY29tcGFjdG9zIG5vcyDigJxWZXIgdmFnYeKAnSAqL1xuLmpvYi1zaG93LXBhZ2UgLmJ0bi1wcmltYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1NjNlYiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjU2M2ViICFpbXBvcnRhbnQ7XG59XG5cbi5qb2Itc2hvdy1wYWdlIC5idG4tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDRlZDggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMWQ0ZWQ4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5qb2Itc2hvdy1wYWdlIC5idG4tbGcuYnRuLXByaW1hcnkge1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuXG4uam9iLXNob3ctcGFnZSAuYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjZyZW07XG4gIGNvbG9yOiAjMjU2M2ViICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzI1NjNlYiAhaW1wb3J0YW50O1xufVxuXG4uam9iLXNob3ctcGFnZSAuYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTYzZWIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMjU2M2ViICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZhZ2FzIHNlbWVsaGFudGVzOiBjYXJyb3NzZWwgKHNlbSBiYXJyYSBkZSByb2xhZ2VtKSwgc2V0YXMgbmFzIGxhdGVyYWlzICovXG4uam9iLXJlbGF0ZWQtY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMi43NXJlbTtcbn1cblxuLmpvYi1yZWxhdGVkLWNhcm91c2VsX192aWV3cG9ydCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uam9iLXJlbGF0ZWQtY2Fyb3VzZWxfX3RyYWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGdhcDogMXJlbTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgLyogbGFyZ3VyYSBkZSBjYWRhIGl0ZW0gdmVtIGRvIEpTOiAzIHBvciBsaW5oYSBuYSB2aWV3cG9ydCAqL1xufVxuXG4uam9iLXJlbGF0ZWQtY2Fyb3VzZWxfX2l0ZW0ge1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAwLjE1cmVtO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5qb2ItcmVsYXRlZC1jYXJvdXNlbF9fY2FyZC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmpvYi1yZWxhdGVkLWNhcm91c2VsX19hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogNDtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM3LCA5OSwgMjM1LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzI1NjNlYjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uam9iLXJlbGF0ZWQtY2Fyb3VzZWxfX2Fycm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzI1NjNlYjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogIzI1NjNlYjtcbn1cblxuLmpvYi1yZWxhdGVkLWNhcm91c2VsX19hcnJvdy0tcHJldiB7XG4gIGxlZnQ6IDA7XG59XG5cbi5qb2ItcmVsYXRlZC1jYXJvdXNlbF9fYXJyb3ctLW5leHQge1xuICByaWdodDogMDtcbn1cblxuLmpvYi1yZWxhdGVkLWNhcm91c2VsLmpvYi1yZWxhdGVkLWNhcm91c2VsLS1zaW5nbGUgLmpvYi1yZWxhdGVkLWNhcm91c2VsX19hcnJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAuam9iLXJlbGF0ZWQtY2Fyb3VzZWwge1xuICAgIHBhZGRpbmc6IDAgMi4yNXJlbTtcbiAgfVxuICAuam9iLXJlbGF0ZWQtY2Fyb3VzZWxfX2Fycm93IHtcbiAgICB3aWR0aDogMi4xMjVyZW07XG4gICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgfVxufVxuLnRleHQtb2FiIHtcbiAgY29sb3I6ICNlNjNhNWE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjMwLCA1OCwgOTAsIDAuMSk7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBSZXNwb25zaXZvICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRhYmxlLWN1c3RvbSB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGFibGUtY3VzdG9tIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG4gIC50YWJsZS1jdXN0b20gdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xuICB9XG59XG4vKiBSRVNQT05TSVZPICovXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLnNlcnZpY2VzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZPT1RFUlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzExMTgyNztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjZweCAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZPXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlcm8taW1hZ2Uge1xuICAgIG1heC1oZWlnaHQ6IDU2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIC5oZXJvLW1haW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuaGVyby1zdWIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuaGVyby1jYXJkcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmhlcm8tcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5oZXJvLWltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiA0MjBweDtcbiAgfVxuICAucGxhbnMtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGVyby1pbWFnZSB7XG4gICAgbWF4LWhlaWdodDogMzYwcHg7XG4gIH1cbiAgLmhlcm8tbGVmdCBoMSB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gIH1cbiAgLmhlcm8tc3ViIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbi8qIE1vYmlsZTogaW1hZ2VtIGNlbnRyYWxpemFkYTsgY2FyZHMgQ29ycmVzcG9uZGVudGUgKyBWYWdhcyBlbSBsaW5oYSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC5oZXJvLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuaGVyby1jYXJkcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMCAwIDcycHg7XG4gIH1cbiAgLmhlcm8tY2FyZCB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nOiAxNHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgfVxuICAuaGVyby1jYXJkIGgzIHtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB9XG4gIC5oZXJvLWNhcmQgcCB7XG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmhlcm8tY2FyZCAuZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogOXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuaGVyby1sZWZ0IGgxIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxuICAuaGVyby1pbWFnZSB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gIH1cbiAgLnBsYW5zLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENBREFTVFJPIChzaWduIHVwKSDigJQgYWxpbmhhZG8gYW8gcG9ydGFsXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFZhbGlkYcOnw6NvOiBib3JkYSB2ZXJtZWxoYSBubyBpbnB1dCArIHRleHRvIGRlIGVycm8gZW0gdmVybWVsaG8gKEJvb3RzdHJhcCAvIFNpbXBsZSBGb3JtKSAqL1xuLnNpZ251cC1jYXJkIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCxcbi5zaWdudXAtY2FyZCAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZCxcbi5zaWdudXAtZGV2aXNlLWZvcm0gLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkLFxuLnNpZ251cC1kZXZpc2UtZm9ybSAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZCxcbi5zaWdudXAtZGV2aXNlLWZvcm0gLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYzM1NDUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5zaWdudXAtY2FyZCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMsXG4uc2lnbnVwLWNhcmQgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMsXG4uc2lnbnVwLWRldmlzZS1mb3JtIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cyxcbi5zaWdudXAtZGV2aXNlLWZvcm0gLmZvcm0tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMsXG4uc2lnbnVwLWRldmlzZS1mb3JtIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjIpO1xufVxuXG4uc2lnbnVwLWNhcmQgLmludmFsaWQtZmVlZGJhY2ssXG4uc2lnbnVwLWRldmlzZS1mb3JtIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjM1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xufVxuXG4vKiBhc3RlcmlzY28gLyDigJxyZXF1aXJlZOKAnSBubyByw7N0dWxvIChTaW1wbGUgRm9ybSkgKi9cbi5zaWdudXAtY2FyZCAuZm9ybS1sYWJlbCBhYmJyLFxuLnNpZ251cC1kZXZpc2UtZm9ybSAuZm9ybS1sYWJlbCBhYmJyIHtcbiAgY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBMb2dpbiAvIG91dHJhcyB0ZWxhcyBEZXZpc2Ugbm8gbGF5b3V0IGBsb2dpbmAgKGNhcnJlZ2EgYGFwcGxpY2F0aW9uLmNzc2ApICovXG4uYXV0aGVudGljYXRpb24taW5uZXIgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkLFxuLmF1dGhlbnRpY2F0aW9uLWlubmVyIC5mb3JtLXNlbGVjdC5pcy1pbnZhbGlkLFxuLmF1dGhlbnRpY2F0aW9uLWlubmVyIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xufVxuXG4uYXV0aGVudGljYXRpb24taW5uZXIgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkOmZvY3VzLFxuLmF1dGhlbnRpY2F0aW9uLWlubmVyIC5mb3JtLXNlbGVjdC5pcy1pbnZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjIyKTtcbn1cblxuLmF1dGhlbnRpY2F0aW9uLWlubmVyIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5hdXRoZW50aWNhdGlvbi1pbm5lciAuZm9ybS1sYWJlbCBhYmJyIHtcbiAgY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBMb2dpbiAvIHJlY3VwZXJhw6fDo28g4oCUIERldmlzZSAobGF5b3V0cy9sb2dpbi9hcHBsaWNhdGlvbikgKi9cbi5hdXRoLWxvZ2luLWNvbHVtbiB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXV0aC1sb2dpbi1jb2x1bW4ge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIH1cbn1cbi5hdXRoLWxvZ2luLXBhZ2UgLmF1dGgtbG9naW4taGVhZGVyIGgxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGNvbG9yOiAjNTY2YTdmO1xufVxuXG4uYXV0aC1sb2dpbi1mb3JtIC5mb3JtLWNvbnRyb2wtbGcge1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG59XG5cbi5hdXRoLWxvZ2luLWZvcm0gLmJ0bi1sZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbn1cblxuLmF1dGgtbG9naW4tZm9vdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY3LCA4OSwgMTEzLCAwLjEyKSAhaW1wb3J0YW50O1xufVxuXG4uc2lnbnVwLXBhZ2Uge1xuICBtaW4taGVpZ2h0OiA3MnZoO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbn1cblxuLnNpZ251cC1oZXJvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBtYXJnaW46IDAgYXV0byAycmVtO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cblxuLnNpZ251cC1oZXJvIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA0dncsIDNyZW0pO1xuICBmb250LXdlaWdodDogOTAwO1xuICBjb2xvcjogdmFyKC0tcGluay1kYXJrKTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5cbi5zaWdudXAtaGVybyAuc2lnbnVwLWxlYWQge1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICBtYXJnaW46IDA7XG59XG5cbi5zaWdudXAtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNhcmQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiAycmVtIDJyZW0gMi4yNXJlbTtcbiAgYm94LXNoYWRvdzogMCAyNXB4IDcwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAuc2lnbnVwLWNhcmQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjI1cmVtO1xuICB9XG59XG4uc2lnbnVwLXNlY3Rpb24tbGFiZWwge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1waW5rLWRhcmspO1xuICBtYXJnaW46IDEuNzVyZW0gMCAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG59XG5cbi5zaWdudXAtc2VjdGlvbi1sYWJlbDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogV2l6YXJkIHBvciBldGFwYXMgKGNhZGFzdHJvKSAqL1xuLnNpZ251cC13aXphcmQtcHJvZ3Jlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5zaWdudXAtd2l6YXJkLW1ldGEge1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gIG1hcmdpbi1ib3R0b206IDAuMzVyZW07XG59XG5cbi5zaWdudXAtd2l6YXJkLWhlYWRpbmcge1xuICBmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgM3Z3LCAxLjQ1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6IHZhcigtLXBpbmstZGFyayk7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLnNpZ251cC13aXphcmQtdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC40cmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5zaWdudXAtd2l6YXJkLXRyYWNrLWl0ZW0ge1xuICBmb250LXNpemU6IDAuNjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHBhZGRpbmc6IDAuMzhyZW0gMC43cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgY29sb3I6IHZhcigtLW11dGVkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNpZ251cC13aXphcmQtdHJhY2staXRlbSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXgtd2lkdGg6IDEycmVtO1xufVxuXG4uc2lnbnVwLXdpemFyZC10cmFjay1pdGVtLS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmNGVlO1xuICBjb2xvcjogdmFyKC0tcGluay1kYXJrKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1waW5rKTtcbn1cblxuLnNpZ251cC13aXphcmQtdHJhY2staXRlbS0tZG9uZSB7XG4gIGJhY2tncm91bmQ6ICNlY2ZkZjU7XG4gIGNvbG9yOiAjMDQ3ODU3O1xuICBib3JkZXItY29sb3I6ICNhN2YzZDA7XG59XG5cbi5zaWdudXAtZGV2aXNlLWZvcm0uc2lnbnVwLXdpemFyZC0tcmVhZHkgLnNpZ251cC1zZWN0aW9uLWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogU8OzIGEgZXRhcGEgYXRpdmEgYXBhcmVjZS4gTsOjbyB1c2FyIG8gYXRyaWJ1dG8gW2hpZGRlbl0gbm8gSlM6IGNhbXBvcyBlbSBldGFwYXMgb2N1bHRhcyBwb2RlbVxuICAgc2VyIG9taXRpZG9zIG5vIGVudmlvIGRvIGZvcm11bMOhcmlvIG91IGlnbm9yYWRvcyBuYSB2YWxpZGHDp8OjbyBlbSBhbGd1bnMgbmF2ZWdhZG9yZXMuICovXG4uc2lnbnVwLWRldmlzZS1mb3JtLnNpZ251cC13aXphcmQtLXJlYWR5Om5vdCguc2lnbnVwLXdpemFyZC0taGFzLWVycm9ycykgLnNpZ251cC1zdGVwOm5vdCguc2lnbnVwLXN0ZXAtLWFjdGl2ZSkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFww7NzIGVycm8gZGUgdmFsaWRhw6fDo28gbm8gc2Vydmlkb3I6IHRvZGFzIGFzIGV0YXBhcyB2aXPDrXZlaXMgcGFyYSBvIHVzdcOhcmlvIHZlciBvIHF1ZSBqw6EgZW52aW91ICovXG4uc2lnbnVwLWRldmlzZS1mb3JtLnNpZ251cC13aXphcmQtLXJlYWR5LnNpZ251cC13aXphcmQtLWhhcy1lcnJvcnMgLnNpZ251cC1zZWN0aW9uLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnNpZ251cC1kZXZpc2UtZm9ybS5zaWdudXAtd2l6YXJkLS1yZWFkeS5zaWdudXAtd2l6YXJkLS1oYXMtZXJyb3JzIC5zaWdudXAtc3RlcCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xufVxuXG4uc2lnbnVwLWRldmlzZS1mb3JtLnNpZ251cC13aXphcmQtLXJlYWR5LnNpZ251cC13aXphcmQtLWhhcy1lcnJvcnMgLnNpZ251cC1zdGVwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBUdXJuc3RpbGUgZm9yYSBkYXMgZXRhcGFzIGNvbSBkaXNwbGF5Om5vbmUg4oCUIGZpY2EgYWJhaXhvIGRvIGJsb2NvIGRlIHBhc3Nvcywgc2VtcHJlIG1vbnTDoXZlbCBwZWxvIEpTIGRhIENsb3VkZmxhcmUgKi9cbi5zaWdudXAtdHVybnN0aWxlLW91dGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XG59XG5cbi5zaWdudXAtd2l6YXJkLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbn1cblxuLnNpZ251cC13aXphcmQtbmF2IC5zaWdudXAtd2l6YXJkLXByZXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlcik7XG4gIGNvbG9yOiAjMzc0MTUxO1xufVxuXG4uc2lnbnVwLXdpemFyZC1uYXYgLnNpZ251cC13aXphcmQtcHJldjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMWQ1ZGI7XG4gIGJvcmRlci1jb2xvcjogI2QxZDVkYjtcbiAgY29sb3I6ICMxZjI5Mzc7XG59XG5cbi5zaWdudXAtd2l6YXJkLW5hdiAuc2lnbnVwLXdpemFyZC1wcmV2OmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLXBpbmspO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzYsIDcyLCAxNTMsIDAuMjUpO1xufVxuXG4uc2lnbnVwLXdpemFyZC1uYXYtYWN0aW9ucyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNjVyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtaW4td2lkdGg6IG1pbigxMDAlLCAxNnJlbSk7XG59XG5cbi5zaWdudXAtd2l6YXJkLW5hdiAuc2lnbnVwLXdpemFyZC1uZXh0LFxuLnNpZ251cC13aXphcmQtbmF2IC5zaWdudXAtd2l6YXJkLXN1Ym1pdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnNpZ251cC13aXphcmQtbmF2LWFjdGlvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICB9XG4gIC5zaWdudXAtd2l6YXJkLW5hdiAuc2lnbnVwLXdpemFyZC1uZXh0LFxuICAuc2lnbnVwLXdpemFyZC1uYXYgLnNpZ251cC13aXphcmQtc3VibWl0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDEwcmVtO1xuICB9XG59XG4vKiBTZW0gSlM6IGZvcm11bMOhcmlvIMO6bmljbywgc2VtIGJhcnJhIGRlIGV0YXBhcyAqL1xuLnNpZ251cC1kZXZpc2UtZm9ybTpub3QoLnNpZ251cC13aXphcmQtLXJlYWR5KSAuc2lnbnVwLXdpemFyZC1wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNpZ251cC1kZXZpc2UtZm9ybTpub3QoLnNpZ251cC13aXphcmQtLXJlYWR5KSAuc2lnbnVwLXdpemFyZC1wcmV2LFxuLnNpZ251cC1kZXZpc2UtZm9ybTpub3QoLnNpZ251cC13aXphcmQtLXJlYWR5KSAuc2lnbnVwLXdpemFyZC1uZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2lnbnVwLWRldmlzZS1mb3JtOm5vdCguc2lnbnVwLXdpemFyZC0tcmVhZHkpIC5zaWdudXAtd2l6YXJkLW5hdi1hY3Rpb25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc2lnbnVwLWRldmlzZS1mb3JtOm5vdCguc2lnbnVwLXdpemFyZC0tcmVhZHkpIC5zaWdudXAtd2l6YXJkLXN1Ym1pdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lnbnVwLXRlcm0tcGFuZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBwYWRkaW5nOiAxLjFyZW0gMS4xNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uc2lnbnVwLXRlcm0tcGFuZWwgLmJ0bi10ZXJtLXJlYWQge1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGluayk7XG4gIGNvbG9yOiB2YXIoLS1waW5rLWRhcmspO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zaWdudXAtdGVybS1wYW5lbCAuYnRuLXRlcm0tcmVhZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpbmspO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNpZ251cC10ZXJtLWhpbnQge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6IHZhcigtLW11dGVkKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnNpZ251cC1tdXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLnNpZ251cC1jYXJkIC5mb3JtLXRleHQge1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uc2lnbnVwLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnNpZ251cC1mb290ZXItbGlua3Mge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnNpZ251cC1mb290ZXItbGlua3MgYSB7XG4gIGNvbG9yOiB2YXIoLS1waW5rLWRhcmspO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaWdudXAtZm9vdGVyLWxpbmtzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuI3JlZ2lzdHJvLXBvcnRhbC10ZXJtLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDM4cmVtO1xuICB3aWR0aDogbWluKDkydncsIDM4cmVtKTtcbiAgbWF4LWhlaWdodDogbWluKDkwdmgsIDcyMHB4KTtcbiAgYm94LXNoYWRvdzogMCAyNXB4IDgwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuI3JlZ2lzdHJvLXBvcnRhbC10ZXJtLWRpYWxvZzo6YmFja2Ryb3Age1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMxLCA0MSwgNTUsIDAuNDUpO1xufVxuXG4uc2lnbnVwLWRpYWxvZy1oZWFkIHtcbiAgcGFkZGluZzogMS4xcmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmY0ZWUgMCUsICNmZmQ2ZGYgMTAwJSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xufVxuXG4uc2lnbnVwLWRpYWxvZy1oZWFkIGgyIHtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogdmFyKC0tcGluay1kYXJrKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc2lnbnVwLWRpYWxvZy1ib2R5IHtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWF4LWhlaWdodDogNjV2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnNpZ251cC1kaWFsb2ctZm9vdCB7XG4gIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uc2lnbnVwLWRpYWxvZy1mb290IC5idG4tcHJpbWFyeSB7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBwYWRkaW5nOiAwLjU1cmVtIDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyogL2NvcnJlc3BvbmRlbnRlLzppZCDigJQgbW9kYWlzIOKAnFNvYnJl4oCdIC8gdGVybW9zIGFjaW1hIGRvIGNvbnRlw7pkbyBkYSBww6FnaW5hICovXG4ubW9kYWwuY29ycmVzcG9uZGVudGUtc2hvdy1tb2RhbCB7XG4gIHotaW5kZXg6IDEwNjA7XG59XG5cbi5jb3JyZXNwb25kZW50ZS1hYm91dC1yaWNoLXRleHQgLnRyaXgtY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY1O1xufVxuXG4uY29ycmVzcG9uZGVudGUtYWJvdXQtcmljaC10ZXh0IC50cml4LWNvbnRlbnQgOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBNb2RhbCBkbyB0ZXJtbyByZWdpc3Ryb192YWdhcyDigJQgdmlzdWFsIGNhbG1vIChib3JkYSBzdWF2ZSwgb3ZlcmxheSBsZXZlIGNvbSBibHVyKSAqL1xuI3JlZ2lzdHJvLXZhZ2FzLXRlcm0tZGlhbG9nLmNvbXBhbnktdGVybS1kaWFsb2csXG4jcmVnaXN0cm8tY29ycmVzcG9uZGVudGVzLXRlcm0tZGlhbG9nLmNvbXBhbnktdGVybS1kaWFsb2cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogNDByZW07XG4gIHdpZHRoOiBtaW4oOTR2dywgNDByZW0pO1xuICBtYXgtaGVpZ2h0OiBtaW4oODh2aCwgNjgwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDE1LCAyMywgNDIsIDAuMDYpLCAwIDI0cHggNDhweCAtMTJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzMzNDE1NTtcbn1cblxuI3JlZ2lzdHJvLXZhZ2FzLXRlcm0tZGlhbG9nLmNvbXBhbnktdGVybS1kaWFsb2c6OmJhY2tkcm9wLFxuI3JlZ2lzdHJvLWNvcnJlc3BvbmRlbnRlcy10ZXJtLWRpYWxvZy5jb21wYW55LXRlcm0tZGlhbG9nOjpiYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC4yOCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbi5jb21wYW55LXRlcm0tZGlhbG9nX19oZWFkZXIge1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuMzVyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZhZmJmYyAwJSwgI2Y0ZjZmOCAxMDAlKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC45KTtcbn1cblxuLmNvbXBhbnktdGVybS1kaWFsb2dfX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBjb2xvcjogIzFlMjkzYjtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG5cbi5jb21wYW55LXRlcm0tZGlhbG9nX19ib2R5IHtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjM1cmVtO1xuICBtYXgtaGVpZ2h0OiBtaW4oNTJ2aCwgNDIwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gIGNvbG9yOiAjNDc1NTY5O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5jb21wYW55LXRlcm0tZGlhbG9nX19ib2R5LnRyaXgtY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuXG4uY29tcGFueS10ZXJtLWRpYWxvZ19fYm9keS50cml4LWNvbnRlbnQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5jb21wYW55LXRlcm0tZGlhbG9nX19ib2R5LnRyaXgtY29udGVudCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29tcGFueS10ZXJtLWRpYWxvZ19fZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuOXJlbSAxLjM1cmVtIDEuMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZhZmJmYztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC44NSk7XG59XG5cbi5jb21wYW55LXRlcm0tZGlhbG9nX19jbG9zZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjE1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6ICM0NzU1NjkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5jb21wYW55LXRlcm0tZGlhbG9nX19jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOGZhZmMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDEwMCwgMTE2LCAxMzksIDAuMzUpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMWUyOTNiICFpbXBvcnRhbnQ7XG59XG5cbi5jb21wYW55LXRlcm0tZGlhbG9nX19jbG9zZTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjQ1KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogQmxvY28gZG8gZm9ybXVsw6FyaW86IGJvdMOjbyDigJxMZXIgdGVybW/igJ0gbWFpcyBkaXNjcmV0byAqL1xuLmNvbXBhbnktcmVnaXN0cm8tdmFnYXMtdGVybXMgLmJ0bltkYXRhLW9wZW4tcmVnaXN0cm8tdmFnYXMtZGlhbG9nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjU1KTtcbiAgY29sb3I6ICM0NzU1Njk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5jb21wYW55LXJlZ2lzdHJvLXZhZ2FzLXRlcm1zIC5idG5bZGF0YS1vcGVuLXJlZ2lzdHJvLXZhZ2FzLWRpYWxvZ106aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTAwLCAxMTYsIDEzOSwgMC40KTtcbiAgY29sb3I6ICMxZTI5M2I7XG59XG5cbi5jb21wYW55LXJlZ2lzdHJvLWNvcnJlc3BvbmRlbnRlcy10ZXJtcyAuYnRuW2RhdGEtb3Blbi1yZWdpc3Ryby1jb3JyZXNwb25kZW50ZXMtZGlhbG9nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjU1KTtcbiAgY29sb3I6ICM0NzU1Njk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5jb21wYW55LXJlZ2lzdHJvLWNvcnJlc3BvbmRlbnRlcy10ZXJtcyAuYnRuW2RhdGEtb3Blbi1yZWdpc3Ryby1jb3JyZXNwb25kZW50ZXMtZGlhbG9nXTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjQpO1xuICBjb2xvcjogIzFlMjkzYjtcbn1cbiJdfQ== */